@coveo/atomic 3.51.0 → 3.52.1

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 (342) hide show
  1. package/custom-elements.json +950 -828
  2. package/dist/atomic/_atomic.esm.js +1 -1
  3. package/dist/atomic/atomic.esm.js.map +1 -1
  4. package/dist/atomic/components/_index.d.ts +0 -8
  5. package/dist/atomic/components/_index.js +97 -25
  6. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +2 -2
  7. package/dist/atomic/components/components/common/atomic-facet-date-input/atomic-facet-date-input.js +1 -0
  8. package/dist/atomic/components/components/common/facets/timeframe-facet-common.js +1 -0
  9. package/dist/atomic/components/components/common/generated-answer/atomic-answer-content/atomic-answer-content.js +180 -0
  10. package/dist/atomic/components/components/common/generated-answer/atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.js +155 -0
  11. package/dist/atomic/components/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.js +165 -0
  12. package/dist/atomic/components/components/common/generated-answer/render-agent-generation-steps.js +34 -0
  13. package/dist/atomic/components/components/common/generated-answer/render-answer-content.js +7 -19
  14. package/dist/atomic/components/components/common/generated-answer/render-follow-up-input.js +66 -0
  15. package/dist/atomic/components/components/common/generated-answer/styles/generated-answer.tw.css.js +1 -1
  16. package/dist/atomic/components/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.js +7 -3
  17. package/dist/atomic/components/components/insight/atomic-insight-result-action/atomic-insight-result-action.js +169 -0
  18. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +3 -2
  19. package/dist/atomic/components/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.js +79 -0
  20. package/dist/atomic/components/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js +267 -0
  21. package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.js +1 -1
  22. package/dist/atomic/components/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js +1 -1
  23. package/dist/atomic/components/components/insight/index.js +3 -0
  24. package/dist/atomic/components/components/insight/lazy-index.js +3 -0
  25. package/dist/atomic/components/components/search/atomic-external/atomic-external.js +1 -1
  26. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +108 -15
  27. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +2 -2
  28. package/dist/atomic/components/decorators/bindings.js +1 -1
  29. package/dist/atomic/components/global/environment.js +1 -1
  30. package/dist/atomic/components/index.js.map +1 -1
  31. package/dist/atomic/components/mixins/bindings-mixin.js +1 -1
  32. package/dist/atomic/components/utils/custom-element-tags.js +6 -2
  33. package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -2
  34. package/dist/atomic/index.esm.js +1 -1
  35. package/dist/atomic/index.esm.js.map +1 -1
  36. package/dist/atomic/lang/cs.json +1 -1
  37. package/dist/atomic/lang/da.json +1 -1
  38. package/dist/atomic/lang/de.json +1 -1
  39. package/dist/atomic/lang/dev.json +1 -1
  40. package/dist/atomic/lang/el.json +1 -1
  41. package/dist/atomic/lang/en.json +1 -1
  42. package/dist/atomic/lang/es.json +1 -1
  43. package/dist/atomic/lang/fi.json +1 -1
  44. package/dist/atomic/lang/fr.json +1 -1
  45. package/dist/atomic/lang/hu.json +1 -1
  46. package/dist/atomic/lang/id.json +1 -1
  47. package/dist/atomic/lang/it.json +1 -1
  48. package/dist/atomic/lang/ja.json +1 -1
  49. package/dist/atomic/lang/ko.json +1 -1
  50. package/dist/atomic/lang/nl.json +1 -1
  51. package/dist/atomic/lang/no.json +1 -1
  52. package/dist/atomic/lang/pl.json +1 -1
  53. package/dist/atomic/lang/pt-BR.json +1 -1
  54. package/dist/atomic/lang/pt.json +1 -1
  55. package/dist/atomic/lang/ru.json +1 -1
  56. package/dist/atomic/lang/sv.json +1 -1
  57. package/dist/atomic/lang/th.json +1 -1
  58. package/dist/atomic/lang/tr.json +1 -1
  59. package/dist/atomic/lang/zh-CN.json +1 -1
  60. package/dist/atomic/lang/zh-TW.json +1 -1
  61. package/dist/atomic/lang/zh.json +1 -1
  62. package/dist/atomic/p-998f7983.js +3 -0
  63. package/dist/atomic/p-998f7983.js.map +1 -0
  64. package/dist/cjs/_index.cjs.js +110 -28
  65. package/dist/cjs/_loader.cjs.js +3 -4
  66. package/dist/cjs/app-globals-18f43c37.js +506 -0
  67. package/dist/cjs/app-globals-18f43c37.js.map +1 -0
  68. package/dist/cjs/atomic.cjs.js +4 -5
  69. package/dist/cjs/atomic.cjs.js.map +1 -1
  70. package/dist/cjs/index.cjs.js.map +1 -1
  71. package/dist/cjs/loader.cjs.js.map +1 -1
  72. package/dist/cjs/version.cjs.js +2 -2
  73. package/dist/esm/_index.js +97 -23
  74. package/dist/esm/_loader.js +3 -4
  75. package/dist/esm/app-globals-c5b073da.js +481 -0
  76. package/dist/esm/app-globals-c5b073da.js.map +1 -0
  77. package/dist/esm/atomic.js +3 -4
  78. package/dist/esm/atomic.js.map +1 -1
  79. package/dist/esm/index.js.map +1 -1
  80. package/dist/esm/loader.js.map +1 -1
  81. package/dist/esm/version.js +2 -2
  82. package/dist/types/components/common/context/bindings-context.d.ts +1 -1
  83. package/dist/types/components/common/facets/timeframe-facet-common.d.ts +1 -0
  84. package/dist/types/components/common/generated-answer/{answerContent/answer-content.d.ts → atomic-answer-content/atomic-answer-content.d.ts} +8 -6
  85. package/dist/types/components/common/generated-answer/{generated-answer-thread-item/generated-answer-thread-item.d.ts → atomic-generated-answer-thread-item/atomic-generated-answer-thread-item.d.ts} +3 -3
  86. package/dist/types/components/common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.d.ts +42 -0
  87. package/dist/types/components/common/generated-answer/render-agent-generation-steps.d.ts +16 -0
  88. package/dist/types/components/common/generated-answer/render-answer-content.d.ts +3 -4
  89. package/dist/types/components/insight/atomic-insight-result-action/atomic-insight-result-action.d.ts +33 -18
  90. package/dist/types/components/insight/atomic-insight-result-children/atomic-insight-result-children.d.ts +1 -0
  91. package/dist/types/components/insight/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +62 -0
  92. package/dist/types/components/insight/atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.d.ts +47 -28
  93. package/dist/types/components/insight/index.d.ts +3 -0
  94. package/dist/types/components/search/atomic-external/atomic-external.d.ts +1 -1
  95. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +11 -2
  96. package/dist/types/components.d.ts +0 -298
  97. package/dist/types/decorators/bindings.d.ts +1 -1
  98. package/dist/types/index.d.ts +2 -3
  99. package/dist/types/utils/accessibility-utils.d.ts +2 -2
  100. package/dist/types/utils/init-queue.d.ts +1 -1
  101. package/docs/atomic-docs.json +2 -43
  102. package/package.json +4 -8
  103. package/dist/atomic/components/_commonjsHelpers.js +0 -5
  104. package/dist/atomic/components/_commonjsHelpers.js.map +0 -1
  105. package/dist/atomic/components/atomic-insight-result-action.d.ts +0 -11
  106. package/dist/atomic/components/atomic-insight-result-action.js +0 -272
  107. package/dist/atomic/components/atomic-insight-result-action.js.map +0 -1
  108. package/dist/atomic/components/atomic-insight-result-children-template.d.ts +0 -11
  109. package/dist/atomic/components/atomic-insight-result-children-template.js +0 -242
  110. package/dist/atomic/components/atomic-insight-result-children-template.js.map +0 -1
  111. package/dist/atomic/components/atomic-insight-timeframe-facet.d.ts +0 -11
  112. package/dist/atomic/components/atomic-insight-timeframe-facet.js +0 -816
  113. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +0 -1
  114. package/dist/atomic/components/atomic-stencil-facet-date-input.d.ts +0 -11
  115. package/dist/atomic/components/atomic-stencil-facet-date-input.js +0 -107
  116. package/dist/atomic/components/atomic-stencil-facet-date-input.js.map +0 -1
  117. package/dist/atomic/components/date-utils.js +0 -26
  118. package/dist/atomic/components/date-utils.js.map +0 -1
  119. package/dist/atomic/components/initialization-utils.js +0 -226
  120. package/dist/atomic/components/initialization-utils.js.map +0 -1
  121. package/dist/atomic/components/props-utils.js +0 -1457
  122. package/dist/atomic/components/props-utils.js.map +0 -1
  123. package/dist/atomic/components/stencil-button.js +0 -148
  124. package/dist/atomic/components/stencil-button.js.map +0 -1
  125. package/dist/atomic/p-1580513b.js +0 -2
  126. package/dist/atomic/p-1580513b.js.map +0 -1
  127. package/dist/atomic/p-1df0744f.entry.js +0 -9
  128. package/dist/atomic/p-1df0744f.entry.js.map +0 -1
  129. package/dist/atomic/p-2045a1b1.js +0 -2
  130. package/dist/atomic/p-2045a1b1.js.map +0 -1
  131. package/dist/atomic/p-4573c419.js +0 -2
  132. package/dist/atomic/p-4573c419.js.map +0 -1
  133. package/dist/atomic/p-500bf5c4.entry.js +0 -2
  134. package/dist/atomic/p-500bf5c4.entry.js.map +0 -1
  135. package/dist/atomic/p-5226a938.js +0 -3
  136. package/dist/atomic/p-5226a938.js.map +0 -1
  137. package/dist/atomic/p-720863c3.js +0 -2
  138. package/dist/atomic/p-720863c3.js.map +0 -1
  139. package/dist/atomic/p-81336626.entry.js +0 -2
  140. package/dist/atomic/p-81336626.entry.js.map +0 -1
  141. package/dist/atomic/p-81d6e743.js +0 -2
  142. package/dist/atomic/p-81d6e743.js.map +0 -1
  143. package/dist/atomic/p-aad3b4ec.js +0 -3
  144. package/dist/atomic/p-aad3b4ec.js.map +0 -1
  145. package/dist/atomic/p-b5af331b.entry.js +0 -2
  146. package/dist/atomic/p-b5af331b.entry.js.map +0 -1
  147. package/dist/atomic/p-b7209471.js +0 -2
  148. package/dist/atomic/p-b7209471.js.map +0 -1
  149. package/dist/atomic/p-dac60354.js +0 -2
  150. package/dist/atomic/p-dac60354.js.map +0 -1
  151. package/dist/atomic/p-e1255160.js +0 -2
  152. package/dist/atomic/p-e1255160.js.map +0 -1
  153. package/dist/cjs/_commonjsHelpers-68cdf74f.js +0 -7
  154. package/dist/cjs/_commonjsHelpers-68cdf74f.js.map +0 -1
  155. package/dist/cjs/app-globals-3a1e7e63.js +0 -7
  156. package/dist/cjs/app-globals-3a1e7e63.js.map +0 -1
  157. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +0 -153
  158. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +0 -1
  159. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +0 -222
  160. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +0 -1
  161. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +0 -790
  162. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +0 -1
  163. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +0 -86
  164. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +0 -1
  165. package/dist/cjs/date-utils-aae1d713.js +0 -28
  166. package/dist/cjs/date-utils-aae1d713.js.map +0 -1
  167. package/dist/cjs/event-utils-9bfcf3c5.js +0 -27
  168. package/dist/cjs/event-utils-9bfcf3c5.js.map +0 -1
  169. package/dist/cjs/index-122375df.js +0 -1394
  170. package/dist/cjs/index-122375df.js.map +0 -1
  171. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js +0 -95
  172. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js.map +0 -1
  173. package/dist/cjs/initialization-utils-c2821271.js +0 -148
  174. package/dist/cjs/initialization-utils-c2821271.js.map +0 -1
  175. package/dist/cjs/props-utils-e4f29f1e.js +0 -1464
  176. package/dist/cjs/props-utils-e4f29f1e.js.map +0 -1
  177. package/dist/cjs/stencil-button-bf22eea4.js +0 -130
  178. package/dist/cjs/stencil-button-bf22eea4.js.map +0 -1
  179. package/dist/cjs/stencil-result-template-decorators-96954751.js +0 -114
  180. package/dist/cjs/stencil-result-template-decorators-96954751.js.map +0 -1
  181. package/dist/esm/_commonjsHelpers-1c8beb5f.js +0 -5
  182. package/dist/esm/_commonjsHelpers-1c8beb5f.js.map +0 -1
  183. package/dist/esm/app-globals-0f993ce5.js +0 -5
  184. package/dist/esm/app-globals-0f993ce5.js.map +0 -1
  185. package/dist/esm/atomic-insight-result-action.entry.js +0 -149
  186. package/dist/esm/atomic-insight-result-action.entry.js.map +0 -1
  187. package/dist/esm/atomic-insight-result-children-template.entry.js +0 -218
  188. package/dist/esm/atomic-insight-result-children-template.entry.js.map +0 -1
  189. package/dist/esm/atomic-insight-timeframe-facet.entry.js +0 -786
  190. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +0 -1
  191. package/dist/esm/atomic-stencil-facet-date-input.entry.js +0 -82
  192. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +0 -1
  193. package/dist/esm/date-utils-3b955e79.js +0 -26
  194. package/dist/esm/date-utils-3b955e79.js.map +0 -1
  195. package/dist/esm/event-utils-8de63ec3.js +0 -24
  196. package/dist/esm/event-utils-8de63ec3.js.map +0 -1
  197. package/dist/esm/index-4d679e44.js +0 -1364
  198. package/dist/esm/index-4d679e44.js.map +0 -1
  199. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js +0 -88
  200. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js.map +0 -1
  201. package/dist/esm/initialization-utils-9ff399ff.js +0 -144
  202. package/dist/esm/initialization-utils-9ff399ff.js.map +0 -1
  203. package/dist/esm/props-utils-76043c82.js +0 -1457
  204. package/dist/esm/props-utils-76043c82.js.map +0 -1
  205. package/dist/esm/stencil-button-28de709c.js +0 -128
  206. package/dist/esm/stencil-button-28de709c.js.map +0 -1
  207. package/dist/esm/stencil-result-template-decorators-4c2e5132.js +0 -110
  208. package/dist/esm/stencil-result-template-decorators-4c2e5132.js.map +0 -1
  209. package/dist/types/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.d.ts +0 -14
  210. package/dist/types/components/common/atomic-rating/stencil-rating.d.ts +0 -18
  211. package/dist/types/components/common/atomic-result-placeholder/stencil-placeholders.d.ts +0 -20
  212. package/dist/types/components/common/breadbox/stencil-breadcrumb-button.d.ts +0 -15
  213. package/dist/types/components/common/breadbox/stencil-breadcrumb-clear-all.d.ts +0 -13
  214. package/dist/types/components/common/breadbox/stencil-breadcrumb-container.d.ts +0 -11
  215. package/dist/types/components/common/breadbox/stencil-breadcrumb-content.d.ts +0 -14
  216. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-less.d.ts +0 -13
  217. package/dist/types/components/common/breadbox/stencil-breadcrumb-show-more.d.ts +0 -14
  218. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +0 -13
  219. package/dist/types/components/common/facets/category-facet/stencil-child-value-link.d.ts +0 -9
  220. package/dist/types/components/common/facets/category-facet/stencil-children-as-tree-container.d.ts +0 -9
  221. package/dist/types/components/common/facets/category-facet/stencil-parent-as-tree-container.d.ts +0 -10
  222. package/dist/types/components/common/facets/category-facet/stencil-parent-button.d.ts +0 -16
  223. package/dist/types/components/common/facets/category-facet/stencil-parent-value-link.d.ts +0 -9
  224. package/dist/types/components/common/facets/category-facet/stencil-search-results-container.d.ts +0 -5
  225. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +0 -19
  226. package/dist/types/components/common/facets/category-facet/stencil-value-as-tree-container.d.ts +0 -5
  227. package/dist/types/components/common/facets/category-facet/stencil-value-link.d.ts +0 -20
  228. package/dist/types/components/common/facets/facet-container/stencil-facet-container.d.ts +0 -5
  229. package/dist/types/components/common/facets/facet-header/stencil-facet-header.d.ts +0 -17
  230. package/dist/types/components/common/facets/facet-placeholder/stencil-facet-placeholder.d.ts +0 -10
  231. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input-guard.d.ts +0 -11
  232. package/dist/types/components/common/facets/facet-search/stencil-facet-search-input.d.ts +0 -14
  233. package/dist/types/components/common/facets/facet-search/stencil-facet-search-matches.d.ts +0 -14
  234. package/dist/types/components/common/facets/facet-search/stencil-facet-search-value.d.ts +0 -6
  235. package/dist/types/components/common/facets/facet-show-more-less/stencil-facet-show-more-less.d.ts +0 -17
  236. package/dist/types/components/common/facets/facet-value/stencil-facet-value.d.ts +0 -22
  237. package/dist/types/components/common/facets/facet-value-box/stencil-facet-value-box.d.ts +0 -6
  238. package/dist/types/components/common/facets/facet-value-checkbox/stencil-facet-value-checkbox.d.ts +0 -11
  239. package/dist/types/components/common/facets/facet-value-exclude/stencil-facet-value-exclude.d.ts +0 -10
  240. package/dist/types/components/common/facets/facet-value-label-highlight/stencil-facet-value-label-highlight.d.ts +0 -12
  241. package/dist/types/components/common/facets/facet-value-link/stencil-facet-value-link.d.ts +0 -10
  242. package/dist/types/components/common/facets/facet-values-group/stencil-facet-values-group.d.ts +0 -12
  243. package/dist/types/components/common/facets/numeric-facet/stencil-value-link.d.ts +0 -12
  244. package/dist/types/components/common/facets/numeric-facet/stencil-values-container.d.ts +0 -11
  245. package/dist/types/components/common/facets/stencil-facet-common.d.ts +0 -43
  246. package/dist/types/components/common/facets/stencil-facet-date-input/stencil-facet-date-input.d.ts +0 -33
  247. package/dist/types/components/common/facets/stencil-facet-guard.d.ts +0 -12
  248. package/dist/types/components/common/facets/stencil-timeframe-facet-common.d.ts +0 -72
  249. package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +0 -58
  250. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-markdown-content.d.ts +0 -10
  251. package/dist/types/components/common/generated-answer/generated-content/stencil-generated-text-content.d.ts +0 -10
  252. package/dist/types/components/common/generated-answer/stencil-copy-button.d.ts +0 -12
  253. package/dist/types/components/common/generated-answer/stencil-feedback-button.d.ts +0 -13
  254. package/dist/types/components/common/generated-answer/stencil-generated-content-container.d.ts +0 -11
  255. package/dist/types/components/common/generated-answer/stencil-retry-prompt.d.ts +0 -11
  256. package/dist/types/components/common/generated-answer/stencil-show-button.d.ts +0 -12
  257. package/dist/types/components/common/generated-answer/stencil-source-citations.d.ts +0 -10
  258. package/dist/types/components/common/interface/interface-common-stencil.d.ts +0 -34
  259. package/dist/types/components/common/interface/stencil-i18n.d.ts +0 -11
  260. package/dist/types/components/common/item-link/stencil-item-link.d.ts +0 -30
  261. package/dist/types/components/common/item-list/item-list-decorators.d.ts +0 -17
  262. package/dist/types/components/common/item-list/stencil-display-grid.d.ts +0 -17
  263. package/dist/types/components/common/item-list/stencil-display-wrapper.d.ts +0 -11
  264. package/dist/types/components/common/item-list/stencil-item-decorators.d.ts +0 -41
  265. package/dist/types/components/common/item-list/stencil-item-display-guard.d.ts +0 -10
  266. package/dist/types/components/common/item-list/stencil-item-list-common.d.ts +0 -31
  267. package/dist/types/components/common/item-list/stencil-item-list-guard.d.ts +0 -13
  268. package/dist/types/components/common/item-text/stencil-item-text-fallback.d.ts +0 -14
  269. package/dist/types/components/common/item-text/stencil-item-text-highlighted.d.ts +0 -13
  270. package/dist/types/components/common/load-more/guard.d.ts +0 -10
  271. package/dist/types/components/common/load-more/stencil-button.d.ts +0 -13
  272. package/dist/types/components/common/load-more/stencil-container.d.ts +0 -5
  273. package/dist/types/components/common/load-more/stencil-progress-bar.d.ts +0 -10
  274. package/dist/types/components/common/load-more/stencil-summary.d.ts +0 -13
  275. package/dist/types/components/common/no-items/stencil-container.d.ts +0 -5
  276. package/dist/types/components/common/no-items/stencil-guard.d.ts +0 -11
  277. package/dist/types/components/common/no-items/stencil-magnifying-glass.d.ts +0 -5
  278. package/dist/types/components/common/no-items/stencil-no-items.d.ts +0 -12
  279. package/dist/types/components/common/no-items/stencil-tips.d.ts +0 -10
  280. package/dist/types/components/common/pager/stencil-pager-buttons.d.ts +0 -33
  281. package/dist/types/components/common/pager/stencil-pager-navigation.d.ts +0 -10
  282. package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +0 -26
  283. package/dist/types/components/common/query-correction/stencil-auto-correction.d.ts +0 -12
  284. package/dist/types/components/common/query-correction/stencil-correction.d.ts +0 -12
  285. package/dist/types/components/common/query-correction/stencil-guard.d.ts +0 -9
  286. package/dist/types/components/common/query-correction/stencil-trigger-correction.d.ts +0 -13
  287. package/dist/types/components/common/query-error/stencil-container.d.ts +0 -5
  288. package/dist/types/components/common/query-error/stencil-description.d.ts +0 -13
  289. package/dist/types/components/common/query-error/stencil-details.d.ts +0 -10
  290. package/dist/types/components/common/query-error/stencil-guard.d.ts +0 -9
  291. package/dist/types/components/common/query-error/stencil-icon.d.ts +0 -9
  292. package/dist/types/components/common/query-error/stencil-link.d.ts +0 -11
  293. package/dist/types/components/common/query-error/stencil-show-more.d.ts +0 -13
  294. package/dist/types/components/common/query-error/stencil-title.d.ts +0 -12
  295. package/dist/types/components/common/query-summary/stencil-container.d.ts +0 -9
  296. package/dist/types/components/common/query-summary/stencil-guard.d.ts +0 -11
  297. package/dist/types/components/common/query-summary/stencil-utils.d.ts +0 -23
  298. package/dist/types/components/common/refine-modal/stencil-body.d.ts +0 -7
  299. package/dist/types/components/common/refine-modal/stencil-button.d.ts +0 -12
  300. package/dist/types/components/common/refine-modal/stencil-filters.d.ts +0 -20
  301. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -11
  302. package/dist/types/components/common/refine-modal/stencil-modal.d.ts +0 -18
  303. package/dist/types/components/common/refine-modal/stencil-sort.d.ts +0 -11
  304. package/dist/types/components/common/result-children/stencil-children-wrapper.d.ts +0 -9
  305. package/dist/types/components/common/result-children/stencil-collection-guard.d.ts +0 -16
  306. package/dist/types/components/common/result-children/stencil-guard.d.ts +0 -11
  307. package/dist/types/components/common/result-children/stencil-show-hide-button.d.ts +0 -14
  308. package/dist/types/components/common/result-templates/stencil-result-template-common.d.ts +0 -24
  309. package/dist/types/components/common/search-box/stencil-search-box-wrapper.d.ts +0 -10
  310. package/dist/types/components/common/search-box/stencil-search-text-area.d.ts +0 -22
  311. package/dist/types/components/common/search-box/stencil-submit-button.d.ts +0 -12
  312. package/dist/types/components/common/search-box/stencil-text-area-clear-button.d.ts +0 -12
  313. package/dist/types/components/common/smart-snippets/atomic-smart-snippet/stencil-smart-snippet-common.d.ts +0 -31
  314. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-feedback-modal/stencil-smart-snippet-feedback-modal-common.d.ts +0 -57
  315. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-suggestions/stencil-smart-snippet-suggestions-common.d.ts +0 -43
  316. package/dist/types/components/common/smart-snippets/stencil-smart-snippet-feedback-banner.d.ts +0 -18
  317. package/dist/types/components/common/stencil-button-style.d.ts +0 -11
  318. package/dist/types/components/common/stencil-button.d.ts +0 -30
  319. package/dist/types/components/common/stencil-carousel.d.ts +0 -15
  320. package/dist/types/components/common/stencil-checkbox.d.ts +0 -22
  321. package/dist/types/components/common/stencil-fieldset-group.d.ts +0 -9
  322. package/dist/types/components/common/stencil-heading.d.ts +0 -7
  323. package/dist/types/components/common/stencil-hidden.d.ts +0 -5
  324. package/dist/types/components/common/stencil-iconButton.d.ts +0 -13
  325. package/dist/types/components/common/stencil-radio-button.d.ts +0 -12
  326. package/dist/types/components/common/stencil-switch.d.ts +0 -15
  327. package/dist/types/components/common/stencil-triStateCheckbox.d.ts +0 -11
  328. package/dist/types/components/common/suggestions/stencil-instant-item.d.ts +0 -19
  329. package/dist/types/components/common/suggestions/stencil-query-suggestions.d.ts +0 -32
  330. package/dist/types/components/common/suggestions/stencil-suggestion-manager.d.ts +0 -96
  331. package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +0 -50
  332. package/dist/types/components/search/facets/facet-segmented-value/stencil-facet-segmented-value.d.ts +0 -6
  333. package/dist/types/components/search/result-template-component-utils/context/stencil-result-template-decorators.d.ts +0 -32
  334. package/dist/types/components/search/result-template-components/quickview-iframe/stencil-quickview-iframe.d.ts +0 -14
  335. package/dist/types/utils/__mocks__/stencil-resource-url.d.ts +0 -1
  336. package/dist/types/utils/initialization-utils.d.ts +0 -70
  337. package/dist/types/utils/jsx-utils.d.ts +0 -6
  338. package/dist/types/utils/stencil-accessibility-utils.d.ts +0 -43
  339. package/dist/types/utils/stencil-asset-path-utils.d.ts +0 -1
  340. package/dist/types/utils/stencil-resource-url.d.ts +0 -1
  341. /package/dist/atomic/components/utils/{initialization-lit-stencil-common-utils.js → initialization-common-utils.js} +0 -0
  342. /package/dist/types/utils/{initialization-lit-stencil-common-utils.d.ts → initialization-common-utils.d.ts} +0 -0
@@ -1,226 +0,0 @@
1
- import { h, Host, getElement, forceUpdate } from '@stencil/core/internal/client';
2
- import { b as buildCustomEvent } from './stencil-button.js';
3
-
4
- function closest(element, selector) {
5
- if (!element) {
6
- return null;
7
- }
8
- if (element.matches(selector)) {
9
- return element;
10
- }
11
- if (element.parentNode instanceof ShadowRoot) {
12
- return closest(element.parentNode.host, selector);
13
- }
14
- return closest(element.parentElement, selector);
15
- }
16
-
17
- function getWindow() {
18
- return window;
19
- }
20
- function getInitQueueNamespace() {
21
- if (!getWindow().initQueueNamespace) {
22
- getWindow().initQueueNamespace = {
23
- eventQueueMap: new Map(),
24
- parentReadyMap: new Map(),
25
- };
26
- }
27
- return getWindow().initQueueNamespace;
28
- }
29
- function getEventQueueMap() {
30
- return getInitQueueNamespace().eventQueueMap;
31
- }
32
- function getParentReadyMap() {
33
- return getInitQueueNamespace().parentReadyMap;
34
- }
35
- function isParentReady(parent) {
36
- const parentReadyMap = getParentReadyMap();
37
- return parentReadyMap.get(parent) || false;
38
- }
39
- function queueEventForParent(parent, event, element) {
40
- const eventQueueMap = getEventQueueMap();
41
- if (!eventQueueMap.has(parent)) {
42
- eventQueueMap.set(parent, []);
43
- }
44
- eventQueueMap.get(parent).push({ event, element });
45
- }
46
- function enqueueOrDispatchInitializationEvent(parent, event, element) {
47
- if (isParentReady(parent)) {
48
- element.dispatchEvent(event);
49
- }
50
- else {
51
- queueEventForParent(parent, event, element);
52
- }
53
- }
54
-
55
- /**
56
- * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.
57
- * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.
58
- * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.
59
- */
60
- function fetchBindings(element) {
61
- return new Promise((resolve, reject) => {
62
- const event = buildCustomEvent(initializeEventName, (bindings) => resolve(bindings));
63
- const parent = closest(element, initializableElements.join(', '));
64
- if (!parent) {
65
- reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));
66
- return;
67
- }
68
- enqueueOrDispatchInitializationEvent(parent, event, element);
69
- });
70
- }
71
- class MissingInterfaceParentError extends Error {
72
- constructor(elementName) {
73
- super(`The "${elementName}" element must be the child of the following elements: ${initializableElements.join(', ')}`);
74
- }
75
- }
76
- const initializableElements = [
77
- 'atomic-recs-interface',
78
- 'atomic-search-interface',
79
- 'atomic-commerce-interface',
80
- 'atomic-commerce-recommendation-interface',
81
- 'atomic-relevance-inspector',
82
- 'atomic-insight-interface',
83
- 'atomic-external',
84
- ];
85
- const initializeEventName = 'atomic/initializeComponent';
86
-
87
- /**
88
- * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.
89
- */
90
- const Hidden = () => (h(Host, { class: "atomic-hidden" }));
91
-
92
- const renderedAttribute = 'data-atomic-rendered';
93
- const loadedAttribute = 'data-atomic-loaded';
94
- /**
95
- * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.
96
- * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.
97
- *
98
- * Once a component is bound, the `initialize` method is called.
99
- * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.
100
- *
101
- * 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`.
102
- * This is possible by using the `BindStateToController` decorator.
103
- *
104
- * @example
105
- * @InitializeBindings() public bindings!: Bindings;
106
- *
107
- * For more information and examples, view the "Utilities" section of the readme.
108
- * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.
109
- */
110
- function InitializeBindings({ forceUpdate: forceUpdate$1, } = {}) {
111
- return (component, bindingsProperty) => {
112
- const { componentWillLoad, render, componentDidRender, componentDidLoad, disconnectedCallback, } = component;
113
- let unsubscribeLanguage = () => { };
114
- if (bindingsProperty !== 'bindings') {
115
- return console.error(`The InitializeBindings decorator should be used on a property called "bindings", and not "${bindingsProperty}"`, component);
116
- }
117
- component.componentWillLoad = function () {
118
- const element = getElement(this);
119
- element.setAttribute(renderedAttribute, 'false');
120
- element.setAttribute(loadedAttribute, 'false');
121
- const event = buildCustomEvent(initializeEventName, (bindings) => {
122
- this.bindings = bindings;
123
- const updateLanguage = () => forceUpdate(this);
124
- this.bindings.i18n.on('languageChanged', updateLanguage);
125
- unsubscribeLanguage = () => this.bindings.i18n.off('languageChanged', updateLanguage);
126
- try {
127
- // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.
128
- // In this case, we have to manually trigger it.
129
- if (this.initialize) {
130
- this.initialize();
131
- if (forceUpdate$1) {
132
- forceUpdate(this);
133
- }
134
- }
135
- else {
136
- forceUpdate(this);
137
- }
138
- }
139
- catch (e) {
140
- this.error = e;
141
- }
142
- });
143
- const parent = closest(element, initializableElements.join(', '));
144
- if (!parent) {
145
- this.error = new MissingInterfaceParentError(element.nodeName.toLowerCase());
146
- return;
147
- }
148
- enqueueOrDispatchInitializationEvent(parent, event, element);
149
- return componentWillLoad && componentWillLoad.call(this);
150
- };
151
- component.render = function () {
152
- if (this.error) {
153
- return (h("atomic-component-error", { element: getElement(this), error: this.error }));
154
- }
155
- if (!this.bindings) {
156
- return h(Hidden, null);
157
- }
158
- getElement(this).setAttribute(renderedAttribute, 'true');
159
- return render && render.call(this);
160
- };
161
- component.disconnectedCallback = function () {
162
- const element = getElement(this);
163
- element.setAttribute(renderedAttribute, 'false');
164
- element.setAttribute(loadedAttribute, 'false');
165
- unsubscribeLanguage();
166
- disconnectedCallback && disconnectedCallback.call(this);
167
- };
168
- component.componentDidRender = function () {
169
- const element = getElement(this);
170
- if (element.getAttribute(renderedAttribute) === 'false') {
171
- return;
172
- }
173
- componentDidRender && componentDidRender.call(this);
174
- if (element.getAttribute(loadedAttribute) === 'false') {
175
- element.setAttribute(loadedAttribute, 'true');
176
- componentDidLoad && componentDidLoad.call(this);
177
- }
178
- };
179
- component.componentDidLoad = function () { };
180
- };
181
- }
182
- /**
183
- * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).
184
- * 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).
185
- *
186
- * @example
187
- * @BindStateToController('pager') @State() private pagerState!: PagerState;
188
- *
189
- * For more information and examples, view the "Utilities" section of the readme.
190
- *
191
- * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.
192
- * @param options The configurable `BindStateToController` options.
193
- *
194
- * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'
195
- */
196
- function BindStateToController(controllerProperty, options) {
197
- return (component, stateProperty) => {
198
- const { disconnectedCallback, initialize } = component;
199
- component.initialize = function () {
200
- initialize && initialize.call(this);
201
- if (!initialize) {
202
- return console.error(`ControllerState: The "initialize" method has to be defined and instantiate a controller for the property ${controllerProperty}`, component);
203
- }
204
- if (!this[controllerProperty]) {
205
- return;
206
- }
207
- if (options?.onUpdateCallbackMethod &&
208
- !this[options.onUpdateCallbackMethod]) {
209
- return console.error(`ControllerState: The onUpdateCallbackMethod property "${options.onUpdateCallbackMethod}" is not defined`, component);
210
- }
211
- this.unsubscribeController = this[controllerProperty].subscribe(() => {
212
- this[stateProperty] = this[controllerProperty].state;
213
- options?.onUpdateCallbackMethod &&
214
- this[options.onUpdateCallbackMethod]();
215
- });
216
- };
217
- component.disconnectedCallback = function () {
218
- !getElement(this).isConnected && this.unsubscribeController?.();
219
- disconnectedCallback && disconnectedCallback.call(this);
220
- };
221
- };
222
- }
223
-
224
- export { BindStateToController as B, Hidden as H, InitializeBindings as I, MissingInterfaceParentError as M, closest as c, fetchBindings as f };
225
-
226
- //# sourceMappingURL=initialization-utils.js.map
@@ -1 +0,0 @@
1
- {"file":"initialization-utils.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/utils/dom-utils.ts","src/utils/init-queue.ts","src/utils/initialization-lit-stencil-common-utils.ts","src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["export function rectEquals(r1: DOMRect, r2: DOMRect) {\n return (\n r1.x === r2.x &&\n r1.y === r2.y &&\n r1.width === r2.width &&\n r1.height === r2.height\n );\n}\n\nexport function parentNodeToString(node: ParentNode): string {\n return Array.from(node.children)\n .map((child) => child.outerHTML)\n .join('');\n}\n\nexport function closest<K extends keyof HTMLElementTagNameMap>(\n element: Element | null,\n selector: K\n): HTMLElementTagNameMap[K] | null;\nexport function closest<K extends keyof SVGElementTagNameMap>(\n element: Element | null,\n selector: K\n): SVGElementTagNameMap[K] | null;\nexport function closest<E extends Element = Element>(\n element: Element | null,\n selector: string\n): E | null;\nexport function closest(\n element: Element | null,\n selector: string\n): HTMLElement | null {\n if (!element) {\n return null;\n }\n if (element.matches(selector)) {\n return element as HTMLElement;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return closest(element.parentNode.host, selector);\n }\n return closest(element.parentElement, selector);\n}\n","import type {InitializeEventHandler} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\ndeclare global {\n interface Window {\n initQueueNamespace: {\n eventQueueMap: Map<Element, QueuedEvent[]>;\n parentReadyMap: Map<Element, boolean>;\n };\n }\n}\n\ntype QueuedEvent = {\n event: InitializeEvent;\n element: Element;\n};\n\nfunction getWindow() {\n return window;\n}\n\nfunction getInitQueueNamespace() {\n if (!getWindow().initQueueNamespace) {\n getWindow().initQueueNamespace = {\n eventQueueMap: new Map(),\n parentReadyMap: new Map(),\n };\n }\n return getWindow().initQueueNamespace;\n}\n\nfunction getEventQueueMap(): Map<Element, QueuedEvent[]> {\n return getInitQueueNamespace().eventQueueMap;\n}\n\nfunction getParentReadyMap(): Map<Element, boolean> {\n return getInitQueueNamespace().parentReadyMap;\n}\n\nexport function markParentAsReady(parent: Element) {\n const parentReadyMap = getParentReadyMap();\n parentReadyMap.set(parent, true);\n const eventQueueMap = getEventQueueMap();\n const eventQueue = eventQueueMap.get(parent) || [];\n eventQueue.reverse();\n while (eventQueue.length > 0) {\n const {event, element} = eventQueue.pop()!;\n element.dispatchEvent(event);\n }\n parent.dispatchEvent(new CustomEvent('atomic/parentReady', {bubbles: true}));\n eventQueueMap.delete(parent);\n}\n\nexport function isParentReady(parent: Element): boolean {\n const parentReadyMap = getParentReadyMap();\n return parentReadyMap.get(parent) || false;\n}\n\nexport function queueEventForParent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n const eventQueueMap = getEventQueueMap();\n if (!eventQueueMap.has(parent)) {\n eventQueueMap.set(parent, []);\n }\n eventQueueMap.get(parent)!.push({event, element});\n}\n\nexport function enqueueOrDispatchInitializationEvent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n if (isParentReady(parent)) {\n element.dispatchEvent(event);\n } else {\n queueEventForParent(parent, event, element);\n }\n}\n","import type {CoreEngine} from '@coveo/headless';\nimport type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\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 fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: AnyBindings;\n};\n","import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\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>;\n"],"version":3}