@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
@@ -7,7 +7,8 @@ const insight = require('@coveo/headless/insight');
7
7
  const debounceUtils = require('./debounce-utils-d26bcad4.js');
8
8
  const initializationUtils = require('./initialization-utils-381854d1.js');
9
9
  const stencilAccessibilityUtils = require('./stencil-accessibility-utils-aa4c9f6c.js');
10
- const generatedAnswerCommon = require('./generated-answer-common-4cd4b7c6.js');
10
+ const generatedAnswerRenderer = require('./generated-answer-renderer-b91052b8.js');
11
+ const slotUtils = require('./slot-utils-a30cb814.js');
11
12
  require('./dom-utils-d4790328.js');
12
13
  require('./event-utils-9bfcf3c5.js');
13
14
  require('./init-queue-a18aa323.js');
@@ -16,7 +17,6 @@ require('./utils-7153ae6b.js');
16
17
  require('./purify-85b542e2.js');
17
18
  require('./_commonjsHelpers-b3309d7b.js');
18
19
  require('./local-storage-utils-380ce22b.js');
19
- require('./slot-utils-a30cb814.js');
20
20
  require('./stencil-heading-2faee1f7.js');
21
21
  require('./stencil-button-f6c2410c.js');
22
22
  require('./stencil-button-style-ba779fe2.js');
@@ -50,23 +50,24 @@ const AtomicInsightGeneratedAnswer = class {
50
50
  *
51
51
  */
52
52
  this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
53
+ this.setCopied = debounceUtils.debounce(() => {
54
+ this.copied = false;
55
+ }, 3000);
56
+ this.setCopyError = debounceUtils.debounce(() => {
57
+ this.copyError = false;
58
+ }, 1000);
59
+ this._data = null;
53
60
  // @ts-expect-error: This function is used by BindStateToController.
54
61
  this.onGeneratedAnswerStateUpdate = () => {
55
62
  if (this.generatedAnswerState.isVisible !==
56
- this.generatedAnswerCommon?.data?.isVisible) {
57
- this.generatedAnswerCommon.data = {
58
- ...this.generatedAnswerCommon.data,
63
+ this._data?.isVisible) {
64
+ this._data = {
65
+ ...this._data,
59
66
  isVisible: this.generatedAnswerState.isVisible,
60
67
  };
61
- this.generatedAnswerCommon.writeStoredData(this.generatedAnswerCommon.data);
68
+ generatedAnswerRenderer.writeGeneratedAnswerStoredData(this._data);
62
69
  }
63
- this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());
64
- };
65
- this.setCopied = (isCopied) => {
66
- this.copied = isCopied;
67
- };
68
- this.setCopyError = (copyError) => {
69
- this.copyError = copyError;
70
+ this.setAriaMessage(generatedAnswerRenderer.getGeneratedAnswerStatus(this.generatedAnswerState, this.bindings.i18n));
70
71
  };
71
72
  this.setAriaMessage = (message) => {
72
73
  this.ariaMessage = message;
@@ -84,25 +85,10 @@ const AtomicInsightGeneratedAnswer = class {
84
85
  this.disableCitationAnchoring = undefined;
85
86
  }
86
87
  initialize() {
87
- this.generatedAnswerCommon = new generatedAnswerCommon.GeneratedAnswerCommon({
88
- host: this.host,
89
- withToggle: this.withToggle,
90
- collapsible: this.collapsible,
91
- disableCitationAnchoring: this.disableCitationAnchoring,
92
- getGeneratedAnswer: () => this.generatedAnswer,
93
- getGeneratedAnswerState: () => this.generatedAnswerState,
94
- getSearchStatusState: () => this.searchStatusState,
95
- getBindings: () => this.bindings,
96
- getCopied: () => this.copied,
97
- setCopied: this.setCopied,
98
- getCopyError: () => this.copyError,
99
- setCopyError: this.setCopyError,
100
- setAriaMessage: this.setAriaMessage,
101
- buildInteractiveCitation: (props) => insight.buildInteractiveCitation(this.bindings.engine, props),
102
- });
88
+ this._data = generatedAnswerRenderer.readGeneratedAnswerStoredData(!!this.withToggle);
103
89
  this.generatedAnswer = insight.buildGeneratedAnswer(this.bindings.engine, {
104
90
  initialState: {
105
- isVisible: this.generatedAnswerCommon.data.isVisible,
91
+ isVisible: this._data?.isVisible || false,
106
92
  responseFormat: {
107
93
  contentFormat: ['text/markdown', 'text/plain'],
108
94
  },
@@ -113,13 +99,15 @@ const AtomicInsightGeneratedAnswer = class {
113
99
  fieldsToIncludeInCitations: this.getCitationFields(),
114
100
  });
115
101
  this.searchStatus = insight.buildSearchStatus(this.bindings.engine);
116
- this.generatedAnswerCommon.insertFeedbackModal();
117
102
  if (window.ResizeObserver && this.collapsible) {
118
103
  const debouncedAdaptAnswerHeight = debounceUtils.debounce(() => this.adaptAnswerHeight(), 100);
119
104
  this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);
120
105
  this.resizeObserver.observe(this.host);
121
106
  }
122
107
  }
108
+ componentDidLoad() {
109
+ this.modalRef = generatedAnswerRenderer.insertGeneratedAnswerFeedbackModal(this.host, () => this.generatedAnswer);
110
+ }
123
111
  updateAnswerCollapsed(newState, oldState) {
124
112
  const newExpanded = newState.expanded;
125
113
  const oldExpanded = oldState ? oldState.expanded : undefined;
@@ -193,8 +181,59 @@ const AtomicInsightGeneratedAnswer = class {
193
181
  this.toggleClass(footer, 'generating-label-visible', false);
194
182
  }
195
183
  }
184
+ clickDislike() {
185
+ this.setIsAnswerHelpful(false);
186
+ this.generatedAnswer?.dislike();
187
+ this.openFeedbackModal();
188
+ }
189
+ clickLike() {
190
+ this.setIsAnswerHelpful(true);
191
+ this.generatedAnswer?.like();
192
+ this.openFeedbackModal();
193
+ }
194
+ async copyToClipboard() {
195
+ if (this.generatedAnswerState?.answer) {
196
+ await generatedAnswerRenderer.copyToClipboard({
197
+ answer: this.generatedAnswerState.answer,
198
+ setCopied: this.setCopied,
199
+ setCopyError: this.setCopyError,
200
+ onLogCopyToClipboard: () => this.generatedAnswer?.logCopyToClipboard(),
201
+ logger: this.bindings.engine.logger
202
+ });
203
+ }
204
+ }
205
+ clickOnShowButton() {
206
+ if (this.generatedAnswerState?.expanded) {
207
+ this.generatedAnswer?.collapse();
208
+ }
209
+ else {
210
+ this.generatedAnswer?.expand();
211
+ }
212
+ }
213
+ setIsAnswerHelpful(isAnswerHelpful) {
214
+ if (this.modalRef) {
215
+ this.modalRef.helpful = isAnswerHelpful;
216
+ }
217
+ }
218
+ openFeedbackModal() {
219
+ if (this.modalRef &&
220
+ !this.generatedAnswerState?.feedbackSubmitted) {
221
+ this.modalRef.isOpen = true;
222
+ }
223
+ }
196
224
  render() {
197
- return this.generatedAnswerCommon.render();
225
+ const hasRetryableError = Boolean(!this.searchStatusState?.hasError &&
226
+ this.generatedAnswerState?.error?.isRetryable);
227
+ const hasNoAnswerGenerated = this.generatedAnswerState?.answer === undefined &&
228
+ !this.generatedAnswerState?.citations?.length &&
229
+ !hasRetryableError;
230
+ const isAnswerVisible = this.generatedAnswerState?.isVisible;
231
+ const hasCustomNoAnswerMessage = !!slotUtils.getNamedSlotFromHost(this.host, 'no-answer-message');
232
+ const hasClipboard = !!navigator?.clipboard?.writeText;
233
+ const buildInteractiveCitationForCitation = (citation) => insight.buildInteractiveCitation(this.bindings.engine, {
234
+ options: { citation },
235
+ });
236
+ return index.h(generatedAnswerRenderer.GeneratedAnswerRenderer, { key: '3cb9c3996a0baaade8fc2850c4351ccf704d8f8e', hasNoAnswerGenerated: hasNoAnswerGenerated, hasCustomNoAnswerMessage: hasCustomNoAnswerMessage, collapsible: this.collapsible, onShowButtonClick: this.clickOnShowButton.bind(this), onClickDislike: this.clickDislike.bind(this), onClickLike: this.clickLike.bind(this), onCopyToClipboard: this.copyToClipboard.bind(this), disableCitationAnchoring: this.disableCitationAnchoring, copied: this.copied, i18n: this.bindings.i18n, copyError: this.copyError, generatedAnswer: this.generatedAnswer, generatedAnswerState: this.generatedAnswerState, withToggle: this.withToggle, isAnswerVisible: isAnswerVisible, hasRetryableError: hasRetryableError, hasClipboard: hasClipboard, buildInteractiveCitationForCitation: buildInteractiveCitationForCitation });
198
237
  }
199
238
  get host() { return index.getElement(this); }
200
239
  static get watchers() { return {
@@ -1 +1 @@
1
- {"file":"atomic-insight-generated-answer.entry.cjs.js","mappings":"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","names":["GeneratedAnswerCommon","buildInsightInteractiveCitation","buildInsightGeneratedAnswer","buildInsightSearchStatus","debounce","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.pcss?tag=atomic-insight-generated-answer&encapsulation=shadow","src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n buildGeneratedAnswer as buildInsightGeneratedAnswer,\n buildInteractiveCitation as buildInsightInteractiveCitation,\n buildSearchStatus as buildInsightSearchStatus,\n GeneratedAnswer as InsightGeneratedAnswer,\n GeneratedAnswerState as InsightGeneratedAnswerState,\n} from '@coveo/headless/insight';\nimport {Component, Element, State, Prop, Watch} from '@stencil/core';\nimport {debounce} from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * The `atomic-insight-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-insight-generated-answer',\n styleUrl: 'atomic-insight-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicInsightGeneratedAnswer\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public generatedAnswer!: InsightGeneratedAnswer;\n public searchStatus!: InsightSearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS = ['filetype'];\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: InsightGeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: InsightSearchStatusState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than 250px.\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * @internal\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations?: string;\n\n /**\n * Option to disable citation anchoring.\n * @default false\n */\n @Prop() disableCitationAnchoring?: boolean;\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\n disableCitationAnchoring: this.disableCitationAnchoring,\n getGeneratedAnswer: () => this.generatedAnswer,\n getGeneratedAnswerState: () => this.generatedAnswerState,\n getSearchStatusState: () => this.searchStatusState,\n getBindings: () => this.bindings,\n getCopied: () => this.copied,\n setCopied: this.setCopied,\n getCopyError: () => this.copyError,\n setCopyError: this.setCopyError,\n setAriaMessage: this.setAriaMessage,\n buildInteractiveCitation: (props) =>\n buildInsightInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildInsightGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this.generatedAnswerCommon.data.isVisible,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n this.generatedAnswerCommon.insertFeedbackModal();\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: InsightGeneratedAnswerState,\n oldState: InsightGeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this.generatedAnswerCommon?.data?.isVisible\n ) {\n this.generatedAnswerCommon.data = {\n ...this.generatedAnswerCommon.data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n this.generatedAnswerCommon.writeStoredData(\n this.generatedAnswerCommon.data\n );\n }\n\n this.setAriaMessage(this.generatedAnswerCommon.getGeneratedAnswerStatus());\n };\n\n private setCopied = (isCopied: boolean) => {\n this.copied = isCopied;\n };\n\n private setCopyError = (copyError: boolean) => {\n this.copyError = copyError;\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return (this.fieldsToIncludeInCitations ?? '')\n .split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0)\n .concat(this.REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS)\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer();\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n public render() {\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-generated-answer.entry.cjs.js","mappings":"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","names":["debounce","writeGeneratedAnswerStoredData","getGeneratedAnswerStatus","readGeneratedAnswerStoredData","buildInsightGeneratedAnswer","buildInsightSearchStatus","insertGeneratedAnswerFeedbackModal","copyToClipboard","getNamedSlotFromHost","buildInsightInteractiveCitation","h","GeneratedAnswerRenderer","InitializeBindings","BindStateToController","AriaLiveRegion"],"sources":["src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.pcss?tag=atomic-insight-generated-answer&encapsulation=shadow","src/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus as InsightSearchStatus,\n SearchStatusState as InsightSearchStatusState,\n buildGeneratedAnswer as buildInsightGeneratedAnswer,\n buildInteractiveCitation as buildInsightInteractiveCitation,\n buildSearchStatus as buildInsightSearchStatus,\n GeneratedAnswer as InsightGeneratedAnswer,\n GeneratedAnswerState as InsightGeneratedAnswerState,\n GeneratedAnswerCitation as InsightGeneratedAnswerCitation\n} from '@coveo/headless/insight';\nimport { Component, Element, State, Prop, Watch, h } from '@stencil/core';\nimport { debounce } from '../../../utils/debounce-utils';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport { AriaLiveRegion } from '../../../utils/stencil-accessibility-utils';\nimport {\n readGeneratedAnswerStoredData,\n writeGeneratedAnswerStoredData,\n insertGeneratedAnswerFeedbackModal,\n getGeneratedAnswerStatus,\n copyToClipboard,\n} from '../../common/generated-answer/generated-answer-common';\nimport {\n GeneratedAnswerRenderer\n} from '../../common/generated-answer/generated-answer-renderer';\nimport { getNamedSlotFromHost } from '../../../utils/slot-utils';\nimport { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';\n\n/**\n * @internal\n * The `atomic-insight-generated-answer` component uses Coveo Machine Learning (Coveo ML) models to automatically generate an answer to a query executed by the user.\n * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)\n *\n * @slot no-answer-message - Lets you pass a custom sorry message when no answer is generated.\n *\n * @part container - The container displaying the generated answer.\n * @part header-label - The header of the generated answer container.\n * @part feedback-button - The \"like\" and \"dislike\" buttons.\n * @part toggle - The switch to toggle the visibility of the generated answer.\n * @part copy-button - The \"Copy answer\" button.\n * @part retry-container - The container for the \"retry\" section.\n * @part generated-text - The text of the generated answer.\n * @part citations-label - The header of the citations list.\n *\n * @part answer-code-block - The generated answer multi-line code blocks.\n * @part answer-emphasis - The generated answer emphasized text elements.\n * @part answer-inline-code - The generated answer inline code elements.\n * @part answer-heading-1 - The generated answer level 1 heading elements.\n * @part answer-heading-2 - The generated answer level 2 heading elements.\n * @part answer-heading-3 - The generated answer level 3 heading elements.\n * @part answer-heading-4 - The generated answer level 4 heading elements.\n * @part answer-heading-5 - The generated answer level 5 heading elements.\n * @part answer-heading-6 - The generated answer level 6 heading elements.\n * @part answer-list-item - The generated answer list item elements for both ordered and unordered lists.\n * @part answer-ordered-list - The generated answer ordered list elements.\n * @part answer-paragraph - The generated answer paragraph elements.\n * @part answer-quote-block - The generated answer quote block elements.\n * @part answer-unordered-list - The generated answer unordered list elements.\n * @part answer-strong - The generated answer strong text elements.\n * @part answer-table - The generated answer table elements.\n * @part answer-table-container - The generated answer table container elements.\n * @part answer-table-content - The generated answer table content cell elements.\n * @part answer-table-header - The generated answer table header cell elements.\n *\n * @part citation - The link that allows the user to navigate to the item.\n * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.\n */\n@Component({\n tag: 'atomic-insight-generated-answer',\n styleUrl: 'atomic-insight-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicInsightGeneratedAnswer\n implements InitializableComponent<InsightBindings> {\n @InitializeBindings() public bindings!: InsightBindings;\n public generatedAnswer!: InsightGeneratedAnswer;\n public searchStatus!: InsightSearchStatus;\n private resizeObserver?: ResizeObserver;\n\n private readonly DEFAULT_COLLAPSED_HEIGHT = 16;\n private readonly MAX_COLLAPSED_HEIGHT = 32;\n private readonly MIN_COLLAPSED_HEIGHT = 9;\n private readonly REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS = ['filetype'];\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: InsightGeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: InsightSearchStatusState;\n\n @State()\n public error!: Error;\n\n @Element() private host!: HTMLElement;\n\n @State()\n copied = false;\n\n @State()\n copyError = false;\n\n /**\n * Whether to render a toggle button that lets the user hide or show the answer.\n * @default false\n */\n @Prop() withToggle?: boolean;\n\n /**\n * Whether to allow the answer to be collapsed when the text is taller than 250px.\n * @default false\n */\n @Prop() collapsible?: boolean;\n\n /**\n * The maximum height (in rem units) of the answer when collapsed.\n *\n */\n @Prop() maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;\n\n /**\n * @internal\n * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * A list of fields to include with the citations used to generate the answer.\n */\n @Prop() fieldsToIncludeInCitations?: string;\n\n /**\n * Option to disable citation anchoring.\n * @default false\n */\n @Prop() disableCitationAnchoring?: boolean;\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private fullAnswerHeight?: number;\n private modalRef?: HTMLAtomicGeneratedAnswerFeedbackModalElement;\n private setCopied = debounce(() => {\n this.copied = false;\n }, 3000);\n private setCopyError = debounce(() => {\n this.copyError = false;\n }, 1000);\n private _data: any = null;\n\n public initialize() {\n this._data = readGeneratedAnswerStoredData(!!this.withToggle);\n this.generatedAnswer = buildInsightGeneratedAnswer(this.bindings.engine, {\n initialState: {\n isVisible: this._data?.isVisible || false,\n responseFormat: {\n contentFormat: ['text/markdown', 'text/plain'],\n },\n },\n ...(this.answerConfigurationId && {\n answerConfigurationId: this.answerConfigurationId,\n }),\n fieldsToIncludeInCitations: this.getCitationFields(),\n });\n this.searchStatus = buildInsightSearchStatus(this.bindings.engine);\n\n if (window.ResizeObserver && this.collapsible) {\n const debouncedAdaptAnswerHeight = debounce(\n () => this.adaptAnswerHeight(),\n 100\n );\n this.resizeObserver = new ResizeObserver(debouncedAdaptAnswerHeight);\n this.resizeObserver.observe(this.host);\n }\n }\n\n public componentDidLoad() {\n this.modalRef = insertGeneratedAnswerFeedbackModal(this.host, () => this.generatedAnswer);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: InsightGeneratedAnswerState,\n oldState: InsightGeneratedAnswerState\n ) {\n const newExpanded = newState.expanded;\n const oldExpanded = oldState ? oldState.expanded : undefined;\n\n if (newExpanded !== oldExpanded) {\n const container = this.getAnswerContainer();\n\n if (!container) {\n return;\n }\n\n this.toggleClass(container, 'answer-collapsed', !newExpanded);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n // @ts-expect-error: This function is used by BindStateToController.\n private onGeneratedAnswerStateUpdate = () => {\n if (\n this.generatedAnswerState.isVisible !==\n this._data?.isVisible\n ) {\n this._data = {\n ...this._data,\n isVisible: this.generatedAnswerState.isVisible,\n };\n writeGeneratedAnswerStoredData(this._data);\n }\n\n this.setAriaMessage(getGeneratedAnswerStatus(\n this.generatedAnswerState,\n this.bindings.i18n as any\n ));\n };\n\n private setAriaMessage = (message: string) => {\n this.ariaMessage = message;\n };\n\n private toggleClass(element: Element, className: string, condition: boolean) {\n element.classList.toggle(className, condition);\n }\n\n private adaptAnswerHeight() {\n const answerHeight = this.host?.shadowRoot\n ?.querySelector('[part=\"generated-text\"]')\n ?.getBoundingClientRect().height;\n\n if (answerHeight) {\n const rootFontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize\n );\n\n this.fullAnswerHeight = answerHeight / rootFontSize;\n\n this.updateAnswerHeight();\n }\n }\n\n private getAnswerContainer() {\n return this.host?.shadowRoot?.querySelector('[part=\"generated-container\"]');\n }\n\n private getAnswerFooter() {\n return this.host?.shadowRoot?.querySelector(\n '[part=\"generated-answer-footer\"]'\n );\n }\n\n private getCitationFields() {\n return (this.fieldsToIncludeInCitations ?? '')\n .split(',')\n .map((field) => field.trim())\n .filter((field) => field.length > 0)\n .concat(this.REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS)\n }\n\n private validateMaxCollapsedHeight(): number {\n const isValid =\n this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&\n this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;\n\n if (!isValid) {\n console.warn(\n `max-collapsed-height (${this.maxCollapsedHeight}rem) is out of the valid range (${this.MIN_COLLAPSED_HEIGHT}rem - ${this.MAX_COLLAPSED_HEIGHT}rem). Falling back to default value (${this.DEFAULT_COLLAPSED_HEIGHT}rem).`\n );\n }\n\n return isValid ? this.maxCollapsedHeight : this.DEFAULT_COLLAPSED_HEIGHT;\n }\n\n private setCSSVariable(variableName: string, value: string) {\n const container = this.getAnswerContainer();\n if (container) {\n (container as HTMLElement).style.setProperty(variableName, value);\n }\n }\n\n private updateAnswerHeight() {\n const container = this.getAnswerContainer();\n const footer = this.getAnswerFooter();\n const maxHeight = this.validateMaxCollapsedHeight();\n\n if (!container || !footer) {\n return;\n }\n\n if (this.fullAnswerHeight! > maxHeight) {\n this.setCSSVariable('--atomic-crga-collapsed-height', `${maxHeight}rem`);\n this.toggleClass(\n container,\n 'answer-collapsed',\n !this.generatedAnswerState.expanded\n );\n this.toggleClass(footer, 'is-collapsible', true);\n this.toggleClass(\n footer,\n 'generating-label-visible',\n this.generatedAnswerState.isStreaming\n );\n } else {\n this.toggleClass(container, 'answer-collapsed', false);\n this.toggleClass(footer, 'is-collapsible', false);\n this.toggleClass(footer, 'generating-label-visible', false);\n }\n }\n\n private clickDislike() {\n this.setIsAnswerHelpful(false);\n this.generatedAnswer?.dislike();\n this.openFeedbackModal();\n }\n\n private clickLike() {\n this.setIsAnswerHelpful(true);\n this.generatedAnswer?.like();\n this.openFeedbackModal();\n }\n\n private async copyToClipboard() {\n if (this.generatedAnswerState?.answer) {\n await copyToClipboard({\n answer: this.generatedAnswerState.answer,\n setCopied: this.setCopied,\n setCopyError: this.setCopyError,\n onLogCopyToClipboard: () => this.generatedAnswer?.logCopyToClipboard(),\n logger: this.bindings.engine.logger\n });\n }\n }\n\n private clickOnShowButton() {\n if (this.generatedAnswerState?.expanded) {\n this.generatedAnswer?.collapse();\n } else {\n this.generatedAnswer?.expand();\n }\n }\n\n private setIsAnswerHelpful(isAnswerHelpful: boolean) {\n if (this.modalRef) {\n this.modalRef.helpful = isAnswerHelpful;\n }\n }\n\n private openFeedbackModal() {\n if (\n this.modalRef &&\n !this.generatedAnswerState?.feedbackSubmitted\n ) {\n this.modalRef.isOpen = true;\n }\n }\n\n public render() {\n const hasRetryableError = Boolean(\n !this.searchStatusState?.hasError &&\n this.generatedAnswerState?.error?.isRetryable\n );\n\n const hasNoAnswerGenerated =\n this.generatedAnswerState?.answer === undefined &&\n !this.generatedAnswerState?.citations?.length &&\n !hasRetryableError;\n\n const isAnswerVisible = this.generatedAnswerState?.isVisible;\n const hasCustomNoAnswerMessage = !!getNamedSlotFromHost(this.host, 'no-answer-message');\n const hasClipboard = !!navigator?.clipboard?.writeText;\n\n const buildInteractiveCitationForCitation = (citation: InsightGeneratedAnswerCitation) =>\n buildInsightInteractiveCitation(this.bindings.engine, {\n options: { citation },\n });\n\n return <GeneratedAnswerRenderer\n hasNoAnswerGenerated={hasNoAnswerGenerated}\n hasCustomNoAnswerMessage={hasCustomNoAnswerMessage}\n collapsible={this.collapsible}\n onShowButtonClick={this.clickOnShowButton.bind(this)}\n onClickDislike={this.clickDislike.bind(this)}\n onClickLike={this.clickLike.bind(this)}\n onCopyToClipboard={this.copyToClipboard.bind(this)}\n disableCitationAnchoring={this.disableCitationAnchoring}\n copied={this.copied}\n i18n={this.bindings.i18n}\n copyError={this.copyError}\n generatedAnswer={this.generatedAnswer}\n generatedAnswerState={this.generatedAnswerState}\n withToggle={this.withToggle}\n isAnswerVisible={isAnswerVisible}\n hasRetryableError={hasRetryableError}\n hasClipboard={hasClipboard}\n buildInteractiveCitationForCitation={buildInteractiveCitationForCitation}\n />;\n }\n}"],"version":3}
@@ -21,7 +21,7 @@ const AtomicInsightHistoryToggle = class {
21
21
  this.tooltip = '';
22
22
  }
23
23
  render() {
24
- return (index.h(iconButton.IconButton, { key: '4b6487eedab130bf3eec7d4cbeb3d5e634e053e3', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
24
+ return (index.h(iconButton.IconButton, { key: '7f7eea5683f448e7348400b5348ba68a42e60f0f', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
25
25
  }
26
26
  };
27
27
  AtomicInsightHistoryToggle.style = AtomicInsightHistoryToggleStyle0;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const initQueue = require('./init-queue-a18aa323.js');
7
7
  const insight = require('@coveo/headless/insight');
8
- const analyticsConfig = require('./analytics-config-f34a68ee.js');
8
+ const analyticsConfig = require('./analytics-config-27e563ce.js');
9
9
  const propsUtils = require('./props-utils-1e4ba1b0.js');
10
10
  const replaceBreakpoint = require('./replace-breakpoint-9e1c0efa.js');
11
11
  const store = require('./store-82abd941.js');
@@ -43,7 +43,7 @@ const AtomicInsightNoResults = class {
43
43
  }
44
44
  render() {
45
45
  const { bindings: { i18n }, } = this;
46
- return (index.h("div", { key: '825ae13ae0860ce408ff8e4a47dd829975345d35', class: "p-3 text-center" }, index.h(stencilTips.NoItemsGuard, { key: '623d5e551a83765efcdf6574187688730da56d9c', ...this.searchStatusState }, index.h(stencilMagnifyingGlass.NoItemsContainer, { key: 'ad02d240a97de03eaa59dfc3e5365753455d919a' }, index.h(stencilMagnifyingGlass.MagnifyingGlass, { key: '15b017413c4668ff29861a31ee5028481d2b9c3a' }), index.h(stencilTips.NoItems, { key: '3e7bfd64c15426bec598f71ef7f771d8f2485214', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), index.h(stencilTips.SearchTips, { key: '6fbb100f870e966e93c268170b91cc7651a9c4c0', i18n: i18n })))));
46
+ return (index.h("div", { key: '842b4a56bdd95a34551e9cce860cf5f0155a03ac', class: "p-3 text-center" }, index.h(stencilTips.NoItemsGuard, { key: 'a18f08c10934f2cb5e499bd62d37127d02b5f44c', ...this.searchStatusState }, index.h(stencilMagnifyingGlass.NoItemsContainer, { key: '480719baf27f1ee7d2db4e4bdd77efd5e11ae1f6' }, index.h(stencilMagnifyingGlass.MagnifyingGlass, { key: '31ac8d5de3c6971428f0b68a0855aa8aabf15473' }), index.h(stencilTips.NoItems, { key: '428bb405496f20b553d5f3bb2639a76b2a36ecd6', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), index.h(stencilTips.SearchTips, { key: 'd9496596e22f08f533edf91ecc1ce6e4533038ae', i18n: i18n })))));
47
47
  }
48
48
  };
49
49
  __decorate([
@@ -262,7 +262,7 @@ const AtomicInsightNumericFacet = class {
262
262
  }
263
263
  render() {
264
264
  const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, label, numberOfSelectedValues, isCollapsed, headingLevel, focusTarget, withInput, filter, } = this;
265
- return (index.h(facetGuard.FacetGuard, { key: 'f44c00523665cb008b2727116d2a542872d81bca', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (index.h(facetPlaceholder.FacetContainer, null, index.h(facetPlaceholder.FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
265
+ return (index.h(facetGuard.FacetGuard, { key: 'd9805b780f3684ad1f8284a55141c5c98f743791', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (index.h(facetPlaceholder.FacetContainer, null, index.h(facetPlaceholder.FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
266
266
  focusTarget.focusAfterSearch();
267
267
  if (this.filterState?.range) {
268
268
  this.filter?.clear();
@@ -57,15 +57,15 @@ const AtomicInsightPager = class {
57
57
  this.scrollToTopEvent.emit();
58
58
  }
59
59
  render() {
60
- return (index.h(index.Host, { key: '260aede1c78c572fea4edee8f5f78ef95064dff2' }, index.h(stencilPagerNavigation.PagerNavigation, { key: '23f65a34a981639b9f27af17f7f5608165887d4f', i18n: this.bindings.i18n }, index.h(stencilPagerNavigation.PagerPreviousButton, { key: '40ffc4bfc48efc122525e129a1d2a80d4636e9da', icon: arrowLeftRounded.ArrowLeftIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
60
+ return (index.h(index.Host, { key: '0293c48bc6d82c3d8e989d465de01ac451ed806f' }, index.h(stencilPagerNavigation.PagerNavigation, { key: '4365c6276e6002f821142c9ab593df7be305b748', i18n: this.bindings.i18n }, index.h(stencilPagerNavigation.PagerPreviousButton, { key: '7ceeea51e32f87167b80772c5eb033f5e1bef298', icon: arrowLeftRounded.ArrowLeftIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
61
61
  this.pager.previousPage();
62
62
  this.focusOnFirstResultAndScrollToTop();
63
- } }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '92435c472ea8a8d5e4cec5aa35a489267a338f27', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
63
+ } }), index.h(stencilPagerNavigation.PagerPageButtons, { key: '58b0f39c07aaf2462652365edab933771826c21b', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
64
64
  return (index.h(stencilPagerNavigation.PagerPageButton, { isSelected: this.pager.isCurrentPage(pageNumber), ariaLabel: this.bindings.i18n.t('page-number', { pageNumber }), onChecked: () => {
65
65
  this.pager.selectPage(pageNumber);
66
66
  this.focusOnFirstResultAndScrollToTop();
67
67
  }, page: pageNumber, groupName: this.radioGroupName, text: pageNumber.toLocaleString(this.bindings.i18n.language) }));
68
- })), index.h(stencilPagerNavigation.PagerNextButton, { key: 'f173b86008941c27e092c8341a0e26ce27e9eddc', icon: arrowRightRounded.ArrowRightIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
68
+ })), index.h(stencilPagerNavigation.PagerNextButton, { key: '0a71a32a615b008543ba36d20aa274f144ba5596', icon: arrowRightRounded.ArrowRightIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
69
69
  this.pager.nextPage();
70
70
  this.focusOnFirstResultAndScrollToTop();
71
71
  } }))));
@@ -48,7 +48,7 @@ const AtomicQueryError = class {
48
48
  if (hasError) {
49
49
  this.ariaMessage = stencilLink.getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
50
50
  }
51
- return (index.h(stencilLink.QueryErrorGuard, { key: '673b90038d6c8cb0730be06d9fa67c3cb48ce37d', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: '447a1e14cbfa545e362128357674cdf3b874ff5f' }, index.h(stencilLink.QueryErrorIcon, { key: '0c03fd7f4e530710f5a6a70065e4b198c3460893', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: '2ea1f6cdc330985ec5f47329be542654cac8c9a6', i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: '99ff6bd5bfc5b5e82eef055449582f7556b7e256', i18n: i18n, organizationId: organizationId, url: url }), index.h(stencilLink.QueryErrorShowMore, { key: '82dd6131634b23dce498f3585a69bf3486c81b60', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '528dd29a5d0bcf2adaacd400352594930f090326', error: error, show: this.showMoreInfo }))));
51
+ return (index.h(stencilLink.QueryErrorGuard, { key: '187021bfef4a74d64fa2780dbf6a0ef25010b3a0', hasError: hasError }, index.h(stencilLink.QueryErrorContainer, { key: '108d62e8ac2e628381590f67ce5d344908252441' }, index.h(stencilLink.QueryErrorIcon, { key: '456b167ae17cb2f488f774f9f18bad42be54322f', errorType: error?.type }), index.h(stencilLink.QueryErrorTitle, { key: '531b1cf1cd75b6b94204d4817b79b8ed2cd8484b', i18n: i18n, organizationId: organizationId }), index.h(stencilLink.QueryErrorDescription, { key: 'f34ef8d4d2b90ccf22f64f307d12ca7747fccb94', i18n: i18n, organizationId: organizationId, url: url }), index.h(stencilLink.QueryErrorShowMore, { key: '0e4a7c4c08b2f7041eb6848ba75cc846d153b44f', link: index.h(stencilLink.QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), index.h(stencilLink.QueryErrorDetails, { key: '555c10b7f7aa1b97c4312901a14aeb4ab4021ee5', error: error, show: this.showMoreInfo }))));
52
52
  }
53
53
  };
54
54
  __decorate([
@@ -86,12 +86,12 @@ const AtomicInsightRefineModal = class {
86
86
  return (index.h("aside", { slot: "body", class: "flex flex-col w-full" }, this.renderHeader(), index.h("slot", { name: "facets" })));
87
87
  }
88
88
  render() {
89
- return (index.h(index.Host, { key: 'f4ac5cb78cb35e842cb2e50d614c29320242d314' }, this.interfaceDimensions && (index.h("style", { key: 'ad0660085c3750018e1369c1df9c99b03a6fdd97' }, `atomic-modal::part(backdrop) {
89
+ return (index.h(index.Host, { key: '83055c2b6f20789912dcd3eb4bb9a6945a9af47e' }, this.interfaceDimensions && (index.h("style", { key: '9e28ef86ce421ce2418f3e8ed36cc8f5a5ccaade' }, `atomic-modal::part(backdrop) {
90
90
  top: ${this.interfaceDimensions.top}px;
91
91
  left: ${this.interfaceDimensions.left}px;
92
92
  width: ${this.interfaceDimensions.width}px;
93
93
  height: ${this.interfaceDimensions.height}px;
94
- }`)), index.h(stencilModal.RefineModal, { key: '96a7c1cabf1674aaaade399cf46560378369d9dc', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, scope: this.bindings.interfaceElement }, this.renderBody())));
94
+ }`)), index.h(stencilModal.RefineModal, { key: 'd3c8d1ba721fa2db7f0453cadaf938e3826ca16f', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, scope: this.bindings.interfaceElement }, this.renderBody())));
95
95
  }
96
96
  componentDidLoad() {
97
97
  this.host.style.display = '';
@@ -59,7 +59,7 @@ const AtomicInsightRefineToggle = class {
59
59
  this.modalRef.openButton = this.buttonRef;
60
60
  }
61
61
  render() {
62
- return (index.h(iconButton.IconButton, { key: '1f8d710e892f9af8657e68532c70e5286b0ea163', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
62
+ return (index.h(iconButton.IconButton, { key: '36a8854f561dda397f0243ac657cbfbc9823f9f2', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
63
63
  this.bindings.store.waitUntilAppLoaded(() => {
64
64
  this.enableModal();
65
65
  });
@@ -43,7 +43,7 @@ const AtomicInsightResultAttachToCaseIndicator = class {
43
43
  }
44
44
  render() {
45
45
  if (this.attachToCase.isAttached()) {
46
- return (index.h("atomic-icon", { key: '615f1183184ed58e1e52375445d1b8315b715bdc', part: "icon", class: "flex w-5 justify-center", icon: attach.AttachIcon, title: this.bindings.i18n.t('result-is-attached') }));
46
+ return (index.h("atomic-icon", { key: '1746d57c4f7da623f71536288efd8dc9e2734df2', part: "icon", class: "flex w-5 justify-center", icon: attach.AttachIcon, title: this.bindings.i18n.t('result-is-attached') }));
47
47
  }
48
48
  }
49
49
  get host() { return index.getElement(this); }
@@ -132,7 +132,7 @@ const AtomicResultChildren = class {
132
132
  return (index.h(showHideButton.ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
133
133
  }
134
134
  render() {
135
- return (index.h(showHideButton.ResultChildrenGuard, { key: 'fac29657fed33aa4b1e22077b501bbfea0c449b3', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
135
+ return (index.h(showHideButton.ResultChildrenGuard, { key: '1755385182cf5a9a34a1c1ec77af93d59d39677c', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
136
136
  }
137
137
  get host() { return index.getElement(this); }
138
138
  };
@@ -115,7 +115,7 @@ const AtomicInsightResultList = class {
115
115
  render() {
116
116
  this.itemListCommon.updateBreakpoints();
117
117
  const listClasses = this.computeListDisplayClasses();
118
- return (index.h(itemListGuard.ItemListGuard, { key: '973bc9c484720b5bb2d4e3bb8cba834f9c13885e', hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults, hasError: this.resultListState.hasError }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: 'def6b5e9d02f67a444bcde32cc5a85b4d84dbfd9', listClasses: listClasses, display: this.display }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: '7a8a58ac6bfa421c1ec8e5b78a96faeade11e40f', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: 'db6b4884e76bc1b455ec1df3aaa3ac42d5f3cca0', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.resultListState.results.map((result, i) => {
118
+ return (index.h(itemListGuard.ItemListGuard, { key: '433c76478b403e1350e3284920ff84f8808056f8', hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults, hasError: this.resultListState.hasError }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: 'f2f22be439505ee24ad487b42b7309c09028eb47', listClasses: listClasses, display: this.display }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: '8417821f1217dfb43fbf7f6b785a4c4087e58dca', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: '258f2eb3b6bd80b766e9d8bed571d42cf252bdde', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.resultListState.results.map((result, i) => {
119
119
  const atomicInsightResultProps = this.getPropsForAtomicInsightResult(result);
120
120
  return (index.h("atomic-insight-result", { ...atomicInsightResultProps, part: "outline", ref: (element) => element && this.itemListCommon.setNewResultRef(element, i) }));
121
121
  })))));
@@ -118,7 +118,7 @@ const AtomicInsightResultQuickviewAction = class {
118
118
  this.addQuickviewModalIfNeeded();
119
119
  this.updateModalContent();
120
120
  if (this.shouldRenderQuickview) {
121
- return (index.h(iconButton.IconButton, { key: 'e9ebb865238d926c30483176b543472977ec89ad', partPrefix: "result-action", style: "outline-neutral", ref: this.focusTarget.setTarget, icon: preview.QuickviewIcon, title: this.bindings.i18n.t('quickview'), onClick: () => this.onClick() }));
121
+ return (index.h(iconButton.IconButton, { key: '50ef47eaf86d448354d59495088c06cae9ebda41', partPrefix: "result-action", style: "outline-neutral", ref: this.focusTarget.setTarget, icon: preview.QuickviewIcon, title: this.bindings.i18n.t('quickview'), onClick: () => this.onClick() }));
122
122
  }
123
123
  }
124
124
  get host() { return index.getElement(this); }
@@ -76,7 +76,7 @@ const AtomicInsightResult = class {
76
76
  .join('');
77
77
  }
78
78
  render() {
79
- return (index.h(index.Host, { key: '50f4aeec1b0312e9c32624dab31faef6ba0cbd70', class: stencilItemListCommon.resultComponentClass }, index.h("div", { key: 'af39b3e036886c7b77d0176315fda2ff53cfe240', class: `result-root ${this.layout
79
+ return (index.h(index.Host, { key: 'e857b690cd5233d79884f2b900db414ee5fa144b', class: stencilItemListCommon.resultComponentClass }, index.h("div", { key: '8c1693989553f7a05e2b5976a07c2de7b2d517b2', class: `result-root ${this.layout
80
80
  .getClasses()
81
81
  .concat(this.classes)
82
82
  .join(' ')}`, innerHTML: this.getContentHTML() })));
@@ -216,13 +216,13 @@ const AtomicInsightSearchBox = class {
216
216
  : this.bindings.i18n.t('query-suggestions-unavailable');
217
217
  }
218
218
  render() {
219
- return (index.h(stencilSuggestionManager.SearchBoxWrapper, { key: '0a983ffbf4c932509a90f223fcf9571916866549', disabled: this.disableSearch, onFocusout: (event) => {
219
+ return (index.h(stencilSuggestionManager.SearchBoxWrapper, { key: '3a4e17e7de533c46315ee2c0b48cbdb00f3602aa', disabled: this.disableSearch, onFocusout: (event) => {
220
220
  if (!utils.isFocusingOut(event)) {
221
221
  return;
222
222
  }
223
223
  this.suggestionManager.clearSuggestions();
224
224
  this.isExpanded = false;
225
- } }, index.h("atomic-icon", { key: '43dd39ebe185cc670a5212e9cd7b63d1cf45b08b', part: "submit-icon", icon: stencilSuggestionManager.SearchSlimIcon, class: "my-auto mr-0 ml-4 h-4 w-4" }), index.h(stencilSuggestionManager.SearchTextArea, { key: '709ab176a131c55d4cf9389af81358a13419a877', textAreaRef: this.textAreaRef, loading: this.searchBoxState.isLoading, ref: (el) => el && (this.textAreaRef = el), bindings: this.bindings, value: this.searchBoxState.value, ariaLabel: this.getSearchInputLabel(), placeholder: this.bindings.i18n.t('search-ellipsis'), onFocus: () => this.onFocus(), onKeyDown: (e) => this.onKeyDown(e), onClear: () => {
225
+ } }, index.h("atomic-icon", { key: '81aae200cb3ce716e8c681c6da015c32854e28db', part: "submit-icon", icon: stencilSuggestionManager.SearchSlimIcon, class: "my-auto mr-0 ml-4 h-4 w-4" }), index.h(stencilSuggestionManager.SearchTextArea, { key: '34a4c568cd491a7bfb216b4db248755538b8eda0', textAreaRef: this.textAreaRef, loading: this.searchBoxState.isLoading, ref: (el) => el && (this.textAreaRef = el), bindings: this.bindings, value: this.searchBoxState.value, ariaLabel: this.getSearchInputLabel(), placeholder: this.bindings.i18n.t('search-ellipsis'), onFocus: () => this.onFocus(), onKeyDown: (e) => this.onKeyDown(e), onClear: () => {
226
226
  this.searchBox.clear();
227
227
  this.triggerTextAreaChange('');
228
228
  }, onInput: (e) => this.onInput(e.target.value) }), this.renderSuggestions()));
@@ -53,9 +53,9 @@ const AtomicInsightSmartSnippetFeedbackModal = class {
53
53
  }
54
54
  render() {
55
55
  replaceBreakpoint.updateBreakpoints(this.host);
56
- return (index.h("atomic-modal", { key: 'cde5162337b2add212e275b36fff0041ff3c94c0', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalHeader, { key: '5f6ec11b78d970b730880ffc6edcff6b81d91a5b', i18n: this.bindings.i18n }), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalBody, { key: '6ea4a24667524de928af9630ef4ef0bfa0ea5594', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeebackModalOptions, { key: '2b67ad0b933ab25553a51c465c687e9f70ad51ed', i18n: this.bindings.i18n }, smartSnippetFeedbackModalCommon.smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
56
+ return (index.h("atomic-modal", { key: '7c82d746076341df1015c81ef0dde8060dfac247', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: exportParts.ATOMIC_MODAL_EXPORT_PARTS }, index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalHeader, { key: '05ca78aa7fd1215b6462da758ddd4571a8d86919', i18n: this.bindings.i18n }), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalBody, { key: 'cca761945016762b1d8845ef4ae7cbc3d68c5a3a', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeebackModalOptions, { key: '2ea8f8f701b02ee5693e5a31395bddfc9d0f3eac', i18n: this.bindings.i18n }, smartSnippetFeedbackModalCommon.smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
57
57
  this.currentAnswer = correspondingAnswer;
58
- } })))), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalDetails, { key: 'f00c7b34c2ccdf75a3dbeb2d8f5f84fc5f937b2a', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalFooter, { key: '30b8e1da39378addb70bfc84726fe8c6f9d8c031', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
58
+ } })))), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalDetails, { key: '386ae730c668eedcbc0e61dfd3eb7c306cf792e7', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), index.h(smartSnippetFeedbackModalCommon.SmartSnippetFeedbackModalFooter, { key: 'd25a06c39444a161f03009972d6f6d565d21c7c7', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
59
59
  }
60
60
  close() {
61
61
  this.isOpen = false;
@@ -25,7 +25,7 @@ const AtomicInsightTabs = class {
25
25
  this.error = undefined;
26
26
  }
27
27
  render() {
28
- return (index.h("atomic-tab-bar", { key: '9fd91d75c02448971dce40c407773ef3fd1a6fdc' }, index.h("slot", { key: 'a85003fda6e7c87487cdbdd680d4075fd3df7a6d' })));
28
+ return (index.h("atomic-tab-bar", { key: '09d38860e1ea1cc644cd1528beddd98f2c82da65' }, index.h("slot", { key: '317ee433489ef5e26982a8fc3dbbbf0284633df0' })));
29
29
  }
30
30
  };
31
31
  __decorate([
@@ -155,7 +155,7 @@ const AtomicInsightUserActionsSession = class {
155
155
  render() {
156
156
  const isShowMoreActionsButtonVisible = !this.areActionsAfterCaseCreationVisible &&
157
157
  !!this.userActionsAfterCaseCreation.length;
158
- return (index.h("div", { key: '7fd16f9e23123511375d709e57576e1b0e7dd6e5' }, this.renderSessionStartDate(), this.areActionsAfterCaseCreationVisible && (index.h("div", { key: '70686dd3892819a47aea6dfc4e56d3880277e5ec', "data-testid": "more-actions-section" }, this.renderActions(this.userActionsAfterCaseCreation))), isShowMoreActionsButtonVisible && this.renderShowMoreActionsButton(), this.renderActions(this.userActionsToDisplay)));
158
+ return (index.h("div", { key: '98e8a24942fd1292a53898a772a8d223b78fe785' }, this.renderSessionStartDate(), this.areActionsAfterCaseCreationVisible && (index.h("div", { key: '6c588acfdf7c85693d269df1a11b89d26c13257d', "data-testid": "more-actions-section" }, this.renderActions(this.userActionsAfterCaseCreation))), isShowMoreActionsButtonVisible && this.renderShowMoreActionsButton(), this.renderActions(this.userActionsToDisplay)));
159
159
  }
160
160
  static get watchers() { return {
161
161
  "userActions": ["prepareUserActionsToDisplay"]
@@ -64,7 +64,7 @@ const AtomicInsightUserActionsToggle = class {
64
64
  this.modalRef.excludedCustomActions = this.excludedCustomActions;
65
65
  }
66
66
  render() {
67
- return (index.h(iconButton.IconButton, { key: 'b1b2c1ffc007cc67e68b57919e064ce1cce69bc0', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
67
+ return (index.h(iconButton.IconButton, { key: 'fc7ff5387c77b73735bb5bf2d0c0bd06c3cd4edd', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: clock.Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
68
68
  this.enableModal();
69
69
  }, title: this.bindings.i18n.t('user-actions'), buttonRef: (button) => {
70
70
  if (!button) {
@@ -43,7 +43,7 @@ const AtomicIPXBody = class {
43
43
  render() {
44
44
  this.updateBreakpoints();
45
45
  const isEmbedded = this.isOpen === undefined;
46
- return (index.h("article", { key: 'a5b7ec7bc0026eb495b0e7cda706290b7bf1efa6', part: "container", class: `${isEmbedded ? '' : this.isOpen ? 'visible' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit() }, index.h("style", { key: 'b2f31ef747fa2ad882d6b127e123ea526bad7303' }, `
46
+ return (index.h("article", { key: 'dbc60874aab1e6bf85c42041ef766e9031826e20', part: "container", class: `${isEmbedded ? '' : this.isOpen ? 'visible' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit() }, index.h("style", { key: '9e23a36bbffb656b412482f706c5482894acdac5' }, `
47
47
  /* Chrome, Edge & Safari */
48
48
  .scrollbar::-webkit-scrollbar {
49
49
  width: 0.8rem;
@@ -68,7 +68,7 @@ const AtomicIPXBody = class {
68
68
  scrollbar-color: var(--atomic-primary) var(--atomic-background);
69
69
  scrollbar-width: auto;
70
70
  }
71
- `), index.h("header", { key: 'a3af2383bcb624396e58c0d2f4c08db76a9784b5', part: "header-wrapper", class: "flex flex-col items-center" }, index.h("div", { key: 'd46c140c4cbc452a84b42c6cb0cc382dedaa71f5', part: "header" }, index.h("slot", { key: '2f4d4f51873474e1e20ca9b0bc0c8ae68045bc5a', name: "header" }))), index.h("hr", { key: '6ea7cebbe33a451f4d1755d230ac905b91c58ed5', part: "header-ruler", class: "" }), index.h("div", { key: '34770db2c5b5176d94f920ad38b32231eb203733', part: "body-wrapper", class: "scrollbar flex w-full grow flex-col overflow-auto" }, index.h("div", { key: '020d77941cd24942fb1b83b333e18905b3b738e5', part: "body", class: "w-full" }, index.h("slot", { key: '2248a17e1f1c302b1b6e264319d60249d76f45f1', name: "body" }))), this.displayFooterSlot && (index.h("footer", { key: 'e26b1de8177e3d04e539007d99170bbd76d86577', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, index.h("div", { key: 'c3d3b2e4dc6adc29c3b8bc77d087f629dac33801', part: "footer" }, index.h("slot", { key: '37e7d3433860954cb07c7bdd935462b881ca0245', name: "footer" }))))));
71
+ `), index.h("header", { key: 'a02746a8a7520dc3ee58d921ee7a36bea70330c6', part: "header-wrapper", class: "flex flex-col items-center" }, index.h("div", { key: '3010b0c0169e0227c844a7119b37d60f5e93b8d3', part: "header" }, index.h("slot", { key: '6fcf8aa942b612ec8a233d8b20868d4e41ec237b', name: "header" }))), index.h("hr", { key: '1a8757cf79e3747699701039909868ecb75f67e0', part: "header-ruler", class: "" }), index.h("div", { key: '1cc8c80be5bbb220f16ea0158182574690d8a953', part: "body-wrapper", class: "scrollbar flex w-full grow flex-col overflow-auto" }, index.h("div", { key: '3e312c1017a47ba1e6a1c4a978858474407111fc', part: "body", class: "w-full" }, index.h("slot", { key: '89106f6d9fdc5004705f98a980a1d0959a4d9610', name: "body" }))), this.displayFooterSlot && (index.h("footer", { key: 'd5bde4c61a4653dd1aca0905f82efeb312220cd3', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, index.h("div", { key: '8cd7050cac481b4d4b81dd23cf1bff2b8f8e4f04', part: "footer" }, index.h("slot", { key: 'b5fe1497560a3dc39ce1da5ffec583e4bccfc932', name: "footer" }))))));
72
72
  }
73
73
  get host() { return index.getElement(this); }
74
74
  };
@@ -74,7 +74,7 @@ const AtomicIPXButton = class {
74
74
  if (this.isModalOpen && !this.recommendationsLoaded) {
75
75
  this.getRecommendations();
76
76
  }
77
- return (index.h(index.Fragment, { key: '8115278a1acd556de428b8244c29501cee801e44' }, index.h("style", { key: '5f9eae52a9e4d8d65c3ceec573e454cccde652a5' }, `
77
+ return (index.h(index.Fragment, { key: 'f8cee0eaea24d3c1d0b172177b53778b233dfe3c' }, index.h("style", { key: '7077a678507828713c00c148faeece72d99d8467' }, `
78
78
  [part=${displayedIcon}] {
79
79
  transform: translateY(0rem);
80
80
  }
@@ -91,7 +91,7 @@ const AtomicIPXButton = class {
91
91
  [part=${hiddenIcon}] {
92
92
  transform: translateY(0rem);
93
93
  }
94
- }`), index.h("div", { key: '71d937ec9dad72aafd2d74899d9344f1af9af9c3', class: "flex flex-col items-center", part: "container" }, this.renderIPXButton())));
94
+ }`), index.h("div", { key: 'c91a823fcb5b48f2d84410290582ee12651abb24', class: "flex flex-col items-center", part: "container" }, this.renderIPXButton())));
95
95
  }
96
96
  get ipxModal() {
97
97
  return this.bindings.interfaceElement.querySelector('atomic-ipx-modal');
@@ -45,7 +45,7 @@ const AtomicIPXEmbedded = class {
45
45
  }
46
46
  render() {
47
47
  this.updateBreakpoints();
48
- return (index.h(index.Host, { key: 'eef89d4ef9fb902cbd58508334341e5f314da344' }, index.h("div", { key: 'f3566407baf095929e768739ff0fe40336535d62', part: "backdrop" }, index.h("atomic-ipx-body", { key: 'c7becf95bc4346aa0329cc60ef01698a276aab3f', displayFooterSlot: this.hasFooterSlotElements }, index.h("slot", { key: '62f361099ba638a0c977ceba84d5a8bc703a39be', name: "header", slot: "header" }), index.h("slot", { key: 'b5663b5290927e2795c7b9e3dd16fe151e445a59', name: "body", slot: "body" }), index.h("slot", { key: 'b19de29af7313c4d09483fdae6b7998d30429e3e', name: "footer", slot: "footer" })))));
48
+ return (index.h(index.Host, { key: '27fd19822c0fa88376f6258f789dacea9a6acfd7' }, index.h("div", { key: '6a5f21f0d3669e11e5cf3ff081cb37c95d8d636e', part: "backdrop" }, index.h("atomic-ipx-body", { key: '1ac13a970e57bcabc1e438f60f0fbfa4b17cd720', displayFooterSlot: this.hasFooterSlotElements }, index.h("slot", { key: '41c33f5262cbdcf42d346aba44c00636d066d595', name: "header", slot: "header" }), index.h("slot", { key: 'eca4cb3aadb541c9403088924e46b55d97bfc2f3', name: "body", slot: "body" }), index.h("slot", { key: '45d95506ee9261d9ab7b936444ae4158ab07c058', name: "footer", slot: "footer" })))));
49
49
  }
50
50
  get host() { return index.getElement(this); }
51
51
  };
@@ -70,8 +70,8 @@ const AtomicIPXModal = class {
70
70
  }
71
71
  render() {
72
72
  this.updateBreakpoints();
73
- const Body = () => (index.h("atomic-ipx-body", { key: 'e4d289606ba3b723a523558ab1d4614bcf98f5de', isOpen: this.isOpen, displayFooterSlot: this.hasFooterSlotElements, exportparts: "container" }, index.h("slot", { key: '71d877f15720733bac9cbc21cc98e3ecb1ea080f', name: "header", slot: "header" }), index.h("slot", { key: 'bf3b3d7c4c50ab5cc811d13b2f535c7f3549bf1f', name: "body", slot: "body" }), index.h("slot", { key: 'a7cbb2890cea473e56133e88d0d8606f45ed8556', name: "footer", slot: "footer" })));
74
- return (index.h(index.Host, { key: 'ffe501f17509d6f67376a4c2507d50612e317e17', class: this.getClasses().join(' '), part: "atomic-ipx-modal" }, index.h("div", { key: 'f452a516b3c5ea305079f6a0d19f4cda3390d105', part: "backdrop" }, index.h(Body, { key: 'ef47fb9ed6b710b6c34e1e53a4dac5002baf31f2' }))));
73
+ const Body = () => (index.h("atomic-ipx-body", { key: '988c274953219b0be76eb1de6d5d887a3c58d2b0', isOpen: this.isOpen, displayFooterSlot: this.hasFooterSlotElements, exportparts: "container" }, index.h("slot", { key: 'd4bccc9fc1ab3825db6a0f115b1fc79fa88da837', name: "header", slot: "header" }), index.h("slot", { key: 'b3d48d75fde1e11a65ee7ab52a5bad53e39ef6f8', name: "body", slot: "body" }), index.h("slot", { key: '39ca8137b7692eeaf4b69c311ece044885bade84', name: "footer", slot: "footer" })));
74
+ return (index.h(index.Host, { key: 'd4b7b68adc10a78dfafb82eedae832b49a009bf4', class: this.getClasses().join(' '), part: "atomic-ipx-modal" }, index.h("div", { key: '1f0476096a5ffe6fdb536bd5fb30567c5d9e49ab', part: "backdrop" }, index.h(Body, { key: '2efe6c0d0f97cf7cc8bf0fc52c64a1391f9e2c74' }))));
75
75
  }
76
76
  get host() { return index.getElement(this); }
77
77
  static get watchers() { return {
@@ -280,7 +280,7 @@ const AtomicIPXRecsList = class {
280
280
  }))));
281
281
  }
282
282
  render() {
283
- return (index.h(index.Fragment, { key: '60391284fcd3b16fccfab94771e123938ddfb7b7' }, this.renderHeading(), this.shouldRenderPagination ? (index.h(stencilCarousel.Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
283
+ return (index.h(index.Fragment, { key: '0e108c8b3447a16f4b02d2859f270bb0b6c70711' }, this.renderHeading(), this.shouldRenderPagination ? (index.h(stencilCarousel.Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
284
284
  }
285
285
  get host() { return index.getElement(this); }
286
286
  static get watchers() { return {
@@ -74,7 +74,7 @@ const AtomicIPXRefineModal = class {
74
74
  return (index.h("aside", { slot: "body", class: "flex flex-col w-full" }, this.renderHeader(), index.h("slot", { name: "facets" })));
75
75
  }
76
76
  render() {
77
- return (index.h(index.Host, { key: 'fc3f2d5cdd626964f0ed2b6f0c4dcd096af1753a' }, index.h(stencilModal.RefineModal, { key: 'fd99c18c7a68d967a91b418b54daaff54a04aad8', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
77
+ return (index.h(index.Host, { key: 'eaaaa5fef8c7d6b27dbb1f11e9d7e7227f3d52f3' }, index.h(stencilModal.RefineModal, { key: '58c2645e35f07c6b3570bb2cc3d429b14eab5f69', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
78
78
  }
79
79
  componentDidLoad() {
80
80
  this.host.style.display = '';
@@ -68,7 +68,7 @@ const AtomicIPXRefineToggle = class {
68
68
  this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;
69
69
  }
70
70
  render() {
71
- return (index.h(iconButton.IconButton, { key: '4fcc46017a63f69d90dcd9d76f0588989bbf7f51', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
71
+ return (index.h(iconButton.IconButton, { key: '12159ac7f92291bb627647cab288f2f6b0c07ecc', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: filter.FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
72
72
  this.bindings.store.waitUntilAppLoaded(() => {
73
73
  this.enableModal();
74
74
  });