@coveo/atomic 3.33.0 → 3.33.1-pre.2a3e15151f

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 (413) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/analytics-config.js +1 -1
  4. package/dist/atomic/components/analytics-config.js.map +1 -1
  5. package/dist/atomic/components/atomic-category-facet.js +1 -1
  6. package/dist/atomic/components/atomic-citation.js +1 -547
  7. package/dist/atomic/components/atomic-citation.js.map +1 -1
  8. package/dist/{esm/atomic-citation.entry.js → atomic/components/atomic-citation2.js} +35 -13
  9. package/dist/atomic/components/atomic-citation2.js.map +1 -0
  10. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  11. package/dist/atomic/components/atomic-facet.js +1 -1
  12. package/dist/atomic/components/atomic-format-currency.js +1 -1
  13. package/dist/atomic/components/atomic-format-number.js +1 -1
  14. package/dist/atomic/components/atomic-format-unit.js +1 -1
  15. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -440
  16. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +1 -1
  17. package/dist/{esm/atomic-generated-answer-feedback-modal.entry.js → atomic/components/atomic-generated-answer-feedback-modal2.js} +55 -25
  18. package/dist/atomic/components/atomic-generated-answer-feedback-modal2.js.map +1 -0
  19. package/dist/atomic/components/atomic-generated-answer.js +91 -28
  20. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  21. package/dist/atomic/components/atomic-html2.js +1 -1
  22. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  23. package/dist/atomic/components/atomic-insight-generated-answer.js +98 -34
  24. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  25. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  26. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  27. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  28. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  29. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  30. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  31. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  33. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  34. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  36. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  37. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  38. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  39. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  40. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  41. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  42. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  43. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  44. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  45. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  46. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  47. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  50. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  51. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  52. package/dist/atomic/components/atomic-no-results.js +1 -1
  53. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  54. package/dist/atomic/components/atomic-pager.js +3 -3
  55. package/dist/atomic/components/atomic-popover.js +1 -1
  56. package/dist/atomic/components/atomic-query-error.js +1 -1
  57. package/dist/atomic/components/atomic-query-summary.js +1 -1
  58. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  59. package/dist/atomic/components/atomic-quickview.js +1 -1
  60. package/dist/atomic/components/atomic-recs-error.js +1 -1
  61. package/dist/atomic/components/atomic-recs-list.js +1 -1
  62. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  63. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  64. package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
  65. package/dist/atomic/components/atomic-result-children.js +1 -1
  66. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  67. package/dist/atomic/components/atomic-result-link.js +2 -2
  68. package/dist/atomic/components/atomic-result-list.js +1 -1
  69. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  70. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  71. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  72. package/dist/atomic/components/atomic-search-box.js +4 -4
  73. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  74. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  75. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  76. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  77. package/dist/atomic/components/attributes-slot.js +1 -1
  78. package/dist/atomic/components/createPopper.js +1 -1
  79. package/dist/atomic/components/{generated-answer-common.js → generated-answer-renderer.js} +159 -247
  80. package/dist/atomic/components/generated-answer-renderer.js.map +1 -0
  81. package/dist/atomic/components/global/environment.js +1 -1
  82. package/dist/atomic/components/popper-lite.js +1 -1
  83. package/dist/atomic/components/slot-utils.js +1 -1
  84. package/dist/atomic/components/tab-popover.js +1 -1
  85. package/dist/atomic/p-027b85e5.js +2 -0
  86. package/dist/atomic/{p-bed5a86b.js.map → p-027b85e5.js.map} +1 -1
  87. package/dist/atomic/{p-5db0ffd7.entry.js → p-0565e73b.entry.js} +2 -2
  88. package/dist/atomic/{p-f2bae47c.entry.js → p-061fb6f9.entry.js} +2 -2
  89. package/dist/atomic/{p-8044bbe4.entry.js → p-064567c3.entry.js} +2 -2
  90. package/dist/atomic/{p-7b9026d7.js → p-07f25674.js} +2 -2
  91. package/dist/atomic/{p-75b863ea.entry.js → p-0a76cd30.entry.js} +2 -2
  92. package/dist/atomic/{p-c727cd49.entry.js → p-0d32a5f2.entry.js} +2 -2
  93. package/dist/atomic/{p-eb026d69.entry.js → p-129799b2.entry.js} +2 -2
  94. package/dist/atomic/{p-3bda3e96.entry.js → p-12e41bc3.entry.js} +2 -2
  95. package/dist/atomic/{p-8b6aaeed.entry.js → p-15048f34.entry.js} +2 -2
  96. package/dist/atomic/{p-7464f00a.entry.js → p-15214935.entry.js} +2 -2
  97. package/dist/atomic/{p-a3aaf456.entry.js → p-19db78c9.entry.js} +2 -2
  98. package/dist/atomic/{p-fb26a29f.entry.js → p-24302330.entry.js} +2 -2
  99. package/dist/atomic/{p-c19a9af4.entry.js → p-25263126.entry.js} +2 -2
  100. package/dist/atomic/{p-633628d5.entry.js → p-25c09399.entry.js} +2 -2
  101. package/dist/atomic/{p-77ae34ce.entry.js → p-37d6236f.entry.js} +2 -2
  102. package/dist/atomic/{p-db9ca9c3.entry.js → p-395b2384.entry.js} +2 -2
  103. package/dist/atomic/{p-1e21a920.entry.js → p-3fd98a23.entry.js} +2 -2
  104. package/dist/atomic/{p-100da102.entry.js → p-40c4d7ac.entry.js} +2 -2
  105. package/dist/atomic/{p-db3dce80.entry.js → p-452b7ae6.entry.js} +2 -2
  106. package/dist/atomic/{p-946fe85f.js → p-4aaffb59.js} +2 -2
  107. package/dist/atomic/{p-9da1c516.entry.js → p-4bf5df6f.entry.js} +2 -2
  108. package/dist/atomic/{p-6083c9be.entry.js → p-4d15767c.entry.js} +2 -2
  109. package/dist/atomic/{p-d172edcc.entry.js → p-5459a1f0.entry.js} +2 -2
  110. package/dist/atomic/{p-2f668825.entry.js → p-556d401d.entry.js} +2 -2
  111. package/dist/atomic/{p-c35fb052.entry.js → p-55e41484.entry.js} +2 -2
  112. package/dist/atomic/{p-48c8a766.entry.js → p-5730dec7.entry.js} +2 -2
  113. package/dist/atomic/{p-4eb5bc54.entry.js → p-5a366eac.entry.js} +2 -2
  114. package/dist/atomic/p-5d785d02.entry.js +2 -0
  115. package/dist/atomic/p-5d785d02.entry.js.map +1 -0
  116. package/dist/atomic/p-632046cf.entry.js +2 -0
  117. package/dist/atomic/{p-dc89e560.entry.js → p-6c7d88eb.entry.js} +2 -2
  118. package/dist/atomic/{p-27064d6e.entry.js → p-6f151c5f.entry.js} +2 -2
  119. package/dist/atomic/{p-444bff80.entry.js → p-77160de0.entry.js} +2 -2
  120. package/dist/atomic/{p-a1924914.entry.js → p-789c166b.entry.js} +2 -2
  121. package/dist/atomic/{p-8b80d576.entry.js → p-80b418c5.entry.js} +2 -2
  122. package/dist/atomic/{p-fbacb7a0.entry.js → p-8321376b.entry.js} +2 -2
  123. package/dist/atomic/{p-731b7ad8.entry.js → p-83d0fa08.entry.js} +2 -2
  124. package/dist/atomic/p-847d1273.entry.js +2 -0
  125. package/dist/atomic/{p-5afe99b1.entry.js → p-85dcd0b8.entry.js} +2 -2
  126. package/dist/atomic/{p-ba67a16b.js → p-87c13ba0.js} +2 -2
  127. package/dist/atomic/{p-ba67a16b.js.map → p-87c13ba0.js.map} +1 -1
  128. package/dist/atomic/{p-009525f1.entry.js → p-88f0bb62.entry.js} +2 -2
  129. package/dist/atomic/{p-113cc160.entry.js → p-8baf5ec4.entry.js} +2 -2
  130. package/dist/atomic/{p-bfdecd0f.entry.js → p-8bdd7a67.entry.js} +2 -2
  131. package/dist/atomic/{p-e392095a.entry.js → p-8dec58c0.entry.js} +2 -2
  132. package/dist/atomic/{p-f9289f2f.entry.js → p-8f277cb8.entry.js} +2 -2
  133. package/dist/atomic/{p-8d0b9f5a.entry.js → p-9742f412.entry.js} +2 -2
  134. package/dist/atomic/{p-882a99f5.entry.js → p-99d5f93b.entry.js} +2 -2
  135. package/dist/atomic/{p-b0bd2709.entry.js → p-9cb248b7.entry.js} +2 -2
  136. package/dist/atomic/{p-5c813055.entry.js → p-9de46009.entry.js} +2 -2
  137. package/dist/atomic/p-aad40b42.js +2 -0
  138. package/dist/atomic/p-aad40b42.js.map +1 -0
  139. package/dist/atomic/{p-ca0a32dc.entry.js → p-afe08816.entry.js} +2 -2
  140. package/dist/atomic/{p-09924944.entry.js → p-b5d80111.entry.js} +2 -2
  141. package/dist/atomic/{p-04481727.entry.js → p-b8b26796.entry.js} +2 -2
  142. package/dist/atomic/{p-b6c5584a.entry.js → p-bc03189c.entry.js} +2 -2
  143. package/dist/atomic/{p-09934c1e.entry.js → p-c7fc7d32.entry.js} +2 -2
  144. package/dist/atomic/p-ccfe600e.entry.js +2 -0
  145. package/dist/atomic/p-ccfe600e.entry.js.map +1 -0
  146. package/dist/atomic/{p-22ef68f4.entry.js → p-cdf2f41d.entry.js} +2 -2
  147. package/dist/atomic/{p-58fe83ae.entry.js → p-d23032ec.entry.js} +2 -2
  148. package/dist/atomic/{p-31d3304c.entry.js → p-d554cf29.entry.js} +2 -2
  149. package/dist/atomic/{p-9a72f043.entry.js → p-d6937e96.entry.js} +2 -2
  150. package/dist/atomic/{p-2b76b255.entry.js → p-d6992ca7.entry.js} +2 -2
  151. package/dist/atomic/{p-4dd88abc.entry.js → p-d91d00a0.entry.js} +2 -2
  152. package/dist/atomic/{p-d5628c4c.entry.js → p-dbac498d.entry.js} +2 -2
  153. package/dist/atomic/{p-91d64c67.entry.js → p-dbeed413.entry.js} +2 -2
  154. package/dist/atomic/p-dbf8b517.entry.js +2 -0
  155. package/dist/atomic/p-dbf8b517.entry.js.map +1 -0
  156. package/dist/atomic/{p-005dcc88.entry.js → p-e1a6502d.entry.js} +2 -2
  157. package/dist/atomic/{p-d3e1a9aa.entry.js → p-e8dd2a37.entry.js} +2 -2
  158. package/dist/atomic/{p-f5f8990e.entry.js → p-eecdba00.entry.js} +2 -2
  159. package/dist/atomic/{p-2a7ac870.entry.js → p-f165c179.entry.js} +2 -2
  160. package/dist/atomic/{p-ac8941e8.entry.js → p-f79fda00.entry.js} +2 -2
  161. package/dist/atomic/{p-09a5ef74.entry.js → p-fe934267.entry.js} +2 -2
  162. package/dist/cjs/_loader.cjs.js +1 -1
  163. package/dist/cjs/{analytics-config-f34a68ee.js → analytics-config-27e563ce.js} +2 -2
  164. package/dist/cjs/analytics-config-27e563ce.js.map +1 -0
  165. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  166. package/dist/cjs/{atomic-generated-answer-feedback-modal.cjs.entry.js → atomic-citation_2.cjs.entry.js} +526 -1
  167. package/dist/cjs/atomic-citation_2.cjs.entry.js.map +1 -0
  168. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  169. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  170. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  171. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  172. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  173. package/dist/cjs/atomic-generated-answer.cjs.entry.js +65 -27
  174. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  175. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  176. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  177. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +71 -32
  178. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  179. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  180. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  181. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  182. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  183. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  184. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +1 -1
  185. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  186. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  187. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  188. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  189. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  190. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  191. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  192. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  193. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  194. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  195. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  196. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  197. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  198. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  199. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  200. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  201. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  202. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  203. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  204. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  205. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  206. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  207. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  208. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  209. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  210. package/dist/cjs/atomic-query-error.cjs.entry.js +1 -1
  211. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  212. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  213. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  214. package/dist/cjs/atomic-recs-error.cjs.entry.js +1 -1
  215. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  216. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  217. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  218. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  219. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  220. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  221. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  222. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  223. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  224. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
  225. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  226. package/dist/cjs/atomic-search-box.cjs.entry.js +4 -4
  227. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  228. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  229. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  230. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  231. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  232. package/dist/cjs/atomic.cjs.js +1 -1
  233. package/dist/cjs/{generated-answer-common-4cd4b7c6.js → generated-answer-renderer-b91052b8.js} +164 -247
  234. package/dist/cjs/generated-answer-renderer-b91052b8.js.map +1 -0
  235. package/dist/cjs/index-757bc886.js +4 -8
  236. package/dist/cjs/version.cjs.js +2 -2
  237. package/dist/esm/_loader.js +1 -1
  238. package/dist/esm/{analytics-config-672b6eba.js → analytics-config-9607b4dd.js} +2 -2
  239. package/dist/esm/analytics-config-9607b4dd.js.map +1 -0
  240. package/dist/esm/atomic-category-facet.entry.js +1 -1
  241. package/dist/esm/atomic-citation_2.entry.js +938 -0
  242. package/dist/esm/atomic-citation_2.entry.js.map +1 -0
  243. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  244. package/dist/esm/atomic-facet.entry.js +1 -1
  245. package/dist/esm/atomic-format-currency.entry.js +1 -1
  246. package/dist/esm/atomic-format-number.entry.js +1 -1
  247. package/dist/esm/atomic-format-unit.entry.js +1 -1
  248. package/dist/esm/atomic-generated-answer.entry.js +67 -29
  249. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  250. package/dist/esm/atomic-html.entry.js +1 -1
  251. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  252. package/dist/esm/atomic-insight-generated-answer.entry.js +74 -35
  253. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  254. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  255. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  256. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  257. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  258. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  259. package/dist/esm/atomic-insight-query-error.entry.js +1 -1
  260. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  261. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  262. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  263. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  264. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  265. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  266. package/dist/esm/atomic-insight-result.entry.js +1 -1
  267. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  268. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  269. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  270. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  271. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  272. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  273. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  274. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  275. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  276. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  277. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  278. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  279. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  280. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  281. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  282. package/dist/esm/atomic-no-results.entry.js +1 -1
  283. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  284. package/dist/esm/atomic-pager.entry.js +3 -3
  285. package/dist/esm/atomic-popover.entry.js +2 -2
  286. package/dist/esm/atomic-query-error.entry.js +1 -1
  287. package/dist/esm/atomic-query-summary.entry.js +1 -1
  288. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  289. package/dist/esm/atomic-quickview.entry.js +1 -1
  290. package/dist/esm/atomic-recs-error.entry.js +1 -1
  291. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  292. package/dist/esm/atomic-recs-list.entry.js +1 -1
  293. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  294. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  295. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  296. package/dist/esm/atomic-result-children.entry.js +1 -1
  297. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  298. package/dist/esm/atomic-result-link.entry.js +1 -1
  299. package/dist/esm/atomic-result-list.entry.js +1 -1
  300. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
  301. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +3 -3
  302. package/dist/esm/atomic-search-box.entry.js +5 -5
  303. package/dist/esm/atomic-search-interface.entry.js +2 -2
  304. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  305. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  306. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  307. package/dist/esm/atomic-tab-bar_2.entry.js +2 -2
  308. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  309. package/dist/esm/atomic.js +1 -1
  310. package/dist/esm/{createPopper-a633eb88.js → createPopper-ed15cfea.js} +2 -2
  311. package/dist/esm/{createPopper-a633eb88.js.map → createPopper-ed15cfea.js.map} +1 -1
  312. package/dist/esm/{generated-answer-common-06146290.js → generated-answer-renderer-469d25f0.js} +159 -247
  313. package/dist/esm/generated-answer-renderer-469d25f0.js.map +1 -0
  314. package/dist/esm/index-3f35faca.js +4 -8
  315. package/dist/esm/{local-storage-utils-410269e6.js → local-storage-utils-a4bf8fba.js} +2 -2
  316. package/dist/esm/{local-storage-utils-410269e6.js.map → local-storage-utils-a4bf8fba.js.map} +1 -1
  317. package/dist/esm/{popper-lite-2035100c.js → popper-lite-4b6382b2.js} +2 -2
  318. package/dist/esm/{popper-lite-2035100c.js.map → popper-lite-4b6382b2.js.map} +1 -1
  319. package/dist/esm/version.js +2 -2
  320. package/dist/types/components/common/generated-answer/generated-answer-common.d.ts +15 -54
  321. package/dist/types/components/common/generated-answer/generated-answer-renderer.d.ts +25 -0
  322. package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +11 -3
  323. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +9 -1
  324. package/docs/atomic-docs.json +17 -3
  325. package/package.json +3 -3
  326. package/dist/atomic/components/generated-answer-common.js.map +0 -1
  327. package/dist/atomic/p-0c076058.entry.js +0 -2
  328. package/dist/atomic/p-0c076058.entry.js.map +0 -1
  329. package/dist/atomic/p-421850f9.entry.js +0 -2
  330. package/dist/atomic/p-421850f9.entry.js.map +0 -1
  331. package/dist/atomic/p-52121e1e.entry.js +0 -2
  332. package/dist/atomic/p-579c5b46.entry.js +0 -2
  333. package/dist/atomic/p-579c5b46.entry.js.map +0 -1
  334. package/dist/atomic/p-5fca1435.js +0 -2
  335. package/dist/atomic/p-5fca1435.js.map +0 -1
  336. package/dist/atomic/p-bed5a86b.js +0 -2
  337. package/dist/atomic/p-d5d1c5c0.entry.js +0 -2
  338. package/dist/atomic/p-e27e1e46.entry.js +0 -2
  339. package/dist/atomic/p-e27e1e46.entry.js.map +0 -1
  340. package/dist/cjs/analytics-config-f34a68ee.js.map +0 -1
  341. package/dist/cjs/atomic-citation.cjs.entry.js +0 -533
  342. package/dist/cjs/atomic-citation.cjs.entry.js.map +0 -1
  343. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +0 -1
  344. package/dist/cjs/generated-answer-common-4cd4b7c6.js.map +0 -1
  345. package/dist/esm/analytics-config-672b6eba.js.map +0 -1
  346. package/dist/esm/atomic-citation.entry.js.map +0 -1
  347. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +0 -1
  348. package/dist/esm/generated-answer-common-06146290.js.map +0 -1
  349. /package/dist/atomic/{p-5db0ffd7.entry.js.map → p-0565e73b.entry.js.map} +0 -0
  350. /package/dist/atomic/{p-f2bae47c.entry.js.map → p-061fb6f9.entry.js.map} +0 -0
  351. /package/dist/atomic/{p-8044bbe4.entry.js.map → p-064567c3.entry.js.map} +0 -0
  352. /package/dist/atomic/{p-7b9026d7.js.map → p-07f25674.js.map} +0 -0
  353. /package/dist/atomic/{p-75b863ea.entry.js.map → p-0a76cd30.entry.js.map} +0 -0
  354. /package/dist/atomic/{p-c727cd49.entry.js.map → p-0d32a5f2.entry.js.map} +0 -0
  355. /package/dist/atomic/{p-eb026d69.entry.js.map → p-129799b2.entry.js.map} +0 -0
  356. /package/dist/atomic/{p-3bda3e96.entry.js.map → p-12e41bc3.entry.js.map} +0 -0
  357. /package/dist/atomic/{p-8b6aaeed.entry.js.map → p-15048f34.entry.js.map} +0 -0
  358. /package/dist/atomic/{p-7464f00a.entry.js.map → p-15214935.entry.js.map} +0 -0
  359. /package/dist/atomic/{p-a3aaf456.entry.js.map → p-19db78c9.entry.js.map} +0 -0
  360. /package/dist/atomic/{p-fb26a29f.entry.js.map → p-24302330.entry.js.map} +0 -0
  361. /package/dist/atomic/{p-c19a9af4.entry.js.map → p-25263126.entry.js.map} +0 -0
  362. /package/dist/atomic/{p-633628d5.entry.js.map → p-25c09399.entry.js.map} +0 -0
  363. /package/dist/atomic/{p-77ae34ce.entry.js.map → p-37d6236f.entry.js.map} +0 -0
  364. /package/dist/atomic/{p-db9ca9c3.entry.js.map → p-395b2384.entry.js.map} +0 -0
  365. /package/dist/atomic/{p-1e21a920.entry.js.map → p-3fd98a23.entry.js.map} +0 -0
  366. /package/dist/atomic/{p-100da102.entry.js.map → p-40c4d7ac.entry.js.map} +0 -0
  367. /package/dist/atomic/{p-db3dce80.entry.js.map → p-452b7ae6.entry.js.map} +0 -0
  368. /package/dist/atomic/{p-946fe85f.js.map → p-4aaffb59.js.map} +0 -0
  369. /package/dist/atomic/{p-9da1c516.entry.js.map → p-4bf5df6f.entry.js.map} +0 -0
  370. /package/dist/atomic/{p-6083c9be.entry.js.map → p-4d15767c.entry.js.map} +0 -0
  371. /package/dist/atomic/{p-d172edcc.entry.js.map → p-5459a1f0.entry.js.map} +0 -0
  372. /package/dist/atomic/{p-2f668825.entry.js.map → p-556d401d.entry.js.map} +0 -0
  373. /package/dist/atomic/{p-c35fb052.entry.js.map → p-55e41484.entry.js.map} +0 -0
  374. /package/dist/atomic/{p-48c8a766.entry.js.map → p-5730dec7.entry.js.map} +0 -0
  375. /package/dist/atomic/{p-4eb5bc54.entry.js.map → p-5a366eac.entry.js.map} +0 -0
  376. /package/dist/atomic/{p-d5d1c5c0.entry.js.map → p-632046cf.entry.js.map} +0 -0
  377. /package/dist/atomic/{p-dc89e560.entry.js.map → p-6c7d88eb.entry.js.map} +0 -0
  378. /package/dist/atomic/{p-27064d6e.entry.js.map → p-6f151c5f.entry.js.map} +0 -0
  379. /package/dist/atomic/{p-444bff80.entry.js.map → p-77160de0.entry.js.map} +0 -0
  380. /package/dist/atomic/{p-a1924914.entry.js.map → p-789c166b.entry.js.map} +0 -0
  381. /package/dist/atomic/{p-8b80d576.entry.js.map → p-80b418c5.entry.js.map} +0 -0
  382. /package/dist/atomic/{p-fbacb7a0.entry.js.map → p-8321376b.entry.js.map} +0 -0
  383. /package/dist/atomic/{p-731b7ad8.entry.js.map → p-83d0fa08.entry.js.map} +0 -0
  384. /package/dist/atomic/{p-52121e1e.entry.js.map → p-847d1273.entry.js.map} +0 -0
  385. /package/dist/atomic/{p-5afe99b1.entry.js.map → p-85dcd0b8.entry.js.map} +0 -0
  386. /package/dist/atomic/{p-009525f1.entry.js.map → p-88f0bb62.entry.js.map} +0 -0
  387. /package/dist/atomic/{p-113cc160.entry.js.map → p-8baf5ec4.entry.js.map} +0 -0
  388. /package/dist/atomic/{p-bfdecd0f.entry.js.map → p-8bdd7a67.entry.js.map} +0 -0
  389. /package/dist/atomic/{p-e392095a.entry.js.map → p-8dec58c0.entry.js.map} +0 -0
  390. /package/dist/atomic/{p-f9289f2f.entry.js.map → p-8f277cb8.entry.js.map} +0 -0
  391. /package/dist/atomic/{p-8d0b9f5a.entry.js.map → p-9742f412.entry.js.map} +0 -0
  392. /package/dist/atomic/{p-882a99f5.entry.js.map → p-99d5f93b.entry.js.map} +0 -0
  393. /package/dist/atomic/{p-b0bd2709.entry.js.map → p-9cb248b7.entry.js.map} +0 -0
  394. /package/dist/atomic/{p-5c813055.entry.js.map → p-9de46009.entry.js.map} +0 -0
  395. /package/dist/atomic/{p-ca0a32dc.entry.js.map → p-afe08816.entry.js.map} +0 -0
  396. /package/dist/atomic/{p-09924944.entry.js.map → p-b5d80111.entry.js.map} +0 -0
  397. /package/dist/atomic/{p-04481727.entry.js.map → p-b8b26796.entry.js.map} +0 -0
  398. /package/dist/atomic/{p-b6c5584a.entry.js.map → p-bc03189c.entry.js.map} +0 -0
  399. /package/dist/atomic/{p-09934c1e.entry.js.map → p-c7fc7d32.entry.js.map} +0 -0
  400. /package/dist/atomic/{p-22ef68f4.entry.js.map → p-cdf2f41d.entry.js.map} +0 -0
  401. /package/dist/atomic/{p-58fe83ae.entry.js.map → p-d23032ec.entry.js.map} +0 -0
  402. /package/dist/atomic/{p-31d3304c.entry.js.map → p-d554cf29.entry.js.map} +0 -0
  403. /package/dist/atomic/{p-9a72f043.entry.js.map → p-d6937e96.entry.js.map} +0 -0
  404. /package/dist/atomic/{p-2b76b255.entry.js.map → p-d6992ca7.entry.js.map} +0 -0
  405. /package/dist/atomic/{p-4dd88abc.entry.js.map → p-d91d00a0.entry.js.map} +0 -0
  406. /package/dist/atomic/{p-d5628c4c.entry.js.map → p-dbac498d.entry.js.map} +0 -0
  407. /package/dist/atomic/{p-91d64c67.entry.js.map → p-dbeed413.entry.js.map} +0 -0
  408. /package/dist/atomic/{p-005dcc88.entry.js.map → p-e1a6502d.entry.js.map} +0 -0
  409. /package/dist/atomic/{p-d3e1a9aa.entry.js.map → p-e8dd2a37.entry.js.map} +0 -0
  410. /package/dist/atomic/{p-f5f8990e.entry.js.map → p-eecdba00.entry.js.map} +0 -0
  411. /package/dist/atomic/{p-2a7ac870.entry.js.map → p-f165c179.entry.js.map} +0 -0
  412. /package/dist/atomic/{p-ac8941e8.entry.js.map → p-f79fda00.entry.js.map} +0 -0
  413. /package/dist/atomic/{p-09a5ef74.entry.js.map → p-fe934267.entry.js.map} +0 -0
@@ -1,8 +1,7 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index-757bc886.js');
4
3
  const localStorageUtils = require('./local-storage-utils-380ce22b.js');
5
- const slotUtils = require('./slot-utils-a30cb814.js');
4
+ const index = require('./index-757bc886.js');
6
5
  const stencilHeading = require('./stencil-heading-2faee1f7.js');
7
6
  const stencilButton = require('./stencil-button-f6c2410c.js');
8
7
  const purify = require('./purify-85b542e2.js');
@@ -10,6 +9,62 @@ const _commonjsHelpers = require('./_commonjsHelpers-b3309d7b.js');
10
9
  const arrowBottomRounded = require('./arrow-bottom-rounded-705a1b2c.js');
11
10
  const arrowTopRounded = require('./arrow-top-rounded-e7a05d2f.js');
12
11
 
12
+ const readGeneratedAnswerStoredData = (withToggle) => {
13
+ const storage = new localStorageUtils.SafeStorage();
14
+ const storedData = storage.getParsedJSON(localStorageUtils.StorageItems.GENERATED_ANSWER_DATA, { isVisible: true });
15
+ // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.
16
+ return { isVisible: (withToggle && storedData.isVisible) || !withToggle };
17
+ };
18
+ const writeGeneratedAnswerStoredData = (data) => {
19
+ const storage = new localStorageUtils.SafeStorage();
20
+ storage.setJSON(localStorageUtils.StorageItems.GENERATED_ANSWER_DATA, data);
21
+ };
22
+ const insertGeneratedAnswerFeedbackModal = (host, generatedAnswer) => {
23
+ const modalRef = document.createElement('atomic-generated-answer-feedback-modal');
24
+ modalRef.generatedAnswer = generatedAnswer();
25
+ host.insertAdjacentElement('beforebegin', modalRef);
26
+ return modalRef;
27
+ };
28
+ const getGeneratedAnswerStatus = (generatedAnswerState, i18n) => {
29
+ if (!generatedAnswerState || !i18n) {
30
+ return '';
31
+ }
32
+ const isHidden = !generatedAnswerState.isVisible;
33
+ const isGenerating = !!generatedAnswerState.isStreaming;
34
+ const hasAnswer = !!generatedAnswerState.answer;
35
+ const hasError = !!generatedAnswerState.error;
36
+ if (isHidden) {
37
+ return i18n.t('generated-answer-hidden');
38
+ }
39
+ if (isGenerating) {
40
+ return i18n.t('generating-answer');
41
+ }
42
+ if (hasError) {
43
+ return i18n.t('answer-could-not-be-generated');
44
+ }
45
+ if (hasAnswer) {
46
+ return i18n.t('answer-generated', {
47
+ answer: generatedAnswerState.answer,
48
+ });
49
+ }
50
+ return '';
51
+ };
52
+ const copyToClipboard = async ({ answer, setCopied, setCopyError, onLogCopyToClipboard, logger, }) => {
53
+ try {
54
+ await navigator.clipboard.writeText(answer);
55
+ setCopied(true);
56
+ onLogCopyToClipboard();
57
+ }
58
+ catch (error) {
59
+ setCopyError(true);
60
+ logger?.error(`Failed to copy to clipboard: ${error}`);
61
+ }
62
+ setTimeout(() => {
63
+ setCopied(false);
64
+ setCopyError(false);
65
+ }, 2000);
66
+ };
67
+
13
68
  const Switch = (props) => {
14
69
  const attributes = {
15
70
  onClick: () => props.onToggle?.(!props.checked),
@@ -2672,258 +2727,120 @@ const SourceCitations = (props, children) => props.isVisible ? (index.h("div", {
2672
2727
  index.h("p", { part: "citations-label", class: "text-neutral-dark mb-2 shrink-0" }, props.label),
2673
2728
  index.h("ol", { class: "citations-container flex list-none flex-wrap items-center gap-2" }, children))) : null;
2674
2729
 
2675
- class GeneratedAnswerCommon {
2676
- constructor(props) {
2677
- this.props = props;
2678
- this.storage = new localStorageUtils.SafeStorage();
2679
- this._data = this.readStoredData();
2680
- }
2681
- insertFeedbackModal() {
2682
- this.modalRef = document.createElement('atomic-generated-answer-feedback-modal');
2683
- this.modalRef.generatedAnswer = this.props.getGeneratedAnswer();
2684
- this.props.host.insertAdjacentElement('beforebegin', this.modalRef);
2685
- }
2686
- readStoredData() {
2687
- const { withToggle } = this.props;
2688
- const storedData = this.storage.getParsedJSON(localStorageUtils.StorageItems.GENERATED_ANSWER_DATA, { isVisible: true });
2689
- // This check ensures that the answer is visible when the toggle is hidden and visible is set to false in the local storage.
2690
- return { isVisible: (withToggle && storedData.isVisible) || !withToggle };
2730
+ const GeneratedAnswerRenderer = ({ onShowButtonClick, onClickDislike, onClickLike, onCopyToClipboard, collapsible, disableCitationAnchoring, copied, i18n, copyError, generatedAnswer, generatedAnswerState, withToggle, isAnswerVisible, hasRetryableError, hasClipboard, hasNoAnswerGenerated, hasCustomNoAnswerMessage, buildInteractiveCitationForCitation }) => {
2731
+ if (hasNoAnswerGenerated) {
2732
+ return generatedAnswerState?.cannotAnswer && hasCustomNoAnswerMessage ? (index.h(GeneratedAnswerWrapper, null,
2733
+ index.h(GeneratedAnswerNoAnswerMessage, { i18n: i18n },
2734
+ index.h("slot", { name: "no-answer-message" })))) : null;
2691
2735
  }
2692
- writeStoredData(data) {
2693
- this.storage.setJSON(localStorageUtils.StorageItems.GENERATED_ANSWER_DATA, data);
2694
- }
2695
- get data() {
2696
- return this._data;
2697
- }
2698
- set data(newData) {
2699
- this._data = newData;
2700
- }
2701
- getGeneratedAnswerStatus() {
2702
- const isHidden = !this.props.getGeneratedAnswerState()?.isVisible;
2703
- const isGenerating = !!this.props.getGeneratedAnswerState()?.isStreaming;
2704
- const hasAnswer = !!this.props.getGeneratedAnswerState()?.answer;
2705
- const hasError = !!this.props.getGeneratedAnswerState()?.error;
2706
- if (isHidden) {
2707
- return this.props.getBindings().i18n.t('generated-answer-hidden');
2708
- }
2709
- if (isGenerating) {
2710
- return this.props.getBindings().i18n.t('generating-answer');
2711
- }
2712
- if (hasError) {
2713
- return this.props.getBindings().i18n.t('answer-could-not-be-generated');
2714
- }
2715
- if (hasAnswer) {
2716
- return this.props.getBindings().i18n.t('answer-generated', {
2717
- answer: this.props.getGeneratedAnswerState()?.answer,
2718
- });
2719
- }
2720
- return '';
2721
- }
2722
- get hasRetryableError() {
2723
- return (!this.props.getSearchStatusState()?.hasError &&
2724
- this.props.getGeneratedAnswerState()?.error?.isRetryable);
2725
- }
2726
- get hasNoAnswerGenerated() {
2727
- const { answer, citations } = this.props.getGeneratedAnswerState() ?? {};
2728
- return (answer === undefined && !citations?.length && !this.hasRetryableError);
2729
- }
2730
- get isAnswerVisible() {
2731
- return this.props.getGeneratedAnswerState()?.isVisible;
2732
- }
2733
- get toggleTooltip() {
2734
- const key = this.isAnswerVisible
2735
- ? 'generated-answer-toggle-on'
2736
- : 'generated-answer-toggle-off';
2737
- return this.props.getBindings().i18n.t(key);
2738
- }
2739
- get hasClipboard() {
2740
- return !!navigator?.clipboard?.writeText;
2741
- }
2742
- get copyToClipboardTooltip() {
2743
- if (this.props.getCopyError()) {
2744
- return this.props.getBindings().i18n.t('failed-to-copy-generated-answer');
2745
- }
2746
- return !this.props.getCopied()
2747
- ? this.props.getBindings().i18n.t('copy-generated-answer')
2748
- : this.props.getBindings().i18n.t('generated-answer-copied');
2749
- }
2750
- get hasCustomNoAnswerMessage() {
2751
- const slot = slotUtils.getNamedSlotFromHost(this.props.host, 'no-answer-message');
2752
- return !!slot;
2753
- }
2754
- async copyToClipboard(answer) {
2755
- try {
2756
- await navigator.clipboard.writeText(answer);
2757
- this.props.setCopied(true);
2758
- this.props.getGeneratedAnswer()?.logCopyToClipboard();
2759
- }
2760
- catch (error) {
2761
- this.props.setCopyError(true);
2762
- this.props
2763
- .getBindings()
2764
- .engine.logger.error(`Failed to copy to clipboard: ${error}`);
2765
- }
2766
- setTimeout(() => {
2767
- this.props.setCopied(false);
2768
- this.props.setCopyError(false);
2769
- }, 2000);
2736
+ return index.h(GeneratedAnswerWrapper, null,
2737
+ index.h("div", { part: "generated-content" },
2738
+ index.h(GeneratedAnswerHeader, { i18n: i18n, isAnswerVisible: !!isAnswerVisible, withToggle: withToggle, onToggle: (checked) => {
2739
+ checked ? generatedAnswer?.show() : generatedAnswer?.hide();
2740
+ } }),
2741
+ hasRetryableError && isAnswerVisible ? (index.h(GeneratedAnswerRetryPrompt, { i18n: i18n, onRetry: () => generatedAnswer?.retry() })) : null,
2742
+ !hasRetryableError && isAnswerVisible ? (index.h(GeneratedAnswerContent, { answer: generatedAnswerState?.answer, answerContentFormat: generatedAnswerState?.answerContentFormat, citations: generatedAnswerState?.citations, i18n: i18n, isStreaming: generatedAnswerState?.isStreaming, copied: copied, copyError: copyError, generatedAnswerState: generatedAnswerState, withToggle: withToggle, onClickDislike: onClickDislike, onClickLike: onClickLike, onCopyToClipboard: onCopyToClipboard, hasClipboard: hasClipboard, disableCitationAnchoring: disableCitationAnchoring, buildInteractiveCitationForCitation: buildInteractiveCitationForCitation, generatedAnswer: generatedAnswer })) : null,
2743
+ !hasRetryableError && isAnswerVisible && (index.h(GeneratedAnswerFooter, { collapsible: collapsible, expanded: generatedAnswerState?.expanded, i18n: i18n, isStreaming: generatedAnswerState?.isStreaming, onShowButtonClick: onShowButtonClick },
2744
+ index.h(GeneratedAnswerDisclaimer, { isStreaming: generatedAnswerState?.isStreaming, i18n: i18n },
2745
+ index.h("slot", { name: "disclaimer", slot: "disclaimer" }, i18n.t('generated-answer-disclaimer')))))));
2746
+ };
2747
+ const GeneratedAnswerWrapper = ({ contentClasses }, children) => {
2748
+ const classes = contentClasses ||
2749
+ 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';
2750
+ return (index.h("div", null,
2751
+ index.h("aside", { class: classes, part: "container" },
2752
+ index.h("article", null, children))));
2753
+ };
2754
+ const GeneratedAnswerHeader = ({ i18n, isAnswerVisible, withToggle, onToggle }) => {
2755
+ const toggleTooltip = isAnswerVisible
2756
+ ? i18n.t('generated-answer-toggle-on')
2757
+ : i18n.t('generated-answer-toggle-off');
2758
+ return (index.h("div", { class: "flex items-center" },
2759
+ index.h(stencilHeading.Heading, { level: 0, part: "header-label", class: "text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium" }, i18n.t('generated-answer-title')),
2760
+ index.h("div", { class: "ml-auto flex h-9 items-center" },
2761
+ index.h(Switch, { part: "toggle", checked: isAnswerVisible, onToggle: onToggle, ariaLabel: i18n.t('generated-answer-title'), title: toggleTooltip, withToggle: withToggle }))));
2762
+ };
2763
+ const GeneratedAnswerFeedbackAndCopyButtons = ({ copied, copyError, disliked, hasClipboard, i18n, isStreaming, liked, withToggle, onClickDislike, onClickLike, onCopyToClipboard, }) => {
2764
+ const containerClasses = [
2765
+ 'feedback-buttons',
2766
+ 'flex',
2767
+ 'h-9',
2768
+ 'absolute',
2769
+ 'top-6',
2770
+ 'shrink-0',
2771
+ 'gap-2',
2772
+ withToggle ? 'right-20' : 'right-6',
2773
+ ].join(' ');
2774
+ if (isStreaming) {
2775
+ return null;
2770
2776
  }
2771
- clickOnShowButton() {
2772
- if (this.props.getGeneratedAnswerState()?.expanded) {
2773
- this.props.getGeneratedAnswer()?.collapse();
2774
- }
2775
- else {
2776
- this.props.getGeneratedAnswer()?.expand();
2777
- }
2777
+ const copyToClipboardTooltip = copyError
2778
+ ? i18n.t('failed-to-copy-generated-answer')
2779
+ : !copied
2780
+ ? i18n.t('copy-generated-answer')
2781
+ : i18n.t('generated-answer-copied');
2782
+ return (index.h("div", { class: containerClasses },
2783
+ index.h(FeedbackButton, { title: i18n.t('this-answer-was-helpful'), variant: "like", active: !!liked, onClick: onClickLike }),
2784
+ index.h(FeedbackButton, { title: i18n.t('this-answer-was-not-helpful'), variant: "dislike", active: !!disliked, onClick: onClickDislike }),
2785
+ hasClipboard ? (index.h(CopyButton, { title: copyToClipboardTooltip, isCopied: copied, error: copyError, onClick: onCopyToClipboard })) : null));
2786
+ };
2787
+ const GeneratedAnswerCitations = ({ citations, disableCitationAnchoring, buildInteractiveCitation, onLogCitationHover, i18n, }) => {
2788
+ if (!citations?.length) {
2789
+ return [];
2778
2790
  }
2779
- getCitation(citation) {
2791
+ const getCitation = (citation) => {
2780
2792
  const { title } = citation;
2781
- const { i18n } = this.props.getBindings();
2782
2793
  return title.trim() !== ''
2783
2794
  ? citation
2784
- : { ...citation, title: i18n.t('no-title') };
2785
- }
2786
- renderCitations() {
2787
- const { getGeneratedAnswerState, buildInteractiveCitation, getGeneratedAnswer, disableCitationAnchoring, } = this.props;
2788
- const { citations } = getGeneratedAnswerState() ?? {};
2789
- const { logCitationHover } = getGeneratedAnswer() ?? {};
2790
- return citations?.map((citation, index$1) => {
2791
- const interactiveCitation = buildInteractiveCitation({
2792
- options: {
2793
- citation,
2794
- },
2795
- });
2796
- return (index.h("li", { key: citation.id, class: "max-w-full" },
2797
- index.h("atomic-citation", { citation: this.getCitation(citation), index: index$1, sendHoverEndEvent: (citationHoverTimeMs) => {
2798
- logCitationHover?.(citation.id, citationHoverTimeMs);
2799
- }, interactiveCitation: interactiveCitation, disableCitationAnchoring: disableCitationAnchoring, exportparts: "citation,citation-popover" })));
2800
- });
2801
- }
2802
- renderFeedbackAndCopyButtons() {
2803
- const { getGeneratedAnswerState, getBindings, getCopied, getCopyError } = this.props;
2804
- const { i18n } = getBindings();
2805
- const { liked, disliked, answer, isStreaming } = getGeneratedAnswerState() ?? {};
2806
- const containerClasses = [
2807
- 'feedback-buttons',
2808
- 'flex',
2809
- 'h-9',
2810
- 'absolute',
2811
- 'top-6',
2812
- 'shrink-0',
2813
- 'gap-2',
2814
- this.props.withToggle ? 'right-20' : 'right-6',
2815
- ].join(' ');
2816
- if (isStreaming) {
2817
- return null;
2818
- }
2819
- return (index.h("div", { class: containerClasses },
2820
- index.h(FeedbackButton, { title: i18n.t('this-answer-was-helpful'), variant: "like", active: !!liked, onClick: () => this.clickLike() }),
2821
- index.h(FeedbackButton, { title: i18n.t('this-answer-was-not-helpful'), variant: "dislike", active: !!disliked, onClick: () => this.clickDislike() }),
2822
- this.hasClipboard ? (index.h(CopyButton, { title: this.copyToClipboardTooltip, isCopied: getCopied(), error: getCopyError(), onClick: async () => {
2823
- if (answer) {
2824
- await this.copyToClipboard(answer);
2825
- }
2826
- } })) : null));
2827
- }
2828
- setIsAnswerHelpful(isAnswerHelpful) {
2829
- if (this.modalRef) {
2830
- this.modalRef.helpful = isAnswerHelpful;
2831
- }
2832
- }
2833
- openFeedbackModal() {
2834
- if (this.modalRef &&
2835
- !this.props.getGeneratedAnswerState()?.feedbackSubmitted) {
2836
- this.modalRef.isOpen = true;
2837
- }
2838
- }
2839
- clickDislike() {
2840
- this.setIsAnswerHelpful(false);
2841
- this.props.getGeneratedAnswer()?.dislike();
2842
- this.openFeedbackModal();
2843
- }
2844
- clickLike() {
2845
- this.setIsAnswerHelpful(true);
2846
- this.props.getGeneratedAnswer()?.like();
2847
- this.openFeedbackModal();
2848
- }
2849
- renderDisclaimer() {
2850
- const { getGeneratedAnswerState, getBindings } = this.props;
2851
- const { i18n } = getBindings();
2852
- const { isStreaming } = getGeneratedAnswerState() ?? {};
2853
- if (isStreaming) {
2854
- return null;
2855
- }
2856
- return (index.h("div", { class: "text-neutral-dark text-xs/[1rem]" },
2857
- index.h("slot", { name: "disclaimer", slot: "disclaimer" }, i18n.t('generated-answer-disclaimer'))));
2858
- }
2859
- renderShowButton() {
2860
- const { getGeneratedAnswerState, getBindings, collapsible } = this.props;
2861
- const { i18n } = getBindings();
2862
- const { expanded, isStreaming } = getGeneratedAnswerState() ?? {};
2863
- const canRender = collapsible && !isStreaming;
2864
- if (!canRender) {
2865
- return null;
2866
- }
2867
- return (index.h(ShowButton, { i18n: i18n, onClick: () => this.clickOnShowButton(), isCollapsed: !expanded }));
2795
+ : { ...citation, title: i18n?.t ? i18n.t('no-title') : 'No title' };
2796
+ };
2797
+ return citations.map((citation, index$1) => {
2798
+ const interactiveCitation = buildInteractiveCitation?.(citation);
2799
+ return (index.h("li", { key: citation.id, class: "max-w-full" },
2800
+ index.h("atomic-citation", { citation: getCitation(citation), index: index$1, sendHoverEndEvent: (citationHoverTimeMs) => {
2801
+ onLogCitationHover?.(citation.id, citationHoverTimeMs);
2802
+ }, interactiveCitation: interactiveCitation, disableCitationAnchoring: disableCitationAnchoring, exportparts: "citation,citation-popover" })));
2803
+ });
2804
+ };
2805
+ const GeneratedAnswerDisclaimer = ({ isStreaming, i18n }, children) => {
2806
+ if (isStreaming) {
2807
+ return null;
2868
2808
  }
2869
- renderGeneratingAnswerLabel() {
2870
- const { getGeneratedAnswerState, getBindings, collapsible } = this.props;
2871
- const { i18n } = getBindings();
2872
- const { isStreaming } = getGeneratedAnswerState() ?? {};
2873
- const canRender = collapsible && isStreaming;
2874
- if (!canRender) {
2875
- return null;
2876
- }
2877
- return (index.h("div", { part: "is-generating", class: "text-primary hidden text-base font-light" },
2809
+ return (index.h("div", { class: "text-neutral-dark text-xs/[1rem]" }, children || i18n.t('generated-answer-disclaimer')));
2810
+ };
2811
+ const GeneratedAnswerFooter = ({ collapsible, expanded, i18n, isStreaming, onShowButtonClick }, children) => {
2812
+ const showGeneratingLabel = collapsible && isStreaming;
2813
+ const showButton = collapsible && !isStreaming;
2814
+ return (index.h("div", { part: "generated-answer-footer", class: "mt-6 flex justify-end" },
2815
+ showGeneratingLabel && (index.h("div", { part: "is-generating", class: "text-primary hidden text-base font-light" },
2878
2816
  i18n.t('generating-answer'),
2879
- "..."));
2880
- }
2881
- renderContent() {
2882
- const { getGeneratedAnswerState, getBindings, getGeneratedAnswer } = this.props;
2883
- const { i18n } = getBindings();
2884
- const { isStreaming, answer, citations, answerContentFormat } = getGeneratedAnswerState() ?? {};
2885
- return (index.h("div", { part: "generated-content" },
2886
- index.h("div", { class: "flex items-center" },
2887
- index.h(stencilHeading.Heading, { level: 0, part: "header-label", class: "text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium" }, i18n.t('generated-answer-title')),
2888
- index.h("div", { class: "ml-auto flex h-9 items-center" },
2889
- index.h(Switch, { part: "toggle", checked: this.isAnswerVisible, onToggle: (checked) => {
2890
- checked
2891
- ? getGeneratedAnswer()?.show()
2892
- : getGeneratedAnswer()?.hide();
2893
- }, ariaLabel: i18n.t('generated-answer-title'), title: this.toggleTooltip, withToggle: this.props.withToggle }))),
2894
- this.hasRetryableError && this.isAnswerVisible ? (index.h(RetryPrompt, { onClick: () => getGeneratedAnswer()?.retry(), buttonLabel: i18n.t('retry'), message: i18n.t('retry-stream-message') })) : null,
2895
- !this.hasRetryableError && this.isAnswerVisible ? (index.h(GeneratedContentContainer, { answer: answer, answerContentFormat: answerContentFormat, isStreaming: !!isStreaming },
2896
- this.renderFeedbackAndCopyButtons(),
2897
- index.h(SourceCitations, { label: i18n.t('citations'), isVisible: !!citations?.length }, this.renderCitations()))) : null,
2898
- !this.hasRetryableError && this.isAnswerVisible && (index.h("div", { part: "generated-answer-footer", class: "mt-6 flex justify-end" },
2899
- this.renderGeneratingAnswerLabel(),
2900
- this.renderShowButton(),
2901
- this.renderDisclaimer()))));
2902
- }
2903
- renderCustomNoAnswerMessage() {
2904
- const { getBindings } = this.props;
2905
- const { i18n } = getBindings();
2906
- return (index.h("div", { part: "generated-content" },
2907
- index.h("div", { class: "flex items-center" },
2908
- index.h(stencilHeading.Heading, { level: 0, part: "header-label", class: "text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium" }, i18n.t('generated-answer-title'))),
2909
- index.h("div", { part: "generated-container", class: "mt-6 break-words" },
2910
- index.h("slot", { name: "no-answer-message" }))));
2911
- }
2912
- render() {
2913
- const { getGeneratedAnswerState } = this.props;
2914
- const { cannotAnswer } = getGeneratedAnswerState() ?? {};
2915
- const contentClasses = 'mx-auto mt-0 mb-4 border border-neutral shadow-lg p-6 bg-background rounded-lg p-6 text-on-background';
2916
- if (this.hasNoAnswerGenerated) {
2917
- return cannotAnswer && this.hasCustomNoAnswerMessage ? (index.h("div", null,
2918
- index.h("aside", { class: contentClasses, part: "container" },
2919
- index.h("article", null, this.renderCustomNoAnswerMessage())))) : null;
2920
- }
2921
- return (index.h("div", null,
2922
- index.h("aside", { class: contentClasses, part: "container" },
2923
- index.h("article", null, this.renderContent()))));
2924
- }
2925
- }
2817
+ "...")),
2818
+ showButton && onShowButtonClick && (index.h(ShowButton, { i18n: i18n, onClick: onShowButtonClick, isCollapsed: !expanded })),
2819
+ children));
2820
+ };
2821
+ const GeneratedAnswerRetryPrompt = ({ i18n, onRetry }) => {
2822
+ return (index.h(RetryPrompt, { onClick: onRetry, buttonLabel: i18n.t('retry'), message: i18n.t('retry-stream-message') }));
2823
+ };
2824
+ const GeneratedAnswerContent = ({ answer, answerContentFormat, citations, i18n, isStreaming, copied, copyError, generatedAnswerState, withToggle, onClickDislike, onClickLike, onCopyToClipboard, hasClipboard, disableCitationAnchoring, buildInteractiveCitationForCitation, generatedAnswer }) => {
2825
+ return (index.h(GeneratedContentContainer, { answer: answer, answerContentFormat: answerContentFormat, isStreaming: !!isStreaming },
2826
+ index.h(GeneratedAnswerFeedbackAndCopyButtons, { copied: copied, copyError: copyError, disliked: generatedAnswerState?.disliked, hasClipboard: hasClipboard, i18n: i18n, isStreaming: generatedAnswerState?.isStreaming, liked: generatedAnswerState?.liked, withToggle: withToggle, onClickDislike: onClickDislike, onClickLike: onClickLike, onCopyToClipboard: onCopyToClipboard }),
2827
+ index.h(SourceCitations, { label: i18n.t('citations'), isVisible: !!citations?.length },
2828
+ index.h(GeneratedAnswerCitations, { citations: generatedAnswerState.citations, disableCitationAnchoring: disableCitationAnchoring, buildInteractiveCitation: buildInteractiveCitationForCitation, onLogCitationHover: (citationId, citationHoverTimeMs) => {
2829
+ generatedAnswer?.logCitationHover?.(citationId, citationHoverTimeMs);
2830
+ }, i18n: i18n }))));
2831
+ };
2832
+ const GeneratedAnswerNoAnswerMessage = ({ i18n }, children) => {
2833
+ return (index.h("div", { part: "generated-content" },
2834
+ index.h("div", { class: "flex items-center" },
2835
+ index.h(stencilHeading.Heading, { level: 0, part: "header-label", class: "text-primary bg-primary-background inline-block rounded-md px-2.5 py-2 font-medium" }, i18n.t('generated-answer-title'))),
2836
+ index.h("div", { part: "generated-container", class: "mt-6 break-words" }, children)));
2837
+ };
2926
2838
 
2927
- exports.GeneratedAnswerCommon = GeneratedAnswerCommon;
2839
+ exports.GeneratedAnswerRenderer = GeneratedAnswerRenderer;
2840
+ exports.copyToClipboard = copyToClipboard;
2841
+ exports.getGeneratedAnswerStatus = getGeneratedAnswerStatus;
2842
+ exports.insertGeneratedAnswerFeedbackModal = insertGeneratedAnswerFeedbackModal;
2843
+ exports.readGeneratedAnswerStoredData = readGeneratedAnswerStoredData;
2844
+ exports.writeGeneratedAnswerStoredData = writeGeneratedAnswerStoredData;
2928
2845
 
2929
- //# sourceMappingURL=generated-answer-common-4cd4b7c6.js.map
2846
+ //# sourceMappingURL=generated-answer-renderer-b91052b8.js.map