@coveo/atomic 3.27.5-pre.fc6b95219b → 3.28.0-pre.1b995035ea

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 (655) 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/_index.d.ts +0 -8
  4. package/dist/atomic/components/_index.js +0 -4
  5. package/dist/atomic/components/atomic-aria-live2.js +1 -1
  6. package/dist/atomic/components/atomic-category-facet.js +1 -1
  7. package/dist/atomic/components/atomic-citation.js +1 -1
  8. package/dist/atomic/components/atomic-commerce-category-facet2.js +1 -1
  9. package/dist/atomic/components/atomic-commerce-numeric-facet2.js +2 -2
  10. package/dist/atomic/components/atomic-commerce-query-error.js +1 -1
  11. package/dist/atomic/components/atomic-commerce-query-error.js.map +1 -1
  12. package/dist/atomic/components/atomic-commerce-recommendation-interface.js +1 -1
  13. package/dist/atomic/components/atomic-commerce-refine-modal2.js +1 -1
  14. package/dist/atomic/components/atomic-commerce-refine-toggle.js +1 -1
  15. package/dist/atomic/components/atomic-commerce-timeframe-facet2.js +1 -1
  16. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  17. package/dist/atomic/components/atomic-facet.js +1 -1
  18. package/dist/atomic/components/atomic-format-currency.js +1 -1
  19. package/dist/atomic/components/atomic-format-number.js +1 -1
  20. package/dist/atomic/components/atomic-format-unit.js +1 -1
  21. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  22. package/dist/atomic/components/atomic-generated-answer.js +14 -0
  23. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  24. package/dist/atomic/components/atomic-html2.js +1 -1
  25. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  26. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  27. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  28. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  29. package/dist/atomic/components/atomic-insight-generated-answer.js +14 -0
  30. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  31. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  32. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  33. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  34. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  35. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  36. package/dist/atomic/components/atomic-insight-query-error.js.map +1 -1
  37. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  38. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  39. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  40. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  41. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  42. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  43. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  44. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  45. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  46. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  47. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  48. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  50. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  51. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  52. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  53. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  54. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  56. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  57. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  58. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  59. package/dist/atomic/components/atomic-modal2.js +2 -2
  60. package/dist/atomic/components/atomic-no-results.js +1 -1
  61. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  62. package/dist/atomic/components/atomic-pager.js +3 -3
  63. package/dist/atomic/components/atomic-product-children.js +1 -7
  64. package/dist/atomic/components/atomic-product-children.js.map +1 -1
  65. package/dist/atomic/components/atomic-product-description.js +2 -14
  66. package/dist/atomic/components/atomic-product-description.js.map +1 -1
  67. package/dist/atomic/components/atomic-product-excerpt.js +2 -14
  68. package/dist/atomic/components/atomic-product-excerpt.js.map +1 -1
  69. package/dist/atomic/components/atomic-product-link.js +1 -13
  70. package/dist/atomic/components/atomic-product-link.js.map +1 -1
  71. package/dist/atomic/components/atomic-product-price.js +1 -1
  72. package/dist/atomic/components/atomic-query-error.js +1 -1
  73. package/dist/atomic/components/atomic-query-error.js.map +1 -1
  74. package/dist/atomic/components/atomic-query-summary.js +1 -1
  75. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  76. package/dist/atomic/components/atomic-quickview.js +1 -1
  77. package/dist/atomic/components/atomic-recs-error.js +1 -1
  78. package/dist/atomic/components/atomic-recs-error.js.map +1 -1
  79. package/dist/atomic/components/atomic-recs-list.js +1 -1
  80. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  81. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  82. package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
  83. package/dist/atomic/components/atomic-result-children.js +1 -1
  84. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  85. package/dist/atomic/components/atomic-result-link.js +1 -1
  86. package/dist/atomic/components/atomic-result-list.js +1 -1
  87. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  88. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  89. package/dist/atomic/components/atomic-result-text2.js +45 -2
  90. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  91. package/dist/atomic/components/atomic-results-per-page.js +68 -3
  92. package/dist/atomic/components/atomic-results-per-page.js.map +1 -1
  93. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  94. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  95. package/dist/atomic/components/atomic-search-box.js +4 -4
  96. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  97. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  98. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  99. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  100. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  101. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  102. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  103. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  104. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  105. package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +126 -0
  106. package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +54 -0
  107. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +2 -0
  108. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +135 -0
  109. package/dist/atomic/components/components/commerce/index.js +3 -0
  110. package/dist/atomic/components/components/commerce/lazy-index.js +3 -0
  111. package/dist/atomic/components/components/commerce/product-template-component-utils/error.js +6 -0
  112. package/dist/atomic/components/components/commerce/product-template-component-utils/product-utils.js +35 -0
  113. package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +31 -0
  114. package/dist/atomic/components/components/common/fieldset-group.js +5 -0
  115. package/dist/atomic/components/components/common/index.js +1 -0
  116. package/dist/atomic/components/components/common/item-text/field-warning.js +6 -0
  117. package/dist/atomic/components/components/common/item-text/item-text-fallback.js +15 -0
  118. package/dist/atomic/components/components/common/item-text/item-text-highlighted.js +17 -0
  119. package/dist/atomic/components/components/common/item-text/render-highlights.js +13 -0
  120. package/dist/atomic/components/components/common/items-per-page/choices.js +47 -0
  121. package/dist/atomic/components/components/common/items-per-page/error.js +18 -0
  122. package/dist/atomic/components/components/common/items-per-page/label.js +10 -0
  123. package/dist/atomic/components/components/common/items-per-page/validate.js +19 -0
  124. package/dist/atomic/components/components/common/lazy-index.js +1 -0
  125. package/dist/atomic/components/facet-date-input.js +3 -3
  126. package/dist/atomic/components/facet-number-input.js +2 -2
  127. package/dist/atomic/components/global/environment.js +1 -1
  128. package/dist/atomic/components/index.js.map +1 -1
  129. package/dist/atomic/components/interface-common-stencil.js +1 -1
  130. package/dist/atomic/components/product-utils.js +1 -8
  131. package/dist/atomic/components/product-utils.js.map +1 -1
  132. package/dist/atomic/components/sections.js.map +1 -1
  133. package/dist/atomic/components/{expandable-text.js → stencil-expandable-text.js} +1 -1
  134. package/dist/atomic/components/stencil-expandable-text.js.map +1 -0
  135. package/dist/atomic/components/stencil-link.js.map +1 -1
  136. package/dist/atomic/components/tab-button.js +1 -1
  137. package/dist/atomic/components/tab-popover.js +1 -1
  138. package/dist/atomic/components/utils/object-utils.js +13 -0
  139. package/dist/atomic/{p-a535a268.entry.js → p-0267a585.entry.js} +2 -2
  140. package/dist/atomic/{p-9a161d8f.entry.js → p-0a7b0daa.entry.js} +2 -2
  141. package/dist/atomic/{p-f7eab69a.entry.js → p-0b0ea7d3.entry.js} +2 -2
  142. package/dist/atomic/{p-07cd7e4a.entry.js → p-135be5aa.entry.js} +2 -2
  143. package/dist/atomic/{p-e739825f.entry.js → p-1cc97adc.entry.js} +2 -2
  144. package/dist/atomic/{p-de00bdd6.js → p-1d02a670.js} +1 -1
  145. package/dist/atomic/p-1d02a670.js.map +1 -0
  146. package/dist/atomic/{p-005d34a4.entry.js → p-29d27418.entry.js} +2 -2
  147. package/dist/atomic/{p-5250f36d.js → p-2dbdd073.js} +2 -2
  148. package/dist/atomic/{p-4dbb3798.entry.js → p-2f0cb73c.entry.js} +2 -2
  149. package/dist/atomic/{p-bad08ec3.entry.js → p-2ff906b9.entry.js} +2 -2
  150. package/dist/atomic/{p-908fa9c8.entry.js → p-306c83ea.entry.js} +2 -2
  151. package/dist/atomic/{p-f5ea03f0.entry.js → p-32b26cd0.entry.js} +2 -2
  152. package/dist/atomic/{p-dc463f0b.entry.js → p-32c90fe9.entry.js} +2 -2
  153. package/dist/atomic/{p-4e1f7c89.entry.js → p-36225d4f.entry.js} +2 -2
  154. package/dist/atomic/{p-84b36ec2.entry.js → p-3ec18de9.entry.js} +2 -2
  155. package/dist/atomic/{p-8a337769.entry.js → p-3f42a2db.entry.js} +2 -2
  156. package/dist/atomic/{p-c74c1b41.entry.js → p-45b26cc7.entry.js} +2 -2
  157. package/dist/atomic/{p-1c06ca0c.entry.js → p-46522ee4.entry.js} +2 -2
  158. package/dist/atomic/{p-cfec0988.entry.js → p-47ee9d37.entry.js} +2 -2
  159. package/dist/atomic/{p-4af746a9.entry.js → p-50b9a5d2.entry.js} +2 -2
  160. package/dist/atomic/{p-756462de.entry.js → p-51c5acfc.entry.js} +2 -2
  161. package/dist/atomic/{p-1202d6cc.entry.js → p-543e811e.entry.js} +2 -2
  162. package/dist/atomic/{p-1243448d.entry.js → p-545f7fb1.entry.js} +2 -2
  163. package/dist/atomic/{p-dc9313c5.entry.js → p-60527741.entry.js} +2 -2
  164. package/dist/atomic/{p-d4ab4985.entry.js → p-60a9e718.entry.js} +2 -2
  165. package/dist/atomic/{p-1c5502a8.entry.js → p-66683abd.entry.js} +2 -2
  166. package/dist/atomic/{p-3024c394.entry.js → p-67315415.entry.js} +2 -2
  167. package/dist/atomic/{p-baa3b8ee.entry.js → p-689e063d.entry.js} +2 -2
  168. package/dist/atomic/p-690b5853.entry.js +2 -0
  169. package/dist/atomic/{p-447f0772.entry.js → p-70ab347b.entry.js} +2 -2
  170. package/dist/atomic/{p-dc051fee.entry.js → p-76122df5.entry.js} +2 -2
  171. package/dist/atomic/{p-4d8ec431.entry.js → p-7d1f8d9c.entry.js} +2 -2
  172. package/dist/atomic/{p-d7c44977.entry.js → p-80dc3bab.entry.js} +2 -2
  173. package/dist/atomic/{p-c265c67d.entry.js → p-8392e900.entry.js} +2 -2
  174. package/dist/atomic/{p-58c8065c.entry.js → p-8d7f57d9.entry.js} +2 -2
  175. package/dist/atomic/{p-bb5c19a7.entry.js → p-8e09f796.entry.js} +2 -2
  176. package/dist/atomic/{p-1bddfac7.js → p-94e22484.js} +2 -2
  177. package/dist/atomic/{p-79e1bcc1.entry.js → p-95942ba2.entry.js} +2 -2
  178. package/dist/atomic/{p-00ba0b42.entry.js → p-99604083.entry.js} +2 -2
  179. package/dist/atomic/p-99604083.entry.js.map +1 -0
  180. package/dist/atomic/{p-a896c7b8.entry.js → p-9a08dad7.entry.js} +2 -2
  181. package/dist/atomic/{p-d5c709cd.entry.js → p-9ae88402.entry.js} +2 -2
  182. package/dist/atomic/p-9c7dbbdf.js.map +1 -1
  183. package/dist/atomic/{p-04c726de.entry.js → p-9d2230db.entry.js} +2 -2
  184. package/dist/atomic/p-9d2230db.entry.js.map +1 -0
  185. package/dist/atomic/{p-52abba32.entry.js → p-9eb108c9.entry.js} +2 -2
  186. package/dist/atomic/{p-558f3bd6.entry.js → p-a046cf06.entry.js} +2 -2
  187. package/dist/atomic/p-a1c4ac09.js +2 -0
  188. package/dist/atomic/p-a1c4ac09.js.map +1 -0
  189. package/dist/atomic/{p-9fb18d3e.entry.js → p-a3169f59.entry.js} +2 -2
  190. package/dist/atomic/{p-d1e606f2.entry.js → p-a4983d49.entry.js} +2 -2
  191. package/dist/atomic/{p-891f0c50.entry.js → p-a772b365.entry.js} +2 -2
  192. package/dist/atomic/{p-ccff6c87.entry.js → p-a8281e9b.entry.js} +2 -2
  193. package/dist/atomic/{p-c4dd47ca.entry.js → p-ab5eec3d.entry.js} +2 -2
  194. package/dist/atomic/{p-d72e52b2.entry.js → p-ab6e303e.entry.js} +2 -2
  195. package/dist/atomic/p-ab6e303e.entry.js.map +1 -0
  196. package/dist/atomic/{p-2b11517f.entry.js → p-b19a8cbb.entry.js} +2 -2
  197. package/dist/atomic/{p-4b20cdb3.entry.js → p-b4d47ca9.entry.js} +2 -2
  198. package/dist/atomic/{p-0ea5cbb8.entry.js → p-b4dfe5b2.entry.js} +2 -2
  199. package/dist/atomic/p-b747e4a9.entry.js +2 -0
  200. package/dist/atomic/{p-af8999b1.entry.js → p-b7824e0e.entry.js} +2 -2
  201. package/dist/atomic/{p-1cb6a01c.entry.js → p-ba6a30a7.entry.js} +2 -2
  202. package/dist/atomic/p-ba6a30a7.entry.js.map +1 -0
  203. package/dist/atomic/{p-b3604b54.entry.js → p-bd32ca3c.entry.js} +2 -2
  204. package/dist/atomic/p-bd32ca3c.entry.js.map +1 -0
  205. package/dist/atomic/{p-e7b8ee60.entry.js → p-be13ed5c.entry.js} +2 -2
  206. package/dist/atomic/p-befca41f.entry.js +2 -0
  207. package/dist/atomic/{p-6d264c97.entry.js → p-bfeefcaa.entry.js} +2 -2
  208. package/dist/atomic/{p-34cff6c8.entry.js → p-c0d7b26d.entry.js} +2 -2
  209. package/dist/atomic/{p-7d1ca26f.entry.js → p-c13d4039.entry.js} +2 -2
  210. package/dist/atomic/{p-6d083c4e.entry.js → p-c4f042ae.entry.js} +2 -2
  211. package/dist/atomic/{p-f96655f4.entry.js → p-c83f9cff.entry.js} +2 -2
  212. package/dist/atomic/{p-4e3518c2.entry.js → p-cd87574b.entry.js} +2 -2
  213. package/dist/atomic/{p-e260c799.entry.js → p-ce4e939b.entry.js} +2 -2
  214. package/dist/atomic/p-ce4e939b.entry.js.map +1 -0
  215. package/dist/atomic/{p-fc81ef98.entry.js → p-d1efd50f.entry.js} +2 -2
  216. package/dist/atomic/p-d1efd50f.entry.js.map +1 -0
  217. package/dist/atomic/{p-963a3e18.entry.js → p-d30057a0.entry.js} +2 -2
  218. package/dist/atomic/{p-d5c308fc.entry.js → p-d4aba9f9.entry.js} +2 -2
  219. package/dist/atomic/{p-037fbb27.entry.js → p-d62469e0.entry.js} +2 -2
  220. package/dist/atomic/{p-dd6e18bb.entry.js → p-d69756ae.entry.js} +2 -2
  221. package/dist/atomic/p-d76c5232.entry.js +2 -0
  222. package/dist/atomic/{p-68bf4184.entry.js → p-d827c148.entry.js} +2 -2
  223. package/dist/atomic/{p-cbe083d3.entry.js → p-dd8c6bdd.entry.js} +2 -2
  224. package/dist/atomic/{p-26ec2d6d.entry.js → p-ddd52850.entry.js} +2 -2
  225. package/dist/atomic/{p-c751940f.entry.js → p-e44155cc.entry.js} +2 -2
  226. package/dist/atomic/{p-5e7f50a5.entry.js → p-e4754fd0.entry.js} +2 -2
  227. package/dist/atomic/{p-bd109981.entry.js → p-e604fd29.entry.js} +2 -2
  228. package/dist/atomic/{p-22a0d1b9.entry.js → p-ea5d2736.entry.js} +2 -2
  229. package/dist/atomic/{p-75d11764.entry.js → p-eab28672.entry.js} +2 -2
  230. package/dist/atomic/p-ec0161b7.entry.js +2 -0
  231. package/dist/atomic/p-ec0161b7.entry.js.map +1 -0
  232. package/dist/atomic/{p-6c5524dc.entry.js → p-ec6bc15b.entry.js} +2 -2
  233. package/dist/atomic/p-eebb168b.entry.js +2 -0
  234. package/dist/atomic/p-f1bbe060.entry.js +2 -0
  235. package/dist/atomic/p-f1bbe060.entry.js.map +1 -0
  236. package/dist/atomic/{p-e36f1951.entry.js → p-f3182312.entry.js} +2 -2
  237. package/dist/atomic/p-f3182312.entry.js.map +1 -0
  238. package/dist/atomic/{p-6083c281.js → p-f45d8b3e.js} +1 -1
  239. package/dist/atomic/p-f45d8b3e.js.map +1 -0
  240. package/dist/atomic/{p-1de6a3e2.entry.js → p-f4a1bfe3.entry.js} +2 -2
  241. package/dist/atomic/{p-d1434df4.entry.js → p-f4b98113.entry.js} +2 -2
  242. package/dist/atomic/{p-a15f6b8c.entry.js → p-f6283657.entry.js} +2 -2
  243. package/dist/atomic/{p-e961a0cc.entry.js → p-f7f8096a.entry.js} +2 -2
  244. package/dist/atomic/{p-f8fb398c.entry.js → p-fb0bdcdb.entry.js} +2 -2
  245. package/dist/atomic/p-fbbbc454.entry.js +2 -0
  246. package/dist/atomic/{p-dea13af7.entry.js → p-fd9d1c3f.entry.js} +2 -2
  247. package/dist/cjs/_loader.cjs.js +1 -1
  248. package/dist/cjs/{analytics-config-4caf672d.js → analytics-config-54e62aa5.js} +2 -2
  249. package/dist/cjs/{analytics-config-4caf672d.js.map → analytics-config-54e62aa5.js.map} +1 -1
  250. package/dist/cjs/atomic-aria-live.cjs.entry.js +1 -1
  251. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  252. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  253. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js +4 -4
  254. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js +3 -3
  255. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +2 -2
  256. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js.map +1 -1
  257. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +2 -2
  258. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +1 -1
  259. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  262. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  264. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  265. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  266. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  267. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  268. package/dist/cjs/atomic-generated-answer.cjs.entry.js +13 -0
  269. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  270. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  271. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  274. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  275. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +13 -0
  276. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  277. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  278. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  279. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  280. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  281. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  282. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  283. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  284. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  285. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  286. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  287. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  288. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  289. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  290. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  291. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  292. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  293. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  294. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  295. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  297. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  298. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  299. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  300. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  301. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  302. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  303. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  304. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  305. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  306. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  307. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  308. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  309. package/dist/cjs/atomic-product-description.cjs.entry.js +2 -2
  310. package/dist/cjs/atomic-product-description.cjs.entry.js.map +1 -1
  311. package/dist/cjs/atomic-product-excerpt.cjs.entry.js +2 -2
  312. package/dist/cjs/atomic-product-excerpt.cjs.entry.js.map +1 -1
  313. package/dist/cjs/atomic-product-link.cjs.entry.js +1 -1
  314. package/dist/cjs/atomic-product-numeric-field-value.cjs.entry.js +1 -1
  315. package/dist/cjs/atomic-product-price.cjs.entry.js +2 -2
  316. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  317. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  318. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  319. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  320. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  321. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  322. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  323. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  324. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  325. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  326. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  327. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  328. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  329. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  330. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  331. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  332. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  333. package/dist/cjs/atomic-result-text_2.cjs.entry.js +46 -4
  334. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  335. package/dist/cjs/atomic-results-per-page.cjs.entry.js +71 -7
  336. package/dist/cjs/atomic-results-per-page.cjs.entry.js.map +1 -1
  337. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  338. package/dist/cjs/atomic-search-box.cjs.entry.js +4 -4
  339. package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
  340. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  341. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  342. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  343. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  344. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  345. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  346. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  347. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  348. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic.cjs.js +1 -1
  350. package/dist/cjs/index-757bc886.js +0 -12
  351. package/dist/cjs/{interface-common-stencil-61108e17.js → interface-common-stencil-d4086225.js} +2 -2
  352. package/dist/cjs/{interface-common-stencil-61108e17.js.map → interface-common-stencil-d4086225.js.map} +1 -1
  353. package/dist/cjs/{product-utils-9507462c.js → product-utils-f6c780e3.js} +1 -9
  354. package/dist/cjs/product-utils-f6c780e3.js.map +1 -0
  355. package/dist/cjs/sections-4b4af2f8.js.map +1 -1
  356. package/dist/cjs/{expandable-text-36fe9f8d.js → stencil-expandable-text-80915f74.js} +1 -1
  357. package/dist/cjs/stencil-expandable-text-80915f74.js.map +1 -0
  358. package/dist/cjs/{stencil-link-c6b12034.js → stencil-link-fbb2ab5c.js} +1 -1
  359. package/dist/cjs/stencil-link-fbb2ab5c.js.map +1 -0
  360. package/dist/cjs/version.cjs.js +2 -2
  361. package/dist/esm/_loader.js +1 -1
  362. package/dist/esm/{analytics-config-359b43de.js → analytics-config-6b5c6ac0.js} +2 -2
  363. package/dist/esm/{analytics-config-359b43de.js.map → analytics-config-6b5c6ac0.js.map} +1 -1
  364. package/dist/esm/atomic-aria-live.entry.js +1 -1
  365. package/dist/esm/atomic-category-facet.entry.js +1 -1
  366. package/dist/esm/atomic-citation.entry.js +1 -1
  367. package/dist/esm/atomic-commerce-category-facet_5.entry.js +4 -4
  368. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js +3 -3
  369. package/dist/esm/atomic-commerce-query-error.entry.js +2 -2
  370. package/dist/esm/atomic-commerce-query-error.entry.js.map +1 -1
  371. package/dist/esm/atomic-commerce-recommendation-interface.entry.js +2 -2
  372. package/dist/esm/atomic-commerce-refine-modal.entry.js +1 -1
  373. package/dist/esm/atomic-commerce-refine-toggle.entry.js +1 -1
  374. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  375. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  376. package/dist/esm/atomic-facet.entry.js +1 -1
  377. package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
  378. package/dist/esm/atomic-format-currency.entry.js +1 -1
  379. package/dist/esm/atomic-format-number.entry.js +1 -1
  380. package/dist/esm/atomic-format-unit.entry.js +1 -1
  381. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  382. package/dist/esm/atomic-generated-answer.entry.js +13 -0
  383. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  384. package/dist/esm/atomic-html.entry.js +1 -1
  385. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  386. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  387. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  388. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  389. package/dist/esm/atomic-insight-generated-answer.entry.js +13 -0
  390. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  391. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  392. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  393. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  394. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  395. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  396. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  397. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  398. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  399. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  400. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  401. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  402. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  403. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  404. package/dist/esm/atomic-insight-result.entry.js +1 -1
  405. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  406. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  407. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  408. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  409. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  410. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  411. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  412. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  413. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  414. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  415. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  416. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  417. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  418. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  419. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  420. package/dist/esm/atomic-no-results.entry.js +1 -1
  421. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  422. package/dist/esm/atomic-pager.entry.js +3 -3
  423. package/dist/esm/atomic-product-description.entry.js +1 -1
  424. package/dist/esm/atomic-product-description.entry.js.map +1 -1
  425. package/dist/esm/atomic-product-excerpt.entry.js +1 -1
  426. package/dist/esm/atomic-product-excerpt.entry.js.map +1 -1
  427. package/dist/esm/atomic-product-link.entry.js +1 -1
  428. package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
  429. package/dist/esm/atomic-product-price.entry.js +2 -2
  430. package/dist/esm/atomic-query-error.entry.js +2 -2
  431. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  432. package/dist/esm/atomic-query-summary.entry.js +1 -1
  433. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  434. package/dist/esm/atomic-quickview.entry.js +1 -1
  435. package/dist/esm/atomic-recs-error.entry.js +2 -2
  436. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  437. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  438. package/dist/esm/atomic-recs-list.entry.js +1 -1
  439. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  440. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  441. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  442. package/dist/esm/atomic-result-children.entry.js +1 -1
  443. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  444. package/dist/esm/atomic-result-link.entry.js +1 -1
  445. package/dist/esm/atomic-result-list.entry.js +1 -1
  446. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  447. package/dist/esm/atomic-result-text_2.entry.js +45 -3
  448. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  449. package/dist/esm/atomic-results-per-page.entry.js +68 -4
  450. package/dist/esm/atomic-results-per-page.entry.js.map +1 -1
  451. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  452. package/dist/esm/atomic-search-box.entry.js +4 -4
  453. package/dist/esm/atomic-search-interface.entry.js +2 -2
  454. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  455. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  456. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  457. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  458. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  459. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  460. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  461. package/dist/esm/atomic-tab-button.entry.js +1 -1
  462. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  463. package/dist/esm/atomic.js +1 -1
  464. package/dist/esm/index-3f35faca.js +0 -12
  465. package/dist/esm/{interface-common-stencil-623d4314.js → interface-common-stencil-fc6f80e8.js} +2 -2
  466. package/dist/esm/{interface-common-stencil-623d4314.js.map → interface-common-stencil-fc6f80e8.js.map} +1 -1
  467. package/dist/esm/{product-utils-8348689f.js → product-utils-85109d2e.js} +2 -9
  468. package/dist/esm/product-utils-85109d2e.js.map +1 -0
  469. package/dist/esm/sections-ae00b53a.js.map +1 -1
  470. package/dist/esm/{expandable-text-4eebe177.js → stencil-expandable-text-957d599c.js} +1 -1
  471. package/dist/esm/stencil-expandable-text-957d599c.js.map +1 -0
  472. package/dist/esm/{stencil-link-637c1ac5.js → stencil-link-32a27dfb.js} +1 -1
  473. package/dist/esm/stencil-link-32a27dfb.js.map +1 -0
  474. package/dist/esm/version.js +2 -2
  475. package/dist/types/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.d.ts +13 -7
  476. package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +13 -5
  477. package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +1 -1
  478. package/dist/types/components/commerce/atomic-product-excerpt/atomic-product-excerpt.d.ts +1 -1
  479. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +2 -0
  480. package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +29 -15
  481. package/dist/types/components/commerce/index.d.ts +3 -0
  482. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +11 -2
  483. package/dist/types/components/common/atomic-layout-section/sections.d.ts +2 -1
  484. package/dist/types/components/common/expandable-text/expandable-text.d.ts +4 -4
  485. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +13 -0
  486. package/dist/types/components/common/index.d.ts +1 -0
  487. package/dist/types/components/common/items-per-page/choices.d.ts +1 -1
  488. package/dist/types/components/common/items-per-page/error.d.ts +3 -0
  489. package/dist/types/components/common/query-error/show-more.d.ts +4 -4
  490. package/dist/types/components/common/query-error/stencil-show-more.d.ts +10 -0
  491. package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +6 -0
  492. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +6 -0
  493. package/dist/types/components.d.ts +18 -208
  494. package/docs/atomic-docs.json +37 -492
  495. package/package.json +3 -3
  496. package/dist/atomic/components/atomic-commerce-products-per-page.d.ts +0 -11
  497. package/dist/atomic/components/atomic-commerce-products-per-page.js +0 -107
  498. package/dist/atomic/components/atomic-commerce-products-per-page.js.map +0 -1
  499. package/dist/atomic/components/atomic-commerce-text.d.ts +0 -11
  500. package/dist/atomic/components/atomic-commerce-text.js +0 -8
  501. package/dist/atomic/components/atomic-commerce-text.js.map +0 -1
  502. package/dist/atomic/components/atomic-commerce-text2.js +0 -60
  503. package/dist/atomic/components/atomic-commerce-text2.js.map +0 -1
  504. package/dist/atomic/components/atomic-layout-section.d.ts +0 -11
  505. package/dist/atomic/components/atomic-layout-section.js +0 -35
  506. package/dist/atomic/components/atomic-layout-section.js.map +0 -1
  507. package/dist/atomic/components/atomic-product-text.d.ts +0 -11
  508. package/dist/atomic/components/atomic-product-text.js +0 -8
  509. package/dist/atomic/components/atomic-product-text.js.map +0 -1
  510. package/dist/atomic/components/atomic-product-text2.js +0 -83
  511. package/dist/atomic/components/atomic-product-text2.js.map +0 -1
  512. package/dist/atomic/components/expandable-text.js.map +0 -1
  513. package/dist/atomic/components/stencil-item-text-highlighted.js +0 -49
  514. package/dist/atomic/components/stencil-item-text-highlighted.js.map +0 -1
  515. package/dist/atomic/components/validate.js +0 -62
  516. package/dist/atomic/components/validate.js.map +0 -1
  517. package/dist/atomic/p-00ba0b42.entry.js.map +0 -1
  518. package/dist/atomic/p-03109525.entry.js +0 -2
  519. package/dist/atomic/p-03109525.entry.js.map +0 -1
  520. package/dist/atomic/p-04c726de.entry.js.map +0 -1
  521. package/dist/atomic/p-162da819.entry.js +0 -2
  522. package/dist/atomic/p-1cb6a01c.entry.js.map +0 -1
  523. package/dist/atomic/p-39223a2a.entry.js +0 -2
  524. package/dist/atomic/p-39223a2a.entry.js.map +0 -1
  525. package/dist/atomic/p-5cf5bb98.entry.js +0 -2
  526. package/dist/atomic/p-6083c281.js.map +0 -1
  527. package/dist/atomic/p-67ef14ac.entry.js +0 -2
  528. package/dist/atomic/p-67ef14ac.entry.js.map +0 -1
  529. package/dist/atomic/p-733252f1.entry.js +0 -2
  530. package/dist/atomic/p-733252f1.entry.js.map +0 -1
  531. package/dist/atomic/p-81874146.entry.js +0 -2
  532. package/dist/atomic/p-98c16767.entry.js +0 -2
  533. package/dist/atomic/p-b0be7782.entry.js +0 -2
  534. package/dist/atomic/p-b1a7d837.js +0 -2
  535. package/dist/atomic/p-b1a7d837.js.map +0 -1
  536. package/dist/atomic/p-b3604b54.entry.js.map +0 -1
  537. package/dist/atomic/p-b90ea7e9.entry.js +0 -2
  538. package/dist/atomic/p-ba5a125f.entry.js +0 -2
  539. package/dist/atomic/p-ba5a125f.entry.js.map +0 -1
  540. package/dist/atomic/p-bb081d4e.js +0 -2
  541. package/dist/atomic/p-bb081d4e.js.map +0 -1
  542. package/dist/atomic/p-c408a774.js +0 -2
  543. package/dist/atomic/p-c408a774.js.map +0 -1
  544. package/dist/atomic/p-d72e52b2.entry.js.map +0 -1
  545. package/dist/atomic/p-de00bdd6.js.map +0 -1
  546. package/dist/atomic/p-e260c799.entry.js.map +0 -1
  547. package/dist/atomic/p-e36f1951.entry.js.map +0 -1
  548. package/dist/atomic/p-fc81ef98.entry.js.map +0 -1
  549. package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js +0 -95
  550. package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js.map +0 -1
  551. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js +0 -106
  552. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js.map +0 -1
  553. package/dist/cjs/atomic-layout-section.cjs.entry.js +0 -18
  554. package/dist/cjs/atomic-layout-section.cjs.entry.js.map +0 -1
  555. package/dist/cjs/expandable-text-36fe9f8d.js.map +0 -1
  556. package/dist/cjs/product-utils-9507462c.js.map +0 -1
  557. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js +0 -52
  558. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js.map +0 -1
  559. package/dist/cjs/stencil-link-c6b12034.js.map +0 -1
  560. package/dist/cjs/validate-232b3138.js +0 -69
  561. package/dist/cjs/validate-232b3138.js.map +0 -1
  562. package/dist/esm/atomic-commerce-products-per-page.entry.js +0 -91
  563. package/dist/esm/atomic-commerce-products-per-page.entry.js.map +0 -1
  564. package/dist/esm/atomic-commerce-text_2.entry.js +0 -101
  565. package/dist/esm/atomic-commerce-text_2.entry.js.map +0 -1
  566. package/dist/esm/atomic-layout-section.entry.js +0 -14
  567. package/dist/esm/atomic-layout-section.entry.js.map +0 -1
  568. package/dist/esm/expandable-text-4eebe177.js.map +0 -1
  569. package/dist/esm/product-utils-8348689f.js.map +0 -1
  570. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js +0 -49
  571. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js.map +0 -1
  572. package/dist/esm/stencil-link-637c1ac5.js.map +0 -1
  573. package/dist/esm/validate-8b800378.js +0 -62
  574. package/dist/esm/validate-8b800378.js.map +0 -1
  575. /package/dist/atomic/{p-a535a268.entry.js.map → p-0267a585.entry.js.map} +0 -0
  576. /package/dist/atomic/{p-9a161d8f.entry.js.map → p-0a7b0daa.entry.js.map} +0 -0
  577. /package/dist/atomic/{p-f7eab69a.entry.js.map → p-0b0ea7d3.entry.js.map} +0 -0
  578. /package/dist/atomic/{p-07cd7e4a.entry.js.map → p-135be5aa.entry.js.map} +0 -0
  579. /package/dist/atomic/{p-e739825f.entry.js.map → p-1cc97adc.entry.js.map} +0 -0
  580. /package/dist/atomic/{p-005d34a4.entry.js.map → p-29d27418.entry.js.map} +0 -0
  581. /package/dist/atomic/{p-5250f36d.js.map → p-2dbdd073.js.map} +0 -0
  582. /package/dist/atomic/{p-4dbb3798.entry.js.map → p-2f0cb73c.entry.js.map} +0 -0
  583. /package/dist/atomic/{p-bad08ec3.entry.js.map → p-2ff906b9.entry.js.map} +0 -0
  584. /package/dist/atomic/{p-908fa9c8.entry.js.map → p-306c83ea.entry.js.map} +0 -0
  585. /package/dist/atomic/{p-f5ea03f0.entry.js.map → p-32b26cd0.entry.js.map} +0 -0
  586. /package/dist/atomic/{p-dc463f0b.entry.js.map → p-32c90fe9.entry.js.map} +0 -0
  587. /package/dist/atomic/{p-4e1f7c89.entry.js.map → p-36225d4f.entry.js.map} +0 -0
  588. /package/dist/atomic/{p-84b36ec2.entry.js.map → p-3ec18de9.entry.js.map} +0 -0
  589. /package/dist/atomic/{p-8a337769.entry.js.map → p-3f42a2db.entry.js.map} +0 -0
  590. /package/dist/atomic/{p-c74c1b41.entry.js.map → p-45b26cc7.entry.js.map} +0 -0
  591. /package/dist/atomic/{p-1c06ca0c.entry.js.map → p-46522ee4.entry.js.map} +0 -0
  592. /package/dist/atomic/{p-cfec0988.entry.js.map → p-47ee9d37.entry.js.map} +0 -0
  593. /package/dist/atomic/{p-4af746a9.entry.js.map → p-50b9a5d2.entry.js.map} +0 -0
  594. /package/dist/atomic/{p-756462de.entry.js.map → p-51c5acfc.entry.js.map} +0 -0
  595. /package/dist/atomic/{p-1202d6cc.entry.js.map → p-543e811e.entry.js.map} +0 -0
  596. /package/dist/atomic/{p-1243448d.entry.js.map → p-545f7fb1.entry.js.map} +0 -0
  597. /package/dist/atomic/{p-dc9313c5.entry.js.map → p-60527741.entry.js.map} +0 -0
  598. /package/dist/atomic/{p-d4ab4985.entry.js.map → p-60a9e718.entry.js.map} +0 -0
  599. /package/dist/atomic/{p-1c5502a8.entry.js.map → p-66683abd.entry.js.map} +0 -0
  600. /package/dist/atomic/{p-3024c394.entry.js.map → p-67315415.entry.js.map} +0 -0
  601. /package/dist/atomic/{p-baa3b8ee.entry.js.map → p-689e063d.entry.js.map} +0 -0
  602. /package/dist/atomic/{p-b0be7782.entry.js.map → p-690b5853.entry.js.map} +0 -0
  603. /package/dist/atomic/{p-447f0772.entry.js.map → p-70ab347b.entry.js.map} +0 -0
  604. /package/dist/atomic/{p-dc051fee.entry.js.map → p-76122df5.entry.js.map} +0 -0
  605. /package/dist/atomic/{p-4d8ec431.entry.js.map → p-7d1f8d9c.entry.js.map} +0 -0
  606. /package/dist/atomic/{p-d7c44977.entry.js.map → p-80dc3bab.entry.js.map} +0 -0
  607. /package/dist/atomic/{p-c265c67d.entry.js.map → p-8392e900.entry.js.map} +0 -0
  608. /package/dist/atomic/{p-58c8065c.entry.js.map → p-8d7f57d9.entry.js.map} +0 -0
  609. /package/dist/atomic/{p-bb5c19a7.entry.js.map → p-8e09f796.entry.js.map} +0 -0
  610. /package/dist/atomic/{p-1bddfac7.js.map → p-94e22484.js.map} +0 -0
  611. /package/dist/atomic/{p-79e1bcc1.entry.js.map → p-95942ba2.entry.js.map} +0 -0
  612. /package/dist/atomic/{p-a896c7b8.entry.js.map → p-9a08dad7.entry.js.map} +0 -0
  613. /package/dist/atomic/{p-d5c709cd.entry.js.map → p-9ae88402.entry.js.map} +0 -0
  614. /package/dist/atomic/{p-52abba32.entry.js.map → p-9eb108c9.entry.js.map} +0 -0
  615. /package/dist/atomic/{p-558f3bd6.entry.js.map → p-a046cf06.entry.js.map} +0 -0
  616. /package/dist/atomic/{p-9fb18d3e.entry.js.map → p-a3169f59.entry.js.map} +0 -0
  617. /package/dist/atomic/{p-d1e606f2.entry.js.map → p-a4983d49.entry.js.map} +0 -0
  618. /package/dist/atomic/{p-891f0c50.entry.js.map → p-a772b365.entry.js.map} +0 -0
  619. /package/dist/atomic/{p-ccff6c87.entry.js.map → p-a8281e9b.entry.js.map} +0 -0
  620. /package/dist/atomic/{p-c4dd47ca.entry.js.map → p-ab5eec3d.entry.js.map} +0 -0
  621. /package/dist/atomic/{p-2b11517f.entry.js.map → p-b19a8cbb.entry.js.map} +0 -0
  622. /package/dist/atomic/{p-4b20cdb3.entry.js.map → p-b4d47ca9.entry.js.map} +0 -0
  623. /package/dist/atomic/{p-0ea5cbb8.entry.js.map → p-b4dfe5b2.entry.js.map} +0 -0
  624. /package/dist/atomic/{p-81874146.entry.js.map → p-b747e4a9.entry.js.map} +0 -0
  625. /package/dist/atomic/{p-af8999b1.entry.js.map → p-b7824e0e.entry.js.map} +0 -0
  626. /package/dist/atomic/{p-e7b8ee60.entry.js.map → p-be13ed5c.entry.js.map} +0 -0
  627. /package/dist/atomic/{p-b90ea7e9.entry.js.map → p-befca41f.entry.js.map} +0 -0
  628. /package/dist/atomic/{p-6d264c97.entry.js.map → p-bfeefcaa.entry.js.map} +0 -0
  629. /package/dist/atomic/{p-34cff6c8.entry.js.map → p-c0d7b26d.entry.js.map} +0 -0
  630. /package/dist/atomic/{p-7d1ca26f.entry.js.map → p-c13d4039.entry.js.map} +0 -0
  631. /package/dist/atomic/{p-6d083c4e.entry.js.map → p-c4f042ae.entry.js.map} +0 -0
  632. /package/dist/atomic/{p-f96655f4.entry.js.map → p-c83f9cff.entry.js.map} +0 -0
  633. /package/dist/atomic/{p-4e3518c2.entry.js.map → p-cd87574b.entry.js.map} +0 -0
  634. /package/dist/atomic/{p-963a3e18.entry.js.map → p-d30057a0.entry.js.map} +0 -0
  635. /package/dist/atomic/{p-d5c308fc.entry.js.map → p-d4aba9f9.entry.js.map} +0 -0
  636. /package/dist/atomic/{p-037fbb27.entry.js.map → p-d62469e0.entry.js.map} +0 -0
  637. /package/dist/atomic/{p-dd6e18bb.entry.js.map → p-d69756ae.entry.js.map} +0 -0
  638. /package/dist/atomic/{p-5cf5bb98.entry.js.map → p-d76c5232.entry.js.map} +0 -0
  639. /package/dist/atomic/{p-68bf4184.entry.js.map → p-d827c148.entry.js.map} +0 -0
  640. /package/dist/atomic/{p-cbe083d3.entry.js.map → p-dd8c6bdd.entry.js.map} +0 -0
  641. /package/dist/atomic/{p-26ec2d6d.entry.js.map → p-ddd52850.entry.js.map} +0 -0
  642. /package/dist/atomic/{p-c751940f.entry.js.map → p-e44155cc.entry.js.map} +0 -0
  643. /package/dist/atomic/{p-5e7f50a5.entry.js.map → p-e4754fd0.entry.js.map} +0 -0
  644. /package/dist/atomic/{p-bd109981.entry.js.map → p-e604fd29.entry.js.map} +0 -0
  645. /package/dist/atomic/{p-22a0d1b9.entry.js.map → p-ea5d2736.entry.js.map} +0 -0
  646. /package/dist/atomic/{p-75d11764.entry.js.map → p-eab28672.entry.js.map} +0 -0
  647. /package/dist/atomic/{p-6c5524dc.entry.js.map → p-ec6bc15b.entry.js.map} +0 -0
  648. /package/dist/atomic/{p-98c16767.entry.js.map → p-eebb168b.entry.js.map} +0 -0
  649. /package/dist/atomic/{p-1de6a3e2.entry.js.map → p-f4a1bfe3.entry.js.map} +0 -0
  650. /package/dist/atomic/{p-d1434df4.entry.js.map → p-f4b98113.entry.js.map} +0 -0
  651. /package/dist/atomic/{p-a15f6b8c.entry.js.map → p-f6283657.entry.js.map} +0 -0
  652. /package/dist/atomic/{p-e961a0cc.entry.js.map → p-f7f8096a.entry.js.map} +0 -0
  653. /package/dist/atomic/{p-f8fb398c.entry.js.map → p-fb0bdcdb.entry.js.map} +0 -0
  654. /package/dist/atomic/{p-162da819.entry.js.map → p-fbbbc454.entry.js.map} +0 -0
  655. /package/dist/atomic/{p-dea13af7.entry.js.map → p-fd9d1c3f.entry.js.map} +0 -0
@@ -28,6 +28,7 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
28
28
  this.DEFAULT_COLLAPSED_HEIGHT = 16;
29
29
  this.MAX_COLLAPSED_HEIGHT = 32;
30
30
  this.MIN_COLLAPSED_HEIGHT = 9;
31
+ this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';
31
32
  this.copied = false;
32
33
  this.copyError = false;
33
34
  /**
@@ -35,6 +36,10 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
35
36
  *
36
37
  */
37
38
  this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
39
+ /**
40
+ * A list of fields to include with the citations used to generate the answer.
41
+ */
42
+ this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
38
43
  /**
39
44
  * The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.
40
45
  *
@@ -86,6 +91,7 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
86
91
  this.collapsible = undefined;
87
92
  this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
88
93
  this.answerConfigurationId = undefined;
94
+ this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
89
95
  this.tabsIncluded = '[]';
90
96
  this.tabsExcluded = '[]';
91
97
  }
@@ -119,6 +125,7 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
119
125
  ...(this.answerConfigurationId && {
120
126
  answerConfigurationId: this.answerConfigurationId,
121
127
  }),
128
+ fieldsToIncludeInCitations: this.getCitationFields(),
122
129
  });
123
130
  this.searchStatus = buildSearchStatus(this.bindings.engine);
124
131
  this.generatedAnswerCommon.insertFeedbackModal();
@@ -162,6 +169,12 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
162
169
  getAnswerFooter() {
163
170
  return this.host?.shadowRoot?.querySelector('[part="generated-answer-footer"]');
164
171
  }
172
+ getCitationFields() {
173
+ return this.fieldsToIncludeInCitations
174
+ ?.split(',')
175
+ .map((field) => field.trim())
176
+ .filter((field) => field.length > 0);
177
+ }
165
178
  validateMaxCollapsedHeight() {
166
179
  const isValid = this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&
167
180
  this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;
@@ -222,6 +235,7 @@ const AtomicGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class AtomicGen
222
235
  "collapsible": [4],
223
236
  "maxCollapsedHeight": [2, "max-collapsed-height"],
224
237
  "answerConfigurationId": [1, "answer-configuration-id"],
238
+ "fieldsToIncludeInCitations": [1, "fields-to-include-in-citations"],
225
239
  "tabsIncluded": [1537, "tabs-included"],
226
240
  "tabsExcluded": [1537, "tabs-excluded"],
227
241
  "generatedAnswerState": [32],
@@ -1 +1 @@
1
- {"file":"atomic-generated-answer.js","mappings":"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","names":["AtomicGeneratedAnswer"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\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 {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-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-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\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\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\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 the specified `--atomic-crga-collapsed-height` value (16rem by default).\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 * The unique identifier of the answer configuration to use to generate the answer.\n */\n @Prop() answerConfigurationId?: string;\n\n /**\n * The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this generated answer must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\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 buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(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 });\n this.searchStatus = buildSearchStatus(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 this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\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 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() as HTMLElement;\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 @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-generated-answer.js","mappings":"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","names":["AtomicGeneratedAnswer"],"sources":["src/components/search/atomic-generated-answer/atomic-generated-answer.pcss?tag=atomic-generated-answer&encapsulation=shadow","src/components/search/atomic-generated-answer/atomic-generated-answer.tsx"],"sourcesContent":["@import '../../common/generated-answer/styles/generated-answer.pcss';\n","import {\n SearchStatus,\n SearchStatusState,\n buildSearchStatus,\n buildGeneratedAnswer,\n GeneratedAnswer,\n GeneratedAnswerState,\n buildInteractiveCitation,\n buildTabManager,\n TabManagerState,\n TabManager,\n} from '@coveo/headless';\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 {ArrayProp} from '../../../utils/props-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {GeneratedAnswerCommon} from '../../common/generated-answer/generated-answer-common';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-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-generated-answer',\n styleUrl: 'atomic-generated-answer.pcss',\n shadow: true,\n})\nexport class AtomicGeneratedAnswer implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public generatedAnswer!: GeneratedAnswer;\n public searchStatus!: SearchStatus;\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 DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';\n\n @BindStateToController('generatedAnswer', {\n onUpdateCallbackMethod: 'onGeneratedAnswerStateUpdate',\n })\n @State()\n private generatedAnswerState!: GeneratedAnswerState;\n\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n\n public tabManager!: TabManager;\n\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\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 the specified `--atomic-crga-collapsed-height` value (16rem by default).\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 * 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 =\n this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;\n\n /**\n * The tabs on which the generated answer can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this generated answer must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-generated-answer tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-generated-answer>\n * ```\n * If you don't set this property, the generated answer can be displayed on any tab. Otherwise, the generated answer won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n @AriaLiveRegion('generated-answer')\n protected ariaMessage!: string;\n\n private generatedAnswerCommon!: GeneratedAnswerCommon;\n private fullAnswerHeight?: number;\n\n public initialize() {\n if (\n [...this.tabsIncluded].length > 0 &&\n [...this.tabsExcluded].length > 0\n ) {\n console.warn(\n 'Values for both \"tabs-included\" and \"tabs-excluded\" have been provided. This could lead to unexpected behaviors.'\n );\n }\n this.generatedAnswerCommon = new GeneratedAnswerCommon({\n host: this.host,\n withToggle: this.withToggle,\n collapsible: this.collapsible,\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 buildInteractiveCitation(this.bindings.engine, props),\n });\n this.generatedAnswer = buildGeneratedAnswer(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 = buildSearchStatus(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 this.tabManager = buildTabManager(this.bindings.engine);\n }\n\n @Watch('generatedAnswerState')\n public updateAnswerCollapsed(\n newState: GeneratedAnswerState,\n oldState: GeneratedAnswerState\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 }\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() as HTMLElement;\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 @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n this.generatedAnswer.disable();\n } else {\n this.generatedAnswer.enable();\n }\n }\n }\n\n public render() {\n if (\n !shouldDisplayOnCurrentTab(\n [...this.tabsIncluded],\n [...this.tabsExcluded],\n this.tabManagerState?.activeTab\n )\n ) {\n return <Hidden />;\n }\n return this.generatedAnswerCommon.render();\n }\n}\n"],"version":3}
@@ -31,7 +31,7 @@ const AtomicHtml = /*@__PURE__*/ proxyCustomElement(class AtomicHtml extends HTM
31
31
  }
32
32
  }
33
33
  render() {
34
- return (h("span", { key: '971de1113d4d61d9447f5b8e962ed07042b8a841', innerHTML: this.sanitize ? DOMPurify.sanitize(this.value) : this.value }));
34
+ return (h("span", { key: 'c5d09c0ade42d0776981749f170bc434e847ffee', innerHTML: this.sanitize ? DOMPurify.sanitize(this.value) : this.value }));
35
35
  }
36
36
  }, [1, "atomic-html", {
37
37
  "value": [1],
@@ -24,7 +24,7 @@ const AtomicInsightEditToggle$1 = /*@__PURE__*/ proxyCustomElement(class AtomicI
24
24
  this.tooltip = '';
25
25
  }
26
26
  render() {
27
- return (h(IconButton, { key: '48cf3ee6840d4e483640399e3ac76f6bda61dc57', partPrefix: "insight-edit-toggle", style: "outline-neutral", icon: EditIcon, ariaLabel: "Edit", onClick: this.clickCallback, title: this.tooltip }));
27
+ return (h(IconButton, { key: 'f2c3545f7dcdcf8d7ad44ab837362fb1f3c282d5', partPrefix: "insight-edit-toggle", style: "outline-neutral", icon: EditIcon, ariaLabel: "Edit", onClick: this.clickCallback, title: this.tooltip }));
28
28
  }
29
29
  static get style() { return AtomicInsightEditToggleStyle0; }
30
30
  }, [1, "atomic-insight-edit-toggle", {
@@ -139,7 +139,7 @@ const AtomicInsightFacet$1 = /*@__PURE__*/ proxyCustomElement(class AtomicInsigh
139
139
  this.facetConditionsManager?.stopWatching();
140
140
  }
141
141
  render() {
142
- return (h(FacetGuard, { key: 'a391321b08426557e2dec0797f15052db51c8745', enabled: this.facetState.enabled, hasError: this.searchStatusState.hasError, firstSearchExecuted: this.searchStatusState.firstSearchExecuted, hasResults: this.facetState.values.length > 0 }, this.searchStatusState.firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
142
+ return (h(FacetGuard, { key: '73a620304f1dd508cbd577ae6f45314ea98bf3b1', enabled: this.facetState.enabled, hasError: this.searchStatusState.hasError, firstSearchExecuted: this.searchStatusState.firstSearchExecuted, hasResults: this.facetState.values.length > 0 }, this.searchStatusState.firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: this.bindings.i18n, label: this.label, onClearFilters: () => {
143
143
  this.focusTargets.header.focusAfterSearch();
144
144
  this.facet.deselectAll();
145
145
  }, numberOfActiveValues: this.activeValues.length, isCollapsed: this.isCollapsed, headingLevel: this.headingLevel, onToggleCollapse: () => (this.isCollapsed = !this.isCollapsed), headerRef: (el) => this.focusTargets.header.setTarget(el) }), this.renderBody())) : (h(FacetPlaceholder, { numberOfValues: this.numberOfValues, isCollapsed: this.isCollapsed }))));
@@ -138,7 +138,7 @@ const AtomicInsightFoldedResultList$1 = /*@__PURE__*/ proxyCustomElement(class A
138
138
  render() {
139
139
  this.itemListCommon.updateBreakpoints();
140
140
  const listClasses = this.computeListDisplayClasses();
141
- return (h(ItemListGuard, { key: 'cdf53aa9eb52d21d4cccc9df7bc8d0b11a5e884f', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, hasError: this.foldedResultListState.hasError }, h(DisplayWrapper, { key: '1b7927379398b26bb3de5916991f7e0cc40c9983', listClasses: listClasses, display: this.display }, h(ResultsPlaceholdersGuard, { key: 'cfcf986d325780a086628e2ae4ad74dfcf7d952f', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), h(ItemDisplayGuard, { key: '1a4392d71d7f65ac479a27db4bf13153903c7895', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults }, this.foldedResultListState.results.map((collection, i) => {
141
+ return (h(ItemListGuard, { key: '1c801f534dfdfbcfe5ea01426ad39c684d6c3666', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, hasError: this.foldedResultListState.hasError }, h(DisplayWrapper, { key: '5cacbfd7ee2d51f746956375e039b986a30ac568', listClasses: listClasses, display: this.display }, h(ResultsPlaceholdersGuard, { key: 'f8e65c083bbd2a56ca91688dc71a642c30bd2c69', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), h(ItemDisplayGuard, { key: '31395926a3277ba2d443ea1bbaf464efad76d929', firstRequestExecuted: this.foldedResultListState.firstSearchExecuted, hasItems: this.foldedResultListState.hasResults }, this.foldedResultListState.results.map((collection, i) => {
142
142
  const atomicInsightResultProps = this.getPropsForAtomicInsightResult(collection);
143
143
  return (h("atomic-insight-result", { ...atomicInsightResultProps, part: "outline", ref: (element) => element && this.itemListCommon.setNewResultRef(element, i) }));
144
144
  })))));
@@ -30,7 +30,7 @@ const AtomicInsightFullSearchButton$1 = /*@__PURE__*/ proxyCustomElement(class A
30
30
  this.error = undefined;
31
31
  }
32
32
  render() {
33
- return (h(IconButton, { key: '547a61733af0672b6df254c31fbf6a0612ba37f1', partPrefix: "full-search", style: "outline-neutral", icon: ArrowFull, ariaLabel: this.bindings.i18n.t('full-search'), title: this.tooltip }));
33
+ return (h(IconButton, { key: '6461da4e9a845043168907921d4293d402fc98b2', partPrefix: "full-search", style: "outline-neutral", icon: ArrowFull, ariaLabel: this.bindings.i18n.t('full-search'), title: this.tooltip }));
34
34
  }
35
35
  static get style() { return AtomicInsightFullSearchButtonStyle0; }
36
36
  }, [1, "atomic-insight-full-search-button", {
@@ -26,6 +26,7 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
26
26
  this.DEFAULT_COLLAPSED_HEIGHT = 16;
27
27
  this.MAX_COLLAPSED_HEIGHT = 32;
28
28
  this.MIN_COLLAPSED_HEIGHT = 9;
29
+ this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS = 'filetype';
29
30
  this.copied = false;
30
31
  this.copyError = false;
31
32
  /**
@@ -33,6 +34,10 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
33
34
  *
34
35
  */
35
36
  this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
37
+ /**
38
+ * A list of fields to include with the citations used to generate the answer.
39
+ */
40
+ this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
36
41
  // @ts-expect-error: This function is used by BindStateToController.
37
42
  this.onGeneratedAnswerStateUpdate = () => {
38
43
  if (this.generatedAnswerState.isVisible !==
@@ -63,6 +68,7 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
63
68
  this.collapsible = undefined;
64
69
  this.maxCollapsedHeight = this.DEFAULT_COLLAPSED_HEIGHT;
65
70
  this.answerConfigurationId = undefined;
71
+ this.fieldsToIncludeInCitations = this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;
66
72
  }
67
73
  initialize() {
68
74
  this.generatedAnswerCommon = new GeneratedAnswerCommon({
@@ -90,6 +96,7 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
90
96
  ...(this.answerConfigurationId && {
91
97
  answerConfigurationId: this.answerConfigurationId,
92
98
  }),
99
+ fieldsToIncludeInCitations: this.getCitationFields(),
93
100
  });
94
101
  this.searchStatus = buildSearchStatus(this.bindings.engine);
95
102
  this.generatedAnswerCommon.insertFeedbackModal();
@@ -132,6 +139,12 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
132
139
  getAnswerFooter() {
133
140
  return this.host?.shadowRoot?.querySelector('[part="generated-answer-footer"]');
134
141
  }
142
+ getCitationFields() {
143
+ return this.fieldsToIncludeInCitations
144
+ ?.split(',')
145
+ .map((field) => field.trim())
146
+ .filter((field) => field.length > 0);
147
+ }
135
148
  validateMaxCollapsedHeight() {
136
149
  const isValid = this.maxCollapsedHeight >= this.MIN_COLLAPSED_HEIGHT &&
137
150
  this.maxCollapsedHeight <= this.MAX_COLLAPSED_HEIGHT;
@@ -178,6 +191,7 @@ const AtomicInsightGeneratedAnswer$1 = /*@__PURE__*/ proxyCustomElement(class At
178
191
  "collapsible": [4],
179
192
  "maxCollapsedHeight": [2, "max-collapsed-height"],
180
193
  "answerConfigurationId": [1, "answer-configuration-id"],
194
+ "fieldsToIncludeInCitations": [1, "fields-to-include-in-citations"],
181
195
  "generatedAnswerState": [32],
182
196
  "searchStatusState": [32],
183
197
  "error": [32],
@@ -1 +1 @@
1
- {"file":"atomic-insight-generated-answer.js","mappings":"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","names":["AtomicInsightGeneratedAnswer","buildInsightInteractiveCitation","buildInsightGeneratedAnswer","buildInsightSearchStatus"],"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\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 @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 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 });\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 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.js","mappings":"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","names":["AtomicInsightGeneratedAnswer","buildInsightInteractiveCitation","buildInsightGeneratedAnswer","buildInsightSearchStatus"],"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 DEFAULT_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 =\n this.DEFAULT_FIELDS_TO_INCLUDE_IN_CITATIONS;\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 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 }\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}
@@ -16,7 +16,7 @@ const AtomicInsightHistoryToggle$1 = /*@__PURE__*/ proxyCustomElement(class Atom
16
16
  this.tooltip = '';
17
17
  }
18
18
  render() {
19
- return (h(IconButton, { key: '529e40f19a0631a51c1056e54ab79a1f6cdc5db4', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
19
+ return (h(IconButton, { key: '4a01395b936d059a3774c93df316e866cf87f8db', partPrefix: "insight-history-toggle", style: "outline-neutral", icon: Clock, ariaLabel: "history", onClick: this.clickCallback, title: this.tooltip }));
20
20
  }
21
21
  static get style() { return AtomicInsightHistoryToggleStyle0; }
22
22
  }, [1, "atomic-insight-history-toggle", {
@@ -33,7 +33,7 @@ const AtomicInsightNoResults$1 = /*@__PURE__*/ proxyCustomElement(class AtomicIn
33
33
  }
34
34
  render() {
35
35
  const { bindings: { i18n }, } = this;
36
- return (h("div", { key: '47bac5b63f94a3c28d725c4d1c359b10101da6bf', class: "p-3 text-center" }, h(NoItemsGuard, { key: 'f3893da997e20a24ad3e03c1b9f4b3193fde1e82', ...this.searchStatusState }, h(NoItemsContainer, { key: 'fcff3bfa9d5720440205b024211d89a26749ea51' }, h(MagnifyingGlass, { key: 'f3f19f1c062a262093bc8312456f8e30de455238' }), h(NoItems, { key: '43bb5f7889fdccd86128cd5e0f39fca81e88920f', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: '2d88f97e18a710860d9b2e2ed47a188e824f0b96', i18n: i18n })))));
36
+ return (h("div", { key: '48b7e90af2de0cdf8d12b146fd073fca23164592', class: "p-3 text-center" }, h(NoItemsGuard, { key: 'd62a18cff4b82d1e773e9c04a58eb8ae4042d30b', ...this.searchStatusState }, h(NoItemsContainer, { key: '66781b1c36108f42926bdedfd6fd987fa9d335a2' }, h(MagnifyingGlass, { key: 'cfc4ea0b1e28aebffd8a08e02f45474e86ae8db3' }), h(NoItems, { key: 'b399ca2a69aafb7f3035cbd969b3a4f23e63cee4', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: '93202fad382448e3bf81e84ebf28f877068693ff', i18n: i18n })))));
37
37
  }
38
38
  static get style() { return AtomicInsightNoResultsStyle0; }
39
39
  }, [1, "atomic-insight-no-results", {
@@ -242,7 +242,7 @@ const AtomicInsightNumericFacet$1 = /*@__PURE__*/ proxyCustomElement(class Atomi
242
242
  }
243
243
  render() {
244
244
  const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, label, numberOfSelectedValues, isCollapsed, headingLevel, focusTarget, withInput, filter, } = this;
245
- return (h(FacetGuard, { key: 'bc020e0367f56b2615f8ebeb716087cb40f99e75', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
245
+ return (h(FacetGuard, { key: '5112604f0a1bccea5d6cb56ce6bc76cb578c430f', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: label, onClearFilters: () => {
246
246
  focusTarget.focusAfterSearch();
247
247
  if (this.filterState?.range) {
248
248
  this.filter?.clear();
@@ -46,15 +46,15 @@ const AtomicInsightPager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicInsigh
46
46
  this.scrollToTopEvent.emit();
47
47
  }
48
48
  render() {
49
- return (h(Host, { key: 'ca7a11833fd9ae41ab4dd44c2d93322d644427b6' }, h(PagerNavigation, { key: '5c9a9e88ac4fe120e9883a0e603ad84018eac56e', i18n: this.bindings.i18n }, h(PagerPreviousButton, { key: '8a020a93ca72b7463822cbae135a7c9d71579144', icon: ArrowLeftIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
49
+ return (h(Host, { key: 'aa07c2a9e3ed6dabc2259a2717903e0815fbecdd' }, h(PagerNavigation, { key: '87bb0c8770838c97578d40e454a9d188620bbb50', i18n: this.bindings.i18n }, h(PagerPreviousButton, { key: '6c0f15f186d33f8583e01e5e6c1278f8f845d219', icon: ArrowLeftIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
50
50
  this.pager.previousPage();
51
51
  this.focusOnFirstResultAndScrollToTop();
52
- } }), h(PagerPageButtons, { key: '8cbbffc52df12b9a2787df2cff12cd74ed388005', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
52
+ } }), h(PagerPageButtons, { key: '986c35760b3db17b87c958a9c8d39f5abf5fa02e', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
53
53
  return (h(PagerPageButton, { isSelected: this.pager.isCurrentPage(pageNumber), ariaLabel: this.bindings.i18n.t('page-number', { pageNumber }), onChecked: () => {
54
54
  this.pager.selectPage(pageNumber);
55
55
  this.focusOnFirstResultAndScrollToTop();
56
56
  }, page: pageNumber, groupName: this.radioGroupName, text: pageNumber.toLocaleString(this.bindings.i18n.language) }));
57
- })), h(PagerNextButton, { key: 'fd89368e0bd967b02a8f93bdd1e2d48221bca653', icon: ArrowRightIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
57
+ })), h(PagerNextButton, { key: 'e5ce9d32b1035a38cab831216b2258e1a295bffb', icon: ArrowRightIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
58
58
  this.pager.nextPage();
59
59
  this.focusOnFirstResultAndScrollToTop();
60
60
  } }))));
@@ -37,7 +37,7 @@ const AtomicQueryError = /*@__PURE__*/ proxyCustomElement(class AtomicQueryError
37
37
  if (hasError) {
38
38
  this.ariaMessage = getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
39
39
  }
40
- return (h(QueryErrorGuard, { key: 'ec8b17f491342621b1ff2443944122f411c1b889', hasError: hasError }, h(QueryErrorContainer, { key: '7bf226e34d709d6fd8cf47a33758c43eb07fb4cf' }, h(QueryErrorIcon, { key: '83b36ee7714231d56c8679c3d06f33d5ce7f20c5', errorType: error?.type }), h(QueryErrorTitle, { key: '4f36685d511b0fd62dc8a9cb426eb962356c8e69', i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: '97f268ff485332e4f965887c982e5a52736313df', i18n: i18n, organizationId: organizationId, url: url }), h(QueryErrorShowMore, { key: 'a4b4ab26d892ac26544266d94b9aa74f6d2d60b6', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: '3f59f06691381d027ff2ec29003cca88c2ae6d1a', error: error, show: this.showMoreInfo }))));
40
+ return (h(QueryErrorGuard, { key: '6ce3b3bff15b7c9961df0b6e30168db22eb938e3', hasError: hasError }, h(QueryErrorContainer, { key: 'c275399f3aea1852f4beca06bb56a2f306148a1a' }, h(QueryErrorIcon, { key: '7ec8c924f05bf3eef445c97e422b781b18e9bb4e', errorType: error?.type }), h(QueryErrorTitle, { key: 'e77eb28ad6760c8d7597111a16d50baadbaf663a', i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: '90a5b5c4cc2bcc1240d8a9e26909655bb494e53e', i18n: i18n, organizationId: organizationId, url: url }), h(QueryErrorShowMore, { key: 'f1bb77d80324c160068f8f292314fd43e0cc7cde', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: '02e42ca66fef85e8541d5828124365ac8a7c96b9', error: error, show: this.showMoreInfo }))));
41
41
  }
42
42
  static get style() { return AtomicInsightQueryErrorStyle0; }
43
43
  }, [1, "atomic-insight-query-error", {
@@ -1 +1 @@
1
- {"file":"atomic-insight-query-error.js","mappings":";;;;;;AAAA,MAAM,0BAA0B,GAAG,0u1DAA0u1D,CAAC;AAC9w1D,sCAAe,0BAA0B;;;;;;;;;;;;MC+B5B,gBAAgB;;;;;QAUlB,iBAAY,GAAG,KAAK,CAAC;;;4BAAN,KAAK;;IAKtB,UAAU;QACf,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD;IAEM,MAAM;QACX,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,MAAM,EACJ,QAAQ,EAAE,EACR,IAAI,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,EACL,aAAa,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,GAC7C,GACF,GACF,GACF,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,uBAAuB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAC5C,IAAI,EACJ,cAAc,EACd,GAAG,EACH,KAAK,EAAE,IAAI,CACZ,CAAC;SACH;QACD,QACE,EAAC,eAAe,qDAAC,QAAQ,EAAE,QAAQ,IACjC,EAAC,mBAAmB,uDAClB,EAAC,cAAc,qDAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC1C,EAAC,eAAe,qDAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,EAC/D,EAAC,qBAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACR,EACF,EAAC,kBAAkB,qDACjB,IAAI,EAAE,EAAC,cAAc,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC5D,UAAU,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1D,IAAI,EAAE,IAAI,GACV,EACF,EAAC,iBAAiB,qDAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,GAAI,CACxC,CACN,EAClB;KACH;;;;;;;AAxD4B;IAA5B,kBAAkB,EAAE;kDAAmC;AAKhD;IAFP,qBAAqB,CAAC,YAAY,CAAC;yDAEM;AAKhC;IADT,cAAc,CAAC,aAAa,CAAC;qDACC;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/insight/atomic-insight-query-error/atomic-insight-query-error.pcss?tag=atomic-insight-query-error&encapsulation=shadow","src/components/insight/atomic-insight-query-error/atomic-insight-query-error.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n QueryError,\n QueryErrorState,\n buildQueryError,\n getOrganizationEndpoint,\n} from '@coveo/headless/insight';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {QueryErrorDetails} from '../../common/query-error/stencil-details';\nimport {QueryErrorIcon} from '../../common/query-error/stencil-icon';\nimport {QueryErrorShowMore} from '../../common/query-error/show-more';\nimport {QueryErrorContainer} from '../../common/query-error/stencil-container';\nimport {QueryErrorDescription} from '../../common/query-error/stencil-description';\nimport {QueryErrorGuard} from '../../common/query-error/stencil-guard';\nimport {QueryErrorTitle} from '../../common/query-error/stencil-title';\nimport {getAriaMessageFromErrorType} from '../../common/query-error/utils';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\nimport {QueryErrorLink} from '../../common/query-error/stencil-link';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-query-error',\n styleUrl: 'atomic-insight-query-error.pcss',\n shadow: true,\n})\nexport class AtomicQueryError\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public queryError!: QueryError;\n\n @BindStateToController('queryError')\n @State()\n private queryErrorState!: QueryErrorState;\n @State() public error!: Error;\n @State() showMoreInfo = false;\n\n @AriaLiveRegion('query-error')\n protected ariaMessage!: string;\n\n public initialize() {\n this.queryError = buildQueryError(this.bindings.engine);\n }\n\n public render() {\n const {hasError, error} = this.queryErrorState;\n const {\n bindings: {\n i18n,\n engine: {\n state: {\n configuration: {organizationId, environment},\n },\n },\n },\n } = this;\n const url = getOrganizationEndpoint(organizationId, environment);\n if (hasError) {\n this.ariaMessage = getAriaMessageFromErrorType(\n i18n,\n organizationId,\n url,\n error?.type\n );\n }\n return (\n <QueryErrorGuard hasError={hasError}>\n <QueryErrorContainer>\n <QueryErrorIcon errorType={error?.type} />\n <QueryErrorTitle i18n={i18n} organizationId={organizationId} />\n <QueryErrorDescription\n i18n={i18n}\n organizationId={organizationId}\n url={url}\n />\n <QueryErrorShowMore\n link={<QueryErrorLink i18n={i18n} errorType={error?.type} />}\n onShowMore={() => (this.showMoreInfo = !this.showMoreInfo)}\n i18n={i18n}\n />\n <QueryErrorDetails error={error} show={this.showMoreInfo} />\n </QueryErrorContainer>\n </QueryErrorGuard>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-query-error.js","mappings":";;;;;;AAAA,MAAM,0BAA0B,GAAG,0u1DAA0u1D,CAAC;AAC9w1D,sCAAe,0BAA0B;;;;;;;;;;;;MC+B5B,gBAAgB;;;;;QAUlB,iBAAY,GAAG,KAAK,CAAC;;;4BAAN,KAAK;;IAKtB,UAAU;QACf,IAAI,CAAC,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;KACzD;IAEM,MAAM;QACX,MAAM,EAAC,QAAQ,EAAE,KAAK,EAAC,GAAG,IAAI,CAAC,eAAe,CAAC;QAC/C,MAAM,EACJ,QAAQ,EAAE,EACR,IAAI,EACJ,MAAM,EAAE,EACN,KAAK,EAAE,EACL,aAAa,EAAE,EAAC,cAAc,EAAE,WAAW,EAAC,GAC7C,GACF,GACF,GACF,GAAG,IAAI,CAAC;QACT,MAAM,GAAG,GAAG,uBAAuB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE;YACZ,IAAI,CAAC,WAAW,GAAG,2BAA2B,CAC5C,IAAI,EACJ,cAAc,EACd,GAAG,EACH,KAAK,EAAE,IAAI,CACZ,CAAC;SACH;QACD,QACE,EAAC,eAAe,qDAAC,QAAQ,EAAE,QAAQ,IACjC,EAAC,mBAAmB,uDAClB,EAAC,cAAc,qDAAC,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC1C,EAAC,eAAe,qDAAC,IAAI,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,GAAI,EAC/D,EAAC,qBAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,GACR,EACF,EAAC,kBAAkB,qDACjB,IAAI,EAAE,EAAC,cAAc,IAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAI,EAC5D,UAAU,EAAE,OAAO,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAC1D,IAAI,EAAE,IAAI,GACV,EACF,EAAC,iBAAiB,qDAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,GAAI,CACxC,CACN,EAClB;KACH;;;;;;;AAxD4B;IAA5B,kBAAkB,EAAE;kDAAmC;AAKhD;IAFP,qBAAqB,CAAC,YAAY,CAAC;yDAEM;AAKhC;IADT,cAAc,CAAC,aAAa,CAAC;qDACC;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/insight/atomic-insight-query-error/atomic-insight-query-error.pcss?tag=atomic-insight-query-error&encapsulation=shadow","src/components/insight/atomic-insight-query-error/atomic-insight-query-error.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n QueryError,\n QueryErrorState,\n buildQueryError,\n getOrganizationEndpoint,\n} from '@coveo/headless/insight';\nimport {Component, h, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {AriaLiveRegion} from '../../../utils/stencil-accessibility-utils';\nimport {QueryErrorDetails} from '../../common/query-error/stencil-details';\nimport {QueryErrorIcon} from '../../common/query-error/stencil-icon';\nimport {QueryErrorShowMore} from '../../common/query-error/stencil-show-more';\nimport {QueryErrorContainer} from '../../common/query-error/stencil-container';\nimport {QueryErrorDescription} from '../../common/query-error/stencil-description';\nimport {QueryErrorGuard} from '../../common/query-error/stencil-guard';\nimport {QueryErrorTitle} from '../../common/query-error/stencil-title';\nimport {getAriaMessageFromErrorType} from '../../common/query-error/utils';\nimport {InsightBindings} from '../atomic-insight-interface/atomic-insight-interface';\nimport {QueryErrorLink} from '../../common/query-error/stencil-link';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-query-error',\n styleUrl: 'atomic-insight-query-error.pcss',\n shadow: true,\n})\nexport class AtomicQueryError\n implements InitializableComponent<InsightBindings>\n{\n @InitializeBindings() public bindings!: InsightBindings;\n public queryError!: QueryError;\n\n @BindStateToController('queryError')\n @State()\n private queryErrorState!: QueryErrorState;\n @State() public error!: Error;\n @State() showMoreInfo = false;\n\n @AriaLiveRegion('query-error')\n protected ariaMessage!: string;\n\n public initialize() {\n this.queryError = buildQueryError(this.bindings.engine);\n }\n\n public render() {\n const {hasError, error} = this.queryErrorState;\n const {\n bindings: {\n i18n,\n engine: {\n state: {\n configuration: {organizationId, environment},\n },\n },\n },\n } = this;\n const url = getOrganizationEndpoint(organizationId, environment);\n if (hasError) {\n this.ariaMessage = getAriaMessageFromErrorType(\n i18n,\n organizationId,\n url,\n error?.type\n );\n }\n return (\n <QueryErrorGuard hasError={hasError}>\n <QueryErrorContainer>\n <QueryErrorIcon errorType={error?.type} />\n <QueryErrorTitle i18n={i18n} organizationId={organizationId} />\n <QueryErrorDescription\n i18n={i18n}\n organizationId={organizationId}\n url={url}\n />\n <QueryErrorShowMore\n link={<QueryErrorLink i18n={i18n} errorType={error?.type} />}\n onShowMore={() => (this.showMoreInfo = !this.showMoreInfo)}\n i18n={i18n}\n />\n <QueryErrorDetails error={error} show={this.showMoreInfo} />\n </QueryErrorContainer>\n </QueryErrorGuard>\n );\n }\n}\n"],"version":3}
@@ -75,12 +75,12 @@ const AtomicInsightRefineModal = /*@__PURE__*/ proxyCustomElement(class AtomicIn
75
75
  return (h("aside", { slot: "body", class: "adjust-for-scroll-bar flex w-full flex-col" }, this.renderHeader(), h("slot", { name: "facets" })));
76
76
  }
77
77
  render() {
78
- return (h(Host, { key: 'd5d4f0c68805c631b0ec9328c8a7f41b530f0027' }, this.interfaceDimensions && (h("style", { key: 'bad06fc95c349377209cc896adbadcbb1f47ab13' }, `atomic-modal::part(backdrop) {
78
+ return (h(Host, { key: 'c3d7c175cac1d3077ebce7297c2e16771cca91b3' }, this.interfaceDimensions && (h("style", { key: '849e884b6647909fe06749c3ab87c7ff8b668978' }, `atomic-modal::part(backdrop) {
79
79
  top: ${this.interfaceDimensions.top}px;
80
80
  left: ${this.interfaceDimensions.left}px;
81
81
  width: ${this.interfaceDimensions.width}px;
82
82
  height: ${this.interfaceDimensions.height}px;
83
- }`)), h(RefineModal, { key: '430919e68f4031c7c774d3f3db52d03a4ffd1ebb', 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())));
83
+ }`)), h(RefineModal, { key: '2314fb227db90d19abb3b96f3b039673567ee952', 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())));
84
84
  }
85
85
  componentDidLoad() {
86
86
  this.host.style.display = '';
@@ -54,7 +54,7 @@ const AtomicInsightRefineToggle$1 = /*@__PURE__*/ proxyCustomElement(class Atomi
54
54
  this.modalRef.openButton = this.buttonRef;
55
55
  }
56
56
  render() {
57
- return (h(IconButton, { key: '077579d981cf9d261a1be74a0faf44fa1053b612', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
57
+ return (h(IconButton, { key: '7067c4d459ed68e0cad502907be4e9478985c5d1', partPrefix: "insight-refine-toggle", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
58
58
  this.bindings.store.waitUntilAppLoaded(() => {
59
59
  this.enableModal();
60
60
  });
@@ -35,7 +35,7 @@ const AtomicInsightResultAttachToCaseIndicator$1 = /*@__PURE__*/ proxyCustomElem
35
35
  }
36
36
  render() {
37
37
  if (this.attachToCase.isAttached()) {
38
- return (h("atomic-icon", { key: '4b8cf5f2ed8026ca47167125538b52f501f1ff7d', part: "icon", class: "flex w-5 justify-center", icon: AttachIcon, title: this.bindings.i18n.t('result-is-attached') }));
38
+ return (h("atomic-icon", { key: 'bf425a29658710ec5a82e4da4c7eb0b97f8d01b3', part: "icon", class: "flex w-5 justify-center", icon: AttachIcon, title: this.bindings.i18n.t('result-is-attached') }));
39
39
  }
40
40
  }
41
41
  get host() { return this; }
@@ -130,7 +130,7 @@ const AtomicResultChildren = /*@__PURE__*/ proxyCustomElement(class AtomicResult
130
130
  return (h(ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
131
131
  }
132
132
  render() {
133
- return (h(ResultChildrenGuard, { key: '10583f72a9f58e863061584e1526cb604fc321c1', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
133
+ return (h(ResultChildrenGuard, { key: '89517197a4d486c05876556d3d50916d8cbf1dca', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
134
134
  }
135
135
  get host() { return this; }
136
136
  static get style() { return AtomicInsightResultChildrenStyle0; }
@@ -113,7 +113,7 @@ const AtomicInsightResultList$1 = /*@__PURE__*/ proxyCustomElement(class AtomicI
113
113
  render() {
114
114
  this.itemListCommon.updateBreakpoints();
115
115
  const listClasses = this.computeListDisplayClasses();
116
- return (h(ItemListGuard, { key: '1a9f0e7a2d507a7e472337bbd61f19b8bcfd2aa5', hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults, hasError: this.resultListState.hasError }, h(DisplayWrapper, { key: '8565ee34c5eae48f1b7d181d0df2c64dc45c2a2e', listClasses: listClasses, display: this.display }, h(ResultsPlaceholdersGuard, { key: 'c4b9341ca4a2ca7b855c24c4f246ced24cf0521c', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), h(ItemDisplayGuard, { key: '52e541f11ec1b204ea13310fa45424c78146ca45', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.resultListState.results.map((result, i) => {
116
+ return (h(ItemListGuard, { key: '2067984239eb00c1d8d3a4972382bafc8c6193c9', hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults, hasError: this.resultListState.hasError }, h(DisplayWrapper, { key: '798242b23e443ff3a01805a9bfd1d4d9840da9da', listClasses: listClasses, display: this.display }, h(ResultsPlaceholdersGuard, { key: '6362299838cb163bd17cabd59a587104f06b6eac', displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults, display: this.display, density: this.density, imageSize: this.imageSize }), h(ItemDisplayGuard, { key: '06b20c0f154a03665a76f287c6f3ebe1b240aacd', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.resultListState.results.map((result, i) => {
117
117
  const atomicInsightResultProps = this.getPropsForAtomicInsightResult(result);
118
118
  return (h("atomic-insight-result", { ...atomicInsightResultProps, part: "outline", ref: (element) => element && this.itemListCommon.setNewResultRef(element, i) }));
119
119
  })))));
@@ -108,7 +108,7 @@ const AtomicInsightResultQuickviewAction$1 = /*@__PURE__*/ proxyCustomElement(cl
108
108
  this.addQuickviewModalIfNeeded();
109
109
  this.updateModalContent();
110
110
  if (this.shouldRenderQuickview) {
111
- return (h(IconButton, { key: '249181282b932d3e5ab9d54229983a3c4ac1c74d', partPrefix: "result-action", style: "outline-neutral", ref: this.focusTarget.setTarget, icon: QuickviewIcon, title: this.bindings.i18n.t('quickview'), onClick: () => this.onClick() }));
111
+ return (h(IconButton, { key: 'ae17827e29802f63050b286a58d02edaf221e4c2', partPrefix: "result-action", style: "outline-neutral", ref: this.focusTarget.setTarget, icon: QuickviewIcon, title: this.bindings.i18n.t('quickview'), onClick: () => this.onClick() }));
112
112
  }
113
113
  }
114
114
  get host() { return this; }
@@ -66,7 +66,7 @@ const AtomicInsightResult = /*@__PURE__*/ proxyCustomElement(class AtomicInsight
66
66
  .join('');
67
67
  }
68
68
  render() {
69
- return (h(Host, { key: 'b424de0c813e3c6dcfc5b076ac505de42cd604f0', class: resultComponentClass }, h("div", { key: '0d8f72a6880e470cda9d80926e209508855fa8cf', class: `result-root ${this.layout
69
+ return (h(Host, { key: '00ed7ad8dfbf662abd3c2259d1990d4518356cb4', class: resultComponentClass }, h("div", { key: 'f64302661c622f9e9ed335f7c77cd29274e673bd', class: `result-root ${this.layout
70
70
  .getClasses()
71
71
  .concat(this.classes)
72
72
  .join(' ')}`, innerHTML: this.getContentHTML() })));
@@ -206,13 +206,13 @@ const AtomicInsightSearchBox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicIn
206
206
  : this.bindings.i18n.t('query-suggestions-unavailable');
207
207
  }
208
208
  render() {
209
- return (h(SearchBoxWrapper, { key: '5c31dda764ea7e1f861185a561d91e484ad196b9', disabled: this.disableSearch, onFocusout: (event) => {
209
+ return (h(SearchBoxWrapper, { key: 'a82c5c26b6a366390abec4410eb99020f0bcbe28', disabled: this.disableSearch, onFocusout: (event) => {
210
210
  if (!isFocusingOut(event)) {
211
211
  return;
212
212
  }
213
213
  this.suggestionManager.clearSuggestions();
214
214
  this.isExpanded = false;
215
- } }, h("atomic-icon", { key: 'bd144064f24c197da7d8da448801eb37a3320f74', part: "submit-icon", icon: SearchSlimIcon, class: "my-auto mr-0 ml-4 h-4 w-4" }), h(SearchTextArea, { key: '3c2b7a83e5a900f71b5f53afaa3ecf518289c803', 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: () => {
215
+ } }, h("atomic-icon", { key: 'b99a387360da05a3f26bfe7039acc42661209eb2', part: "submit-icon", icon: SearchSlimIcon, class: "my-auto mr-0 ml-4 h-4 w-4" }), h(SearchTextArea, { key: 'dd25d73db8d5d6052ad079c94543a86f21fbc62d', 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: () => {
216
216
  this.searchBox.clear();
217
217
  this.triggerTextAreaChange('');
218
218
  }, onInput: (e) => this.onInput(e.target.value) }), this.renderSuggestions()));
@@ -45,9 +45,9 @@ const AtomicInsightSmartSnippetFeedbackModal = /*@__PURE__*/ proxyCustomElement(
45
45
  }
46
46
  render() {
47
47
  updateBreakpoints(this.host);
48
- return (h("atomic-modal", { key: '9a003a62647d65bca9bb2954a2f5cffd1bf3f8f1', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '949e440bbff97dce617e869308ec279ea168a3a0', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: '5fada02bcd786b39b96a6efd1b3df4187d56871c', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: '59d9a64bb2edc4ff57c909745967ad14f6c385e8', i18n: this.bindings.i18n }, smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (h(SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
48
+ return (h("atomic-modal", { key: '9eb1a0da8d68aadbfc1036207d5e5d2ffb269cb1', fullscreen: false, source: this.source, container: this.host, isOpen: this.isOpen, close: () => this.close(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, h(SmartSnippetFeedbackModalHeader, { key: '52ba648b0c80c8b8a4d14cec4ef9234f568d1abe', i18n: this.bindings.i18n }), h(SmartSnippetFeedbackModalBody, { key: '8fbf78edc1b3d6fe2ac65a7fc237c2f9ce71f40b', formId: this.formId, onSubmit: (e) => this.sendFeedback(e) }, h(SmartSnippetFeebackModalOptions, { key: '2c5eebb09b703c0986f6c083c07be88ed14969e7', i18n: this.bindings.i18n }, smartSnippetFeedbackOptions.map(({ id, localeKey, correspondingAnswer }) => (h(SmartSnippetFeedbackModalOption, { correspondingAnswer: correspondingAnswer, currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, id: id, localeKey: localeKey, onChange: () => {
49
49
  this.currentAnswer = correspondingAnswer;
50
- } })))), h(SmartSnippetFeedbackModalDetails, { key: 'd07bd58bf746b28ba38112f23fdb0f9e53aa4ef4', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '793ee8bc6575e130cf8b63f5829ecfdad18e6c7d', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
50
+ } })))), h(SmartSnippetFeedbackModalDetails, { key: '6479a3c621c233a2ac06d3f3bb846bd9f560e6a4', currentAnswer: this.currentAnswer, i18n: this.bindings.i18n, setDetailsInputRef: (ref) => (this.detailsInputRef = ref) })), h(SmartSnippetFeedbackModalFooter, { key: '9ec88d455d285eaff7c485467602c3fa1a8009c7', formId: this.formId, i18n: this.bindings.i18n, onClick: () => this.close() })));
51
51
  }
52
52
  close() {
53
53
  this.isOpen = false;
@@ -20,7 +20,7 @@ const AtomicInsightTabs$1 = /*@__PURE__*/ proxyCustomElement(class AtomicInsight
20
20
  this.error = undefined;
21
21
  }
22
22
  render() {
23
- return (h("atomic-tab-bar", { key: '268dac51b805adfa660589a662ea6a771ef6d2a1' }, h("slot", { key: 'fb932cbc9cc23fc6a379ea7eb4ba904599f5ccf0' })));
23
+ return (h("atomic-tab-bar", { key: 'c07bd1d4f7be20cc56abfec69dcf3080db49ec7d' }, h("slot", { key: '3e053192ab228b0c8f203a4395dffbf615cca01e' })));
24
24
  }
25
25
  }, [4, "atomic-insight-tabs", {
26
26
  "error": [32]
@@ -144,7 +144,7 @@ const AtomicInsightUserActionsSession = /*@__PURE__*/ proxyCustomElement(class A
144
144
  render() {
145
145
  const isShowMoreActionsButtonVisible = !this.areActionsAfterCaseCreationVisible &&
146
146
  !!this.userActionsAfterCaseCreation.length;
147
- return (h("div", { key: '0e29d837d64c10b976c041ce01506a209610a350' }, this.renderSessionStartDate(), this.areActionsAfterCaseCreationVisible && (h("div", { key: 'b09f232e6a28cd4f5bfbebb55c4d5b68fbe9e627', "data-testid": "more-actions-section" }, this.renderActions(this.userActionsAfterCaseCreation))), isShowMoreActionsButtonVisible && this.renderShowMoreActionsButton(), this.renderActions(this.userActionsToDisplay)));
147
+ return (h("div", { key: '59bac8998676254f9dc061fc6fee37d6d7205065' }, this.renderSessionStartDate(), this.areActionsAfterCaseCreationVisible && (h("div", { key: '67071a7719d34ce2051e4526871738352097be75', "data-testid": "more-actions-section" }, this.renderActions(this.userActionsAfterCaseCreation))), isShowMoreActionsButtonVisible && this.renderShowMoreActionsButton(), this.renderActions(this.userActionsToDisplay)));
148
148
  }
149
149
  static get watchers() { return {
150
150
  "userActions": ["prepareUserActionsToDisplay"]