@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
@@ -0,0 +1,267 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var AtomicInsightTimeframeFacet_1;
8
+ import { NumberValue, Schema, StringValue } from '@coveo/bueno';
9
+ import { buildDateFacet, buildDateFilter, buildDateRange, buildFacetConditionsManager, buildSearchStatus, deserializeRelativeDate, loadDateFacetSetActions, } from '@coveo/headless/insight';
10
+ import { html, LitElement } from 'lit';
11
+ import { customElement, property, state } from 'lit/decorators.js';
12
+ import { when } from 'lit/directives/when.js';
13
+ import { parseDependsOn } from "../../common/facets/depends-on";
14
+ import facetCommonStyles from "../../common/facets/facet-common.tw.css";
15
+ import { renderFacetPlaceholder } from "../../common/facets/facet-placeholder/facet-placeholder";
16
+ import { TimeframeFacetCommon } from "../../common/facets/timeframe-facet-common";
17
+ import { ValidatePropsController } from "../../common/validate-props-controller/validate-props-controller";
18
+ import { booleanConverter } from "../../../converters/boolean-converter";
19
+ import { bindStateToController } from "../../../decorators/bind-state";
20
+ import { bindingGuard } from "../../../decorators/binding-guard";
21
+ import { bindings } from "../../../decorators/bindings";
22
+ import { errorGuard } from "../../../decorators/error-guard";
23
+ import { withTailwindStyles } from "../../../decorators/with-tailwind-styles";
24
+ import { FocusTargetController } from "../../../utils/accessibility-utils";
25
+ import { mapProperty } from "../../../utils/props-utils";
26
+ /**
27
+ * The `atomic-insight-timeframe-facet` component displays a facet of results for the current query as date intervals.
28
+ *
29
+ * @slot default - The atomic-timeframe components defining the timeframes to display.
30
+ *
31
+ * @part facet - The wrapper for the entire facet.
32
+ * @part placeholder - The placeholder shown before the first search is executed.
33
+ * @part label-button - The button that displays the label and allows to expand/collapse the facet.
34
+ * @part label-button-icon - The label button icon.
35
+ * @part clear-button - The button that resets the actively selected facet values.
36
+ * @part clear-button-icon - The clear button icon.
37
+ * @part values - The facet values container.
38
+ * @part value-link - A facet value button.
39
+ * @part value-link-selected - A selected facet value button.
40
+ * @part value-count - The result count for a facet value.
41
+ * @part value-label - The label text of a facet value.
42
+ * @part input-start - The starting value of the custom date range.
43
+ * @part input-end - The ending value of the custom date range.
44
+ * @part input-label - The label for both the start and end input.
45
+ * @part input-apply-button - The apply button for the custom range.
46
+ */
47
+ let AtomicInsightTimeframeFacet = AtomicInsightTimeframeFacet_1 = class AtomicInsightTimeframeFacet extends LitElement {
48
+ constructor() {
49
+ super();
50
+ /**
51
+ * The non-localized label for the facet.
52
+ * Used in the atomic-breadbox component through the bindings store.
53
+ */
54
+ this.label = 'no-label';
55
+ /**
56
+ * The field whose values you want to display in the facet.
57
+ */
58
+ this.field = 'date';
59
+ /**
60
+ * Whether this facet should contain a datepicker allowing users to set custom ranges.
61
+ */
62
+ this.withDatePicker = false;
63
+ /**
64
+ * Specifies whether the facet is collapsed. When the facet is the child of an `atomic-facet-manager` component, the facet manager controls this property.
65
+ */
66
+ this.isCollapsed = false;
67
+ /**
68
+ * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading over the facet, from 1 to 6.
69
+ */
70
+ this.headingLevel = 0;
71
+ /**
72
+ * Whether to exclude the parents of folded results when estimating the result count for each facet value.
73
+ *
74
+ * Note: Resulting count is only an estimation, in some cases this value could be incorrect.
75
+ */
76
+ this.filterFacetCount = true;
77
+ /**
78
+ * The maximum number of results to scan in the index to ensure that the facet lists all potential facet values.
79
+ * Note: A high injectionDepth may negatively impact the facet request performance.
80
+ * Minimum: `0`
81
+ * Default: `1000`
82
+ */
83
+ this.injectionDepth = 1000;
84
+ /**
85
+ * The sort criterion to apply to the returned facet values.
86
+ * Possible values are 'ascending' and 'descending'.
87
+ */
88
+ this.sortCriteria = 'descending';
89
+ this.handleDateInputApply = () => {
90
+ if (this.facetId) {
91
+ this.bindings.engine.dispatch(loadDateFacetSetActions(this.bindings.engine).deselectAllDateFacetValues(this.facetId));
92
+ }
93
+ };
94
+ new ValidatePropsController(this, () => ({
95
+ injectionDepth: this.injectionDepth,
96
+ headingLevel: this.headingLevel,
97
+ sortCriteria: this.sortCriteria,
98
+ }), AtomicInsightTimeframeFacet_1.propsSchema, false);
99
+ }
100
+ get focusTarget() {
101
+ if (!this.headerFocus) {
102
+ this.headerFocus = new FocusTargetController(this, this.bindings);
103
+ }
104
+ return this.headerFocus;
105
+ }
106
+ initialize() {
107
+ this.timeframeFacetCommon = new TimeframeFacetCommon({
108
+ facetId: this.facetId,
109
+ host: this,
110
+ bindings: this.bindings,
111
+ label: this.label,
112
+ field: this.field,
113
+ headingLevel: this.headingLevel,
114
+ dependsOn: parseDependsOn(this.dependsOn) ? this.dependsOn : {},
115
+ withDatePicker: this.withDatePicker,
116
+ setFacetId: (id) => {
117
+ this.facetId = id;
118
+ return id;
119
+ },
120
+ getSearchStatusState: () => this.searchStatusState,
121
+ buildDependenciesManager: (facetId) => buildFacetConditionsManager(this.bindings.engine, {
122
+ facetId,
123
+ conditions: parseDependsOn(this.dependsOn),
124
+ }),
125
+ deserializeRelativeDate,
126
+ buildDateRange,
127
+ initializeFacetForDatePicker: () => this.initializeFacetForDatePicker(),
128
+ initializeFacetForDateRange: (values) => this.initializeFacetForDateRange(values),
129
+ initializeFilter: () => this.initializeFilter(),
130
+ sortCriteria: this.sortCriteria,
131
+ });
132
+ this.searchStatus = buildSearchStatus(this.bindings.engine);
133
+ this.addEventListener('atomic-date-input-apply', this.handleDateInputApply);
134
+ }
135
+ disconnectedCallback() {
136
+ super.disconnectedCallback();
137
+ this.timeframeFacetCommon?.disconnectedCallback();
138
+ this.removeEventListener('atomic-date-input-apply', this.handleDateInputApply);
139
+ }
140
+ initializeFacetForDatePicker() {
141
+ return buildDateFacet(this.bindings.engine, {
142
+ options: {
143
+ facetId: `${this.facetId}_input_range`,
144
+ numberOfValues: 1,
145
+ generateAutomaticRanges: true,
146
+ field: this.field,
147
+ filterFacetCount: this.filterFacetCount,
148
+ injectionDepth: this.injectionDepth,
149
+ },
150
+ });
151
+ }
152
+ initializeFacetForDateRange(values) {
153
+ return buildDateFacet(this.bindings.engine, {
154
+ options: {
155
+ facetId: this.facetId,
156
+ field: this.field,
157
+ currentValues: values,
158
+ generateAutomaticRanges: false,
159
+ sortCriteria: this.sortCriteria,
160
+ filterFacetCount: this.filterFacetCount,
161
+ injectionDepth: this.injectionDepth,
162
+ },
163
+ });
164
+ }
165
+ initializeFilter() {
166
+ return buildDateFilter(this.bindings.engine, {
167
+ options: {
168
+ facetId: `${this.facetId}_input`,
169
+ field: this.field,
170
+ },
171
+ });
172
+ }
173
+ render() {
174
+ return html `${when(this.timeframeFacetCommon, () => this.timeframeFacetCommon.render({
175
+ hasError: this.searchStatusState.hasError,
176
+ firstSearchExecuted: this.searchStatusState.firstSearchExecuted,
177
+ isCollapsed: this.isCollapsed,
178
+ headerFocus: this.focusTarget,
179
+ onToggleCollapse: () => {
180
+ this.isCollapsed = !this.isCollapsed;
181
+ return this.isCollapsed;
182
+ },
183
+ }), () => renderFacetPlaceholder({
184
+ props: {
185
+ numberOfValues: 5,
186
+ isCollapsed: this.isCollapsed,
187
+ },
188
+ }))}`;
189
+ }
190
+ };
191
+ AtomicInsightTimeframeFacet.propsSchema = new Schema({
192
+ injectionDepth: new NumberValue({ min: 0, required: false }),
193
+ headingLevel: new NumberValue({ min: 0, max: 6, required: false }),
194
+ sortCriteria: new StringValue({
195
+ constrainTo: ['ascending', 'descending'],
196
+ required: false,
197
+ }),
198
+ });
199
+ AtomicInsightTimeframeFacet.styles = facetCommonStyles;
200
+ __decorate([
201
+ property({ reflect: true })
202
+ ], AtomicInsightTimeframeFacet.prototype, "label", void 0);
203
+ __decorate([
204
+ property({ reflect: true })
205
+ ], AtomicInsightTimeframeFacet.prototype, "field", void 0);
206
+ __decorate([
207
+ property({
208
+ type: Boolean,
209
+ reflect: true,
210
+ converter: booleanConverter,
211
+ attribute: 'with-date-picker',
212
+ })
213
+ ], AtomicInsightTimeframeFacet.prototype, "withDatePicker", void 0);
214
+ __decorate([
215
+ property({
216
+ type: Boolean,
217
+ reflect: true,
218
+ converter: booleanConverter,
219
+ attribute: 'is-collapsed',
220
+ })
221
+ ], AtomicInsightTimeframeFacet.prototype, "isCollapsed", void 0);
222
+ __decorate([
223
+ property({ type: Number, reflect: true, attribute: 'heading-level' })
224
+ ], AtomicInsightTimeframeFacet.prototype, "headingLevel", void 0);
225
+ __decorate([
226
+ property({
227
+ type: Boolean,
228
+ reflect: true,
229
+ converter: booleanConverter,
230
+ attribute: 'filter-facet-count',
231
+ })
232
+ ], AtomicInsightTimeframeFacet.prototype, "filterFacetCount", void 0);
233
+ __decorate([
234
+ property({ type: Number, reflect: true, attribute: 'injection-depth' })
235
+ ], AtomicInsightTimeframeFacet.prototype, "injectionDepth", void 0);
236
+ __decorate([
237
+ mapProperty({ attributePrefix: 'depends-on' })
238
+ ], AtomicInsightTimeframeFacet.prototype, "dependsOn", void 0);
239
+ __decorate([
240
+ property({
241
+ reflect: true,
242
+ attribute: 'sort-criteria',
243
+ })
244
+ ], AtomicInsightTimeframeFacet.prototype, "sortCriteria", void 0);
245
+ __decorate([
246
+ property({ reflect: true, attribute: 'facet-id' })
247
+ ], AtomicInsightTimeframeFacet.prototype, "facetId", void 0);
248
+ __decorate([
249
+ state()
250
+ ], AtomicInsightTimeframeFacet.prototype, "bindings", void 0);
251
+ __decorate([
252
+ state()
253
+ ], AtomicInsightTimeframeFacet.prototype, "error", void 0);
254
+ __decorate([
255
+ bindStateToController('searchStatus'),
256
+ state()
257
+ ], AtomicInsightTimeframeFacet.prototype, "searchStatusState", void 0);
258
+ __decorate([
259
+ bindingGuard(),
260
+ errorGuard()
261
+ ], AtomicInsightTimeframeFacet.prototype, "render", null);
262
+ AtomicInsightTimeframeFacet = AtomicInsightTimeframeFacet_1 = __decorate([
263
+ customElement('atomic-insight-timeframe-facet'),
264
+ bindings(),
265
+ withTailwindStyles
266
+ ], AtomicInsightTimeframeFacet);
267
+ export { AtomicInsightTimeframeFacet };
@@ -140,7 +140,7 @@ let AtomicInsightUserActionsSession = class AtomicInsightUserActionsSession exte
140
140
  `;
141
141
  }
142
142
  };
143
- AtomicInsightUserActionsSession.styles = css``;
143
+ AtomicInsightUserActionsSession.styles = css`/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */.session-start-icon__container{background-color:#fbb439}.user-action__separator{background-color:var(--atomic-neutral)}.ticket-creation-action__text{color:var(--atomic-success)}.text-xxs{font-size:.625rem}`;
144
144
  __decorate([
145
145
  state()
146
146
  ], AtomicInsightUserActionsSession.prototype, "bindings", void 0);
@@ -202,7 +202,7 @@ let AtomicInsightUserActionsTimeline = AtomicInsightUserActionsTimeline_1 = clas
202
202
  return this.renderNoUserActionsScreen();
203
203
  }
204
204
  };
205
- AtomicInsightUserActionsTimeline.styles = css``;
205
+ AtomicInsightUserActionsTimeline.styles = css`/*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */.separator{background-color:var(--atomic-insight-user-actions-timeline-separator-background);height:1px}`;
206
206
  AtomicInsightUserActionsTimeline.propsSchema = new Schema({
207
207
  userId: new StringValue({ required: true, emptyAllowed: false }),
208
208
  ticketCreationDateTime: new StringValue({
@@ -16,10 +16,12 @@ export { AtomicInsightQuerySummary } from './atomic-insight-query-summary/atomic
16
16
  export { AtomicInsightRefineModal } from './atomic-insight-refine-modal/atomic-insight-refine-modal.js';
17
17
  export { AtomicInsightRefineToggle } from './atomic-insight-refine-toggle/atomic-insight-refine-toggle.js';
18
18
  export { AtomicInsightResult } from './atomic-insight-result/atomic-insight-result.js';
19
+ export { AtomicInsightResultAction } from './atomic-insight-result-action/atomic-insight-result-action.js';
19
20
  export { AtomicInsightResultActionBar } from './atomic-insight-result-action-bar/atomic-insight-result-action-bar.js';
20
21
  export { AtomicInsightResultAttachToCaseAction } from './atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.js';
21
22
  export { AtomicInsightResultAttachToCaseIndicator } from './atomic-insight-result-attach-to-case-indicator/atomic-insight-result-attach-to-case-indicator.js';
22
23
  export { AtomicInsightResultChildren } from './atomic-insight-result-children/atomic-insight-result-children.js';
24
+ export { AtomicInsightResultChildrenTemplate } from './atomic-insight-result-children-template/atomic-insight-result-children-template.js';
23
25
  export { AtomicInsightResultList } from './atomic-insight-result-list/atomic-insight-result-list.js';
24
26
  export { AtomicInsightResultQuickviewAction } from './atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.js';
25
27
  export { AtomicInsightResultTemplate } from './atomic-insight-result-template/atomic-insight-result-template.js';
@@ -29,6 +31,7 @@ export { AtomicInsightSmartSnippetFeedbackModal } from './atomic-insight-smart-s
29
31
  export { AtomicInsightSmartSnippetSuggestions } from './atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.js';
30
32
  export { AtomicInsightTab } from './atomic-insight-tab/atomic-insight-tab.js';
31
33
  export { AtomicInsightTabs } from './atomic-insight-tabs/atomic-insight-tabs.js';
34
+ export { AtomicInsightTimeframeFacet } from './atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js';
32
35
  export { AtomicInsightUserActionsModal } from './atomic-insight-user-actions-modal/atomic-insight-user-actions-modal.js';
33
36
  export { AtomicInsightUserActionsSession } from './atomic-insight-user-actions-session/atomic-insight-user-actions-session.js';
34
37
  export { AtomicInsightUserActionsTimeline } from './atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js';
@@ -17,10 +17,12 @@ export default {
17
17
  'atomic-insight-refine-modal': async () => await import('./atomic-insight-refine-modal/atomic-insight-refine-modal.js'),
18
18
  'atomic-insight-refine-toggle': async () => await import('./atomic-insight-refine-toggle/atomic-insight-refine-toggle.js'),
19
19
  'atomic-insight-result': async () => await import('./atomic-insight-result/atomic-insight-result.js'),
20
+ 'atomic-insight-result-action': async () => await import('./atomic-insight-result-action/atomic-insight-result-action.js'),
20
21
  'atomic-insight-result-action-bar': async () => await import('./atomic-insight-result-action-bar/atomic-insight-result-action-bar.js'),
21
22
  'atomic-insight-result-attach-to-case-action': async () => await import('./atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.js'),
22
23
  'atomic-insight-result-attach-to-case-indicator': async () => await import('./atomic-insight-result-attach-to-case-indicator/atomic-insight-result-attach-to-case-indicator.js'),
23
24
  'atomic-insight-result-children': async () => await import('./atomic-insight-result-children/atomic-insight-result-children.js'),
25
+ 'atomic-insight-result-children-template': async () => await import('./atomic-insight-result-children-template/atomic-insight-result-children-template.js'),
24
26
  'atomic-insight-result-list': async () => await import('./atomic-insight-result-list/atomic-insight-result-list.js'),
25
27
  'atomic-insight-result-quickview-action': async () => await import('./atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.js'),
26
28
  'atomic-insight-result-template': async () => await import('./atomic-insight-result-template/atomic-insight-result-template.js'),
@@ -30,6 +32,7 @@ export default {
30
32
  'atomic-insight-smart-snippet-suggestions': async () => await import('./atomic-insight-smart-snippet-suggestions/atomic-insight-smart-snippet-suggestions.js'),
31
33
  'atomic-insight-tab': async () => await import('./atomic-insight-tab/atomic-insight-tab.js'),
32
34
  'atomic-insight-tabs': async () => await import('./atomic-insight-tabs/atomic-insight-tabs.js'),
35
+ 'atomic-insight-timeframe-facet': async () => await import('./atomic-insight-timeframe-facet/atomic-insight-timeframe-facet.js'),
33
36
  'atomic-insight-user-actions-modal': async () => await import('./atomic-insight-user-actions-modal/atomic-insight-user-actions-modal.js'),
34
37
  'atomic-insight-user-actions-session': async () => await import('./atomic-insight-user-actions-session/atomic-insight-user-actions-session.js'),
35
38
  'atomic-insight-user-actions-timeline': async () => await import('./atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js'),
@@ -18,7 +18,7 @@ import { errorGuard } from "../../../decorators/error-guard";
18
18
  import { ChildrenUpdateCompleteMixin } from "../../../mixins/children-update-complete-mixin";
19
19
  import { buildCustomEvent } from "../../../utils/event-utils";
20
20
  import { isParentReady, markParentAsReady, } from "../../../utils/init-queue";
21
- import { initializeEventName, } from "../../../utils/initialization-lit-stencil-common-utils";
21
+ import { initializeEventName, } from "../../../utils/initialization-common-utils";
22
22
  /**
23
23
  * The `atomic-external` component allows components defined outside of the `atomic-search-interface` to initialize.
24
24
  *
@@ -9,6 +9,7 @@ import { NumberValue, Schema } from '@coveo/bueno';
9
9
  import { buildGeneratedAnswer, buildInteractiveCitation, buildSearchStatus, buildTabManager, } from '@coveo/headless';
10
10
  import { html, LitElement, nothing } from 'lit';
11
11
  import { customElement, property, state } from 'lit/decorators.js';
12
+ import { classMap } from 'lit/directives/class-map.js';
12
13
  import { when } from 'lit/directives/when.js';
13
14
  import { GeneratedAnswerController } from "../../common/generated-answer/generated-answer-controller";
14
15
  import { renderAnswerContent } from "../../common/generated-answer/render-answer-content";
@@ -31,6 +32,8 @@ import { debounce } from "../../../utils/debounce-utils";
31
32
  import { getNamedSlotContent } from "../../../utils/slot-utils";
32
33
  import { shouldDisplayOnCurrentTab } from "../../../utils/tab-utils";
33
34
  import atomicGeneratedAnswerStyles from './atomic-generated-answer.tw.css.js';
35
+ import "../../common/generated-answer/atomic-generated-answers-thread/atomic-generated-answers-thread.js";
36
+ import { renderFollowUpInput } from "../../common/generated-answer/render-follow-up-input.js";
34
37
  /**
35
38
  * The `atomic-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.
36
39
  * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)
@@ -164,7 +167,7 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
164
167
  this.searchStatus = buildSearchStatus(this.bindings.engine);
165
168
  this.tabManager = buildTabManager(this.bindings.engine);
166
169
  this.controller.insertFeedbackModal();
167
- if (window.ResizeObserver && this.collapsible) {
170
+ if (window.ResizeObserver && this.isCollapsibleEnabled) {
168
171
  const debouncedAdaptAnswerHeight = debounce(() => this.adaptAnswerHeight(), 100);
169
172
  this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);
170
173
  this.resizeObserver.observe(this);
@@ -189,13 +192,19 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
189
192
  if (changedProperties.has('generatedAnswerState')) {
190
193
  const oldState = changedProperties.get('generatedAnswerState');
191
194
  if (oldState &&
192
- this.generatedAnswerState?.expanded !== oldState?.expanded) {
195
+ this.generatedAnswerState?.expanded !== oldState?.expanded &&
196
+ this.isCollapsibleEnabled) {
193
197
  const container = this.getAnswerContainer();
194
198
  if (container) {
195
199
  this.toggleClass(container, 'answer-collapsed', !this.generatedAnswerState.expanded);
196
200
  }
197
201
  }
198
202
  }
203
+ if ((changedProperties.has('collapsible') ||
204
+ changedProperties.has('agentId')) &&
205
+ !this.isCollapsibleEnabled) {
206
+ this.resetCollapsibleStyles();
207
+ }
199
208
  }
200
209
  render() {
201
210
  if (!shouldDisplayOnCurrentTab(this.tabsIncluded, this.tabsExcluded, this.tabManagerState?.activeTab)) {
@@ -231,14 +240,24 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
231
240
  >
232
241
  <div part="generated-content">
233
242
  ${this.renderCardHeaderWrapper()}
234
- ${when(this.isAnswerVisible, () => html ` <div part="generated-content-container" class="px-6 pb-6">
235
- <article>${this.renderAnswerContent()}</article>
236
- ${renderDisclaimer({
243
+ ${when(this.isAnswerVisible, () => html ` <div part="generated-content-container" class="pb-6">
244
+ <div
245
+ class=${classMap({
246
+ 'px-6': true,
247
+ 'agent-scrollable': this.areFollowUpsEnabled,
248
+ })}
249
+ >
250
+ <article>${this.renderAnswerContent()}</article>
251
+ </div>
252
+ <div class="px-6 pt-2">
253
+ ${this.renderAskFollowUpInputWrapper()}
254
+ ${renderDisclaimer({
237
255
  props: {
238
256
  i18n: this.bindings.i18n,
239
257
  isStreaming: !!this.generatedAnswerState.isStreaming,
240
258
  },
241
259
  })}
260
+ </div>
242
261
  </div>`)}
243
262
  </div>
244
263
  </aside>
@@ -308,7 +327,11 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
308
327
  ?.getBoundingClientRect().height;
309
328
  if (answerHeight) {
310
329
  const rootFontSize = parseFloat(getComputedStyle(document.documentElement).fontSize);
311
- this.fullAnswerHeight = answerHeight / rootFontSize;
330
+ const nextFullAnswerHeight = answerHeight / rootFontSize;
331
+ if (this.fullAnswerHeight !== nextFullAnswerHeight) {
332
+ this.fullAnswerHeight = nextFullAnswerHeight;
333
+ this.requestUpdate();
334
+ }
312
335
  this.updateAnswerHeight();
313
336
  }
314
337
  }
@@ -349,8 +372,7 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
349
372
  clickLike() {
350
373
  this.controller.clickLike();
351
374
  }
352
- renderCitationsList() {
353
- const { citations } = this.generatedAnswerState ?? {};
375
+ renderCitationsList(citations) {
354
376
  return renderCitations({
355
377
  props: {
356
378
  citations,
@@ -386,22 +408,67 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
386
408
  });
387
409
  }
388
410
  renderAnswerContent() {
389
- const generatedAnswer = {
390
- ...this.generatedAnswerState,
391
- question: this.bindings.engine.state.query?.q ?? '',
392
- };
411
+ if (this.areFollowUpsEnabled) {
412
+ const generatedAnswerWithQuestion = {
413
+ ...this.generatedAnswerState,
414
+ question: this.bindings.engine.state.query?.q ?? '',
415
+ };
416
+ const allGeneratedAnswers = [
417
+ generatedAnswerWithQuestion,
418
+ ...(this.generatedAnswerWithFollowUps?.state.followUpAnswers
419
+ .followUpAnswers ?? []),
420
+ ];
421
+ return html `<atomic-generated-answers-thread
422
+ .generatedAnswers=${allGeneratedAnswers}
423
+ .i18n=${this.bindings.i18n}
424
+ .renderCitations=${this.renderCitationsList.bind(this)}
425
+ .onClickLike=${(answerId) => this.generatedAnswer.like(answerId)}
426
+ .onClickDislike=${(answerId) => this.generatedAnswer.dislike(answerId)}
427
+ .onCopyToClipboard=${(answerId) => this.generatedAnswer.logCopyToClipboard(answerId)}
428
+ ></atomic-generated-answers-thread>`;
429
+ }
393
430
  return renderAnswerContent({
394
431
  props: {
395
432
  i18n: this.bindings.i18n,
396
- generatedAnswer: generatedAnswer,
397
- collapsible: this.collapsible,
433
+ generatedAnswer: this.generatedAnswerState,
434
+ collapsible: this.isCollapsibleEnabled,
398
435
  renderFeedbackAndCopyButtonsSlot: () => this.renderFeedbackAndCopyButtonsWrapper(),
399
- renderCitationsSlot: () => html `${this.renderCitationsList()}`,
436
+ renderCitationsSlot: () => html `${this.renderCitationsList(this.generatedAnswerState.citations)}`,
400
437
  onRetry: () => this.generatedAnswer?.retry(),
401
438
  onClickShowButton: () => this.clickOnShowButton(),
402
439
  },
403
440
  });
404
441
  }
442
+ get hasAgentId() {
443
+ return Boolean(this.agentId);
444
+ }
445
+ get generatedAnswerWithFollowUps() {
446
+ if (!this.hasAgentId ||
447
+ !this.generatedAnswer ||
448
+ !('askFollowUp' in this.generatedAnswer)) {
449
+ return undefined;
450
+ }
451
+ return this.generatedAnswer;
452
+ }
453
+ get areFollowUpsEnabled() {
454
+ return (this.generatedAnswerWithFollowUps?.state.followUpAnswers?.isEnabled ===
455
+ true);
456
+ }
457
+ get isCollapsibleEnabled() {
458
+ return (this.collapsible &&
459
+ !this.areFollowUpsEnabled &&
460
+ (this.fullAnswerHeight ?? 0) > this.validateMaxCollapsedHeight());
461
+ }
462
+ resetCollapsibleStyles() {
463
+ const container = this.getAnswerContainer();
464
+ const footer = this.getAnswerFooter();
465
+ if (!container || !footer) {
466
+ return;
467
+ }
468
+ this.toggleClass(container, 'answer-collapsed', false);
469
+ this.toggleClass(footer, 'is-collapsible', false);
470
+ this.toggleClass(footer, 'generating-label-visible', false);
471
+ }
405
472
  renderCardHeaderWrapper() {
406
473
  return renderCardHeader({
407
474
  props: {
@@ -415,6 +482,32 @@ let AtomicGeneratedAnswer = AtomicGeneratedAnswer_1 = class AtomicGeneratedAnswe
415
482
  },
416
483
  });
417
484
  }
485
+ get isAnswerGenerationOngoing() {
486
+ const initialAnswerPending = this.generatedAnswerState.isStreaming ||
487
+ this.generatedAnswerState.isLoading;
488
+ return (initialAnswerPending ||
489
+ (this.generatedAnswerWithFollowUps?.state.followUpAnswers?.followUpAnswers?.some((answer) => answer.isStreaming || answer.isLoading) ??
490
+ false));
491
+ }
492
+ async handleAskFollowUp(question) {
493
+ if (this.areFollowUpsEnabled) {
494
+ await this.generatedAnswerWithFollowUps?.askFollowUp(question);
495
+ }
496
+ }
497
+ renderAskFollowUpInputWrapper() {
498
+ if (!this.areFollowUpsEnabled) {
499
+ return nothing;
500
+ }
501
+ return html ` <div class="mb-2">
502
+ ${renderFollowUpInput({
503
+ props: {
504
+ i18n: this.bindings.i18n,
505
+ submitButtonDisabled: this.isAnswerGenerationOngoing,
506
+ askFollowUp: this.handleAskFollowUp.bind(this),
507
+ },
508
+ })}
509
+ </div>`;
510
+ }
418
511
  };
419
512
  AtomicGeneratedAnswer.styles = [atomicGeneratedAnswerStyles];
420
513
  AtomicGeneratedAnswer.propsSchema = new Schema({