@coveo/atomic 3.49.0 → 3.51.0

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 (231) hide show
  1. package/custom-elements.json +2257 -369
  2. package/dist/atomic/_atomic.esm.js +1 -1
  3. package/dist/atomic/atomic.esm.js.map +1 -1
  4. package/dist/atomic/components/_index.d.ts +0 -10
  5. package/dist/atomic/components/_index.js +2 -8
  6. package/dist/atomic/components/atomic-insight-result-action.js +123 -6
  7. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  8. package/dist/atomic/components/atomic-insight-result-children-template.js +1 -2
  9. package/dist/atomic/components/atomic-insight-result-children-template.js.map +1 -1
  10. package/dist/atomic/components/atomic-insight-timeframe-facet.js +97 -7
  11. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +1 -1
  12. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  13. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +4 -4
  14. package/dist/atomic/components/components/common/generated-answer/render-feedback-and-copy-buttons.js +4 -3
  15. package/dist/atomic/components/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.js +444 -0
  16. package/dist/atomic/components/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tw.css.js +2 -0
  17. package/dist/atomic/components/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.js +122 -0
  18. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +4 -4
  19. package/dist/atomic/components/components/insight/index.js +2 -0
  20. package/dist/atomic/components/components/insight/lazy-index.js +2 -0
  21. package/dist/atomic/components/components/ipx/atomic-ipx-button/atomic-ipx-button.js +1 -1
  22. package/dist/atomic/components/components/ipx/atomic-ipx-recs-list/atomic-ipx-recs-list.js +483 -0
  23. package/dist/atomic/components/components/ipx/atomic-ipx-refine-modal/atomic-ipx-refine-modal.js +202 -0
  24. package/dist/atomic/components/components/ipx/atomic-ipx-refine-toggle/atomic-ipx-refine-toggle.js +123 -0
  25. package/dist/atomic/components/components/ipx/index.js +3 -0
  26. package/dist/atomic/components/components/ipx/lazy-index.js +3 -0
  27. package/dist/atomic/components/components/recommendations/atomic-recs-result/atomic-recs-result.js +1 -0
  28. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +7 -1
  29. package/dist/atomic/components/components/search/atomic-refine-modal/atomic-refine-modal.js +2 -1
  30. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +4 -4
  31. package/dist/atomic/components/global/environment.js +1 -1
  32. package/dist/atomic/components/index.js.map +1 -1
  33. package/dist/atomic/components/props-utils.js +1402 -2
  34. package/dist/atomic/components/props-utils.js.map +1 -1
  35. package/dist/atomic/components/utils/custom-element-tags.js +7 -0
  36. package/dist/atomic/components/utils/tailwind.global.tw.css.js +4 -4
  37. package/dist/atomic/index.esm.js +1 -1
  38. package/dist/atomic/p-1df0744f.entry.js +9 -0
  39. package/dist/atomic/p-1df0744f.entry.js.map +1 -0
  40. package/dist/atomic/{p-4a32511f.js → p-2045a1b1.js} +2 -2
  41. package/dist/atomic/p-500bf5c4.entry.js +2 -0
  42. package/dist/atomic/{p-4117289b.entry.js.map → p-500bf5c4.entry.js.map} +1 -1
  43. package/dist/atomic/p-5226a938.js +3 -0
  44. package/dist/atomic/p-5226a938.js.map +1 -0
  45. package/dist/atomic/{p-b4cfedf1.js → p-720863c3.js} +2 -2
  46. package/dist/atomic/p-81336626.entry.js +2 -0
  47. package/dist/atomic/p-81336626.entry.js.map +1 -0
  48. package/dist/atomic/p-aad3b4ec.js +3 -0
  49. package/dist/atomic/p-aad3b4ec.js.map +1 -0
  50. package/dist/atomic/{p-0698ccf1.entry.js → p-b5af331b.entry.js} +2 -2
  51. package/dist/atomic/{p-677f9c40.js → p-b7209471.js} +2 -2
  52. package/dist/cjs/_index.cjs.js +2 -2
  53. package/dist/cjs/_loader.cjs.js +2 -2
  54. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +22 -9
  55. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  56. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +6 -7
  57. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
  58. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +106 -16
  59. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  60. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +5 -5
  61. package/dist/cjs/atomic.cjs.js +2 -2
  62. package/dist/cjs/{index-3532822e.js → index-122375df.js} +4 -58
  63. package/dist/cjs/index-122375df.js.map +1 -0
  64. package/dist/cjs/{initialization-utils-51a423fe.js → initialization-utils-c2821271.js} +2 -2
  65. package/dist/cjs/{initialization-utils-51a423fe.js.map → initialization-utils-c2821271.js.map} +1 -1
  66. package/dist/cjs/{utils-e845f262.js → props-utils-e4f29f1e.js} +54 -21
  67. package/dist/cjs/props-utils-e4f29f1e.js.map +1 -0
  68. package/dist/cjs/{stencil-button-f39da03e.js → stencil-button-bf22eea4.js} +2 -2
  69. package/dist/cjs/{stencil-button-f39da03e.js.map → stencil-button-bf22eea4.js.map} +1 -1
  70. package/dist/cjs/{stencil-result-template-decorators-1f099c15.js → stencil-result-template-decorators-96954751.js} +2 -2
  71. package/dist/cjs/{stencil-result-template-decorators-1f099c15.js.map → stencil-result-template-decorators-96954751.js.map} +1 -1
  72. package/dist/cjs/version.cjs.js +2 -2
  73. package/dist/esm/_index.js +3 -3
  74. package/dist/esm/_loader.js +3 -3
  75. package/dist/esm/atomic-insight-result-action.entry.js +20 -7
  76. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  77. package/dist/esm/atomic-insight-result-children-template.entry.js +2 -3
  78. package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
  79. package/dist/esm/atomic-insight-timeframe-facet.entry.js +100 -10
  80. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  81. package/dist/esm/atomic-stencil-facet-date-input.entry.js +5 -5
  82. package/dist/esm/atomic.js +3 -3
  83. package/dist/esm/{index-3eb0b28e.js → index-4d679e44.js} +5 -58
  84. package/dist/{cjs/index-3532822e.js.map → esm/index-4d679e44.js.map} +1 -1
  85. package/dist/esm/{initialization-utils-82d28c63.js → initialization-utils-9ff399ff.js} +2 -2
  86. package/dist/esm/{initialization-utils-82d28c63.js.map → initialization-utils-9ff399ff.js.map} +1 -1
  87. package/dist/esm/{utils-b5bab369.js → props-utils-76043c82.js} +54 -18
  88. package/dist/esm/props-utils-76043c82.js.map +1 -0
  89. package/dist/esm/{stencil-button-c25899df.js → stencil-button-28de709c.js} +2 -2
  90. package/dist/esm/{stencil-button-c25899df.js.map → stencil-button-28de709c.js.map} +1 -1
  91. package/dist/esm/{stencil-result-template-decorators-9cbe1e1c.js → stencil-result-template-decorators-4c2e5132.js} +2 -2
  92. package/dist/esm/{stencil-result-template-decorators-9cbe1e1c.js.map → stencil-result-template-decorators-4c2e5132.js.map} +1 -1
  93. package/dist/esm/version.js +2 -2
  94. package/dist/types/components/common/generated-answer/answerContent/answer-content.d.ts +49 -0
  95. package/dist/types/components/common/generated-answer/generated-answer-thread-item/generated-answer-thread-item.d.ts +49 -0
  96. package/dist/types/components/common/generated-answer/render-feedback-and-copy-buttons.d.ts +8 -2
  97. package/dist/types/components/common/item-list/table-layout.d.ts +1 -1
  98. package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +54 -35
  99. package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.tw.css.d.ts +2 -0
  100. package/dist/types/components/insight/atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.d.ts +25 -20
  101. package/dist/types/components/insight/index.d.ts +2 -0
  102. package/dist/types/components/ipx/atomic-ipx-button/atomic-ipx-button.d.ts +1 -1
  103. package/dist/types/components/ipx/atomic-ipx-recs-list/{atomic-recs-list/atomic-ipx-recs-list.d.ts → atomic-ipx-recs-list.d.ts} +43 -21
  104. package/dist/types/components/ipx/atomic-ipx-refine-modal/atomic-ipx-refine-modal.d.ts +62 -15
  105. package/dist/types/components/ipx/atomic-ipx-refine-toggle/atomic-ipx-refine-toggle.d.ts +26 -11
  106. package/dist/types/components/ipx/index.d.ts +3 -0
  107. package/dist/types/components/recommendations/atomic-recs-result/atomic-recs-result.d.ts +1 -0
  108. package/dist/types/components/search/atomic-refine-modal/atomic-refine-modal.d.ts +4 -3
  109. package/dist/types/components.d.ts +0 -249
  110. package/docs/atomic-docs.json +1 -26
  111. package/package.json +4 -4
  112. package/dist/atomic/components/arrow-top-rounded.js +0 -7
  113. package/dist/atomic/components/arrow-top-rounded.js.map +0 -1
  114. package/dist/atomic/components/atomic-insight-generated-answer.d.ts +0 -11
  115. package/dist/atomic/components/atomic-insight-generated-answer.js +0 -3264
  116. package/dist/atomic/components/atomic-insight-generated-answer.js.map +0 -1
  117. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.d.ts +0 -11
  118. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +0 -102
  119. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +0 -1
  120. package/dist/atomic/components/atomic-ipx-recs-list.d.ts +0 -11
  121. package/dist/atomic/components/atomic-ipx-recs-list.js +0 -631
  122. package/dist/atomic/components/atomic-ipx-recs-list.js.map +0 -1
  123. package/dist/atomic/components/atomic-ipx-refine-modal.d.ts +0 -11
  124. package/dist/atomic/components/atomic-ipx-refine-modal.js +0 -8
  125. package/dist/atomic/components/atomic-ipx-refine-modal.js.map +0 -1
  126. package/dist/atomic/components/atomic-ipx-refine-modal2.js +0 -162
  127. package/dist/atomic/components/atomic-ipx-refine-modal2.js.map +0 -1
  128. package/dist/atomic/components/atomic-ipx-refine-toggle.d.ts +0 -11
  129. package/dist/atomic/components/atomic-ipx-refine-toggle.js +0 -121
  130. package/dist/atomic/components/atomic-ipx-refine-toggle.js.map +0 -1
  131. package/dist/atomic/components/attach.js +0 -115
  132. package/dist/atomic/components/attach.js.map +0 -1
  133. package/dist/atomic/components/components/common/layout/display-options.js +0 -28
  134. package/dist/atomic/components/popover-type.js +0 -12
  135. package/dist/atomic/components/popover-type.js.map +0 -1
  136. package/dist/atomic/components/stencil-heading.js +0 -169
  137. package/dist/atomic/components/stencil-heading.js.map +0 -1
  138. package/dist/atomic/components/stencil-iconButton.js +0 -16
  139. package/dist/atomic/components/stencil-iconButton.js.map +0 -1
  140. package/dist/atomic/components/store.js +0 -13
  141. package/dist/atomic/components/store.js.map +0 -1
  142. package/dist/atomic/components/utils.js +0 -1421
  143. package/dist/atomic/components/utils.js.map +0 -1
  144. package/dist/atomic/p-2c08a419.entry.js +0 -2
  145. package/dist/atomic/p-2c08a419.entry.js.map +0 -1
  146. package/dist/atomic/p-4117289b.entry.js +0 -2
  147. package/dist/atomic/p-52d14165.entry.js +0 -2
  148. package/dist/atomic/p-52d14165.entry.js.map +0 -1
  149. package/dist/atomic/p-578d761c.js +0 -2
  150. package/dist/atomic/p-578d761c.js.map +0 -1
  151. package/dist/atomic/p-64f83898.entry.js +0 -2
  152. package/dist/atomic/p-64f83898.entry.js.map +0 -1
  153. package/dist/atomic/p-70cc18a1.js +0 -2
  154. package/dist/atomic/p-70cc18a1.js.map +0 -1
  155. package/dist/atomic/p-9c5ec170.js +0 -2
  156. package/dist/atomic/p-9c5ec170.js.map +0 -1
  157. package/dist/atomic/p-9dfe5ab1.js +0 -2
  158. package/dist/atomic/p-9dfe5ab1.js.map +0 -1
  159. package/dist/atomic/p-a33748a9.js +0 -2
  160. package/dist/atomic/p-a33748a9.js.map +0 -1
  161. package/dist/atomic/p-b09433bb.js +0 -3
  162. package/dist/atomic/p-b09433bb.js.map +0 -1
  163. package/dist/atomic/p-c8452548.entry.js +0 -2
  164. package/dist/atomic/p-c8452548.entry.js.map +0 -1
  165. package/dist/atomic/p-c95ac794.entry.js +0 -2
  166. package/dist/atomic/p-c95ac794.entry.js.map +0 -1
  167. package/dist/atomic/p-d75a4630.js +0 -2
  168. package/dist/atomic/p-d75a4630.js.map +0 -1
  169. package/dist/atomic/p-d8230482.entry.js +0 -9
  170. package/dist/atomic/p-d8230482.entry.js.map +0 -1
  171. package/dist/atomic/p-e94ba0e1.entry.js +0 -2
  172. package/dist/atomic/p-e94ba0e1.entry.js.map +0 -1
  173. package/dist/atomic/p-ec1c5f46.js +0 -3
  174. package/dist/atomic/p-ec1c5f46.js.map +0 -1
  175. package/dist/atomic/p-f321aab0.js +0 -2
  176. package/dist/atomic/p-f321aab0.js.map +0 -1
  177. package/dist/cjs/arrow-top-rounded-885250ea.js +0 -10
  178. package/dist/cjs/arrow-top-rounded-885250ea.js.map +0 -1
  179. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +0 -3238
  180. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +0 -1
  181. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +0 -90
  182. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +0 -1
  183. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +0 -600
  184. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +0 -1
  185. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +0 -143
  186. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +0 -1
  187. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +0 -99
  188. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +0 -1
  189. package/dist/cjs/attach-19283bec.js +0 -10
  190. package/dist/cjs/attach-19283bec.js.map +0 -1
  191. package/dist/cjs/popover-type-22f285e1.js +0 -16
  192. package/dist/cjs/popover-type-22f285e1.js.map +0 -1
  193. package/dist/cjs/props-utils-bc5feb04.js +0 -59
  194. package/dist/cjs/props-utils-bc5feb04.js.map +0 -1
  195. package/dist/cjs/stencil-heading-ecec9ab3.js +0 -174
  196. package/dist/cjs/stencil-heading-ecec9ab3.js.map +0 -1
  197. package/dist/cjs/stencil-iconButton-f8b9fda0.js +0 -18
  198. package/dist/cjs/stencil-iconButton-f8b9fda0.js.map +0 -1
  199. package/dist/cjs/store-70fff5e6.js +0 -16
  200. package/dist/cjs/store-70fff5e6.js.map +0 -1
  201. package/dist/cjs/utils-e845f262.js.map +0 -1
  202. package/dist/esm/arrow-top-rounded-745b84a6.js +0 -7
  203. package/dist/esm/arrow-top-rounded-745b84a6.js.map +0 -1
  204. package/dist/esm/atomic-insight-generated-answer.entry.js +0 -3234
  205. package/dist/esm/atomic-insight-generated-answer.entry.js.map +0 -1
  206. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +0 -86
  207. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +0 -1
  208. package/dist/esm/atomic-ipx-recs-list.entry.js +0 -596
  209. package/dist/esm/atomic-ipx-recs-list.entry.js.map +0 -1
  210. package/dist/esm/atomic-ipx-refine-modal.entry.js +0 -139
  211. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +0 -1
  212. package/dist/esm/atomic-ipx-refine-toggle.entry.js +0 -95
  213. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +0 -1
  214. package/dist/esm/attach-81bb8872.js +0 -8
  215. package/dist/esm/attach-81bb8872.js.map +0 -1
  216. package/dist/esm/index-3eb0b28e.js.map +0 -1
  217. package/dist/esm/popover-type-c85677ef.js +0 -12
  218. package/dist/esm/popover-type-c85677ef.js.map +0 -1
  219. package/dist/esm/props-utils-d343133b.js +0 -57
  220. package/dist/esm/props-utils-d343133b.js.map +0 -1
  221. package/dist/esm/stencil-heading-98a5f23f.js +0 -169
  222. package/dist/esm/stencil-heading-98a5f23f.js.map +0 -1
  223. package/dist/esm/stencil-iconButton-ed5804d3.js +0 -16
  224. package/dist/esm/stencil-iconButton-ed5804d3.js.map +0 -1
  225. package/dist/esm/store-50d170c8.js +0 -13
  226. package/dist/esm/store-50d170c8.js.map +0 -1
  227. package/dist/esm/utils-b5bab369.js.map +0 -1
  228. /package/dist/atomic/{p-4a32511f.js.map → p-2045a1b1.js.map} +0 -0
  229. /package/dist/atomic/{p-b4cfedf1.js.map → p-720863c3.js.map} +0 -0
  230. /package/dist/atomic/{p-0698ccf1.entry.js.map → p-b5af331b.entry.js.map} +0 -0
  231. /package/dist/atomic/{p-677f9c40.js.map → p-b7209471.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"stencil-result-template-decorators-9cbe1e1c.js","mappings":"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","names":[],"sources":["src/components/common/item-list/stencil-item-decorators.tsx","src/components/search/result-template-component-utils/context/stencil-result-template-decorators.tsx"],"sourcesContent":["import {closest} from '@/src/utils/dom-utils';\nimport {ComponentInterface, getElement} from '@stencil/core';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\nimport {ResultTemplateProvider} from './result-template-provider';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ItemContext` from \\@/src/decorators/item-list/item-context.js.\n */\nexport function ItemContext(\n opts: {parentName: string; folded: boolean} = {\n parentName: 'atomic-result',\n folded: false,\n }\n) {\n return (component: ComponentInterface, itemVariable: string) => {\n const {connectedCallback, componentWillRender, render} = component;\n component.connectedCallback = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this[itemVariable] = extractFolded(item, opts.folded);\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n this.error = new MissingParentError(\n element.nodeName.toLowerCase(),\n opts.parentName\n );\n return;\n }\n return connectedCallback && connectedCallback.call(this);\n };\n\n component.componentWillRender = function () {\n if (this.error) {\n return;\n }\n\n return componentWillRender && componentWillRender.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n const element = getElement(this);\n element.remove();\n console.error(\n 'Result component is in error and has been removed from the DOM',\n this.error,\n this,\n element\n );\n return;\n }\n return render && render.call(this);\n };\n };\n}\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `InteractiveItemContext` from \\@/src/decorators/item-list/interactive-item-context.js.\n */\nexport function InteractiveItemContext() {\n return (component: ComponentInterface, interactiveItemVariable: string) => {\n const {connectedCallback} = component;\n component.connectedCallback = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n interactiveItemContextEventName,\n (item: AnyItem) => {\n this[interactiveItemVariable] = item;\n }\n );\n element.dispatchEvent(event);\n return connectedCallback && connectedCallback.call(this);\n };\n };\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\nconst itemContextEventName = 'atomic/resolveResult';\nexport type InteractiveItemContextEvent = CustomEvent<\n (interactiveItem: unknown) => void\n>;\nconst interactiveItemContextEventName = 'atomic/resolveInteractiveResult';\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `itemContext` from \\@/src/components/common/item-list/item-context.js.\n */\nexport function itemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n\nfunction extractFolded(item: Record<string, unknown>, returnFolded: boolean) {\n if (returnFolded) {\n if ('children' in item) {\n return item;\n } else {\n return {children: [], result: item};\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result;\n }\n return item;\n}\n\ntype ChildTemplatesContextEventHandler = (\n itemTemplateProvider?: ResultTemplateProvider\n) => void;\nexport type ChildTemplatesContextEvent =\n CustomEvent<ChildTemplatesContextEventHandler>;\nconst childTemplatesContextEventName = 'atomic/resolveChildTemplates';\n\ninterface AtomicItemChildren {\n itemTemplateProvider?: ResultTemplateProvider;\n}\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ChildTemplatesContext` from \\@/src/decorators/item-list/child-templates-context.js.\n */\nexport function ChildTemplatesContext() {\n return (component: ComponentInterface, itemTemplateProviderProp: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n childTemplatesContextEventName,\n (itemTemplateProvider?: ResultTemplateProvider) => {\n const component = this as AtomicItemChildren;\n if (component.itemTemplateProvider) {\n return;\n }\n\n this[itemTemplateProviderProp] = itemTemplateProvider;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n this[itemTemplateProviderProp] = null;\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n\nexport type DisplayConfig = {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n};\n\ntype ItemDisplayConfigContextEventHandler = (config: DisplayConfig) => void;\nexport type ItemDisplayConfigContextEvent =\n CustomEvent<ItemDisplayConfigContextEventHandler>;\nconst itemDisplayConfigContextEventName = 'atomic/resolveResultDisplayConfig';\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ItemDisplayConfigContext` from \\@/src/decorators/item-list/item-display-config-context.js.\n */\nexport function ItemDisplayConfigContext() {\n return (component: ComponentInterface, itemVariable: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n itemDisplayConfigContextEventName,\n (config: DisplayConfig) => {\n this[itemVariable] = config;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n","import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `createResultContextController` from \\@/src/components/search/result-template-component-utils/context/result-context-controller.ts\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\" element.\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `fetchResultContext` from \\@/src/components/search/result-template-component-utils/context/fetch-result-context.ts\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"version":3}
1
+ {"file":"stencil-result-template-decorators-4c2e5132.js","mappings":"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","names":[],"sources":["src/components/common/item-list/stencil-item-decorators.tsx","src/components/search/result-template-component-utils/context/stencil-result-template-decorators.tsx"],"sourcesContent":["import {closest} from '@/src/utils/dom-utils';\nimport {ComponentInterface, getElement} from '@stencil/core';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\nimport {ResultTemplateProvider} from './result-template-provider';\n\nexport class MissingParentError extends Error {\n constructor(elementName: string, parentName: string) {\n super(\n `The \"${elementName}\" element must be the child of an \"${parentName}\" element.`\n );\n }\n}\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ItemContext` from \\@/src/decorators/item-list/item-context.js.\n */\nexport function ItemContext(\n opts: {parentName: string; folded: boolean} = {\n parentName: 'atomic-result',\n folded: false,\n }\n) {\n return (component: ComponentInterface, itemVariable: string) => {\n const {connectedCallback, componentWillRender, render} = component;\n component.connectedCallback = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this[itemVariable] = extractFolded(item, opts.folded);\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n this.error = new MissingParentError(\n element.nodeName.toLowerCase(),\n opts.parentName\n );\n return;\n }\n return connectedCallback && connectedCallback.call(this);\n };\n\n component.componentWillRender = function () {\n if (this.error) {\n return;\n }\n\n return componentWillRender && componentWillRender.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n const element = getElement(this);\n element.remove();\n console.error(\n 'Result component is in error and has been removed from the DOM',\n this.error,\n this,\n element\n );\n return;\n }\n return render && render.call(this);\n };\n };\n}\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `InteractiveItemContext` from \\@/src/decorators/item-list/interactive-item-context.js.\n */\nexport function InteractiveItemContext() {\n return (component: ComponentInterface, interactiveItemVariable: string) => {\n const {connectedCallback} = component;\n component.connectedCallback = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n interactiveItemContextEventName,\n (item: AnyItem) => {\n this[interactiveItemVariable] = item;\n }\n );\n element.dispatchEvent(event);\n return connectedCallback && connectedCallback.call(this);\n };\n };\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\nconst itemContextEventName = 'atomic/resolveResult';\nexport type InteractiveItemContextEvent = CustomEvent<\n (interactiveItem: unknown) => void\n>;\nconst interactiveItemContextEventName = 'atomic/resolveInteractiveResult';\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `itemContext` from \\@/src/components/common/item-list/item-context.js.\n */\nexport function itemContext<T>(element: Element, parentName: string) {\n return new Promise<T>((resolve, reject) => {\n const event = buildCustomEvent<ItemContextEventHandler<T>>(\n itemContextEventName,\n (item: T) => {\n return resolve(item);\n }\n );\n element.dispatchEvent(event);\n\n if (!closest(element, parentName)) {\n reject(\n new MissingParentError(element.nodeName.toLowerCase(), parentName)\n );\n }\n });\n}\n\nfunction extractFolded(item: Record<string, unknown>, returnFolded: boolean) {\n if (returnFolded) {\n if ('children' in item) {\n return item;\n } else {\n return {children: [], result: item};\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result;\n }\n return item;\n}\n\ntype ChildTemplatesContextEventHandler = (\n itemTemplateProvider?: ResultTemplateProvider\n) => void;\nexport type ChildTemplatesContextEvent =\n CustomEvent<ChildTemplatesContextEventHandler>;\nconst childTemplatesContextEventName = 'atomic/resolveChildTemplates';\n\ninterface AtomicItemChildren {\n itemTemplateProvider?: ResultTemplateProvider;\n}\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ChildTemplatesContext` from \\@/src/decorators/item-list/child-templates-context.js.\n */\nexport function ChildTemplatesContext() {\n return (component: ComponentInterface, itemTemplateProviderProp: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n childTemplatesContextEventName,\n (itemTemplateProvider?: ResultTemplateProvider) => {\n const component = this as AtomicItemChildren;\n if (component.itemTemplateProvider) {\n return;\n }\n\n this[itemTemplateProviderProp] = itemTemplateProvider;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n this[itemTemplateProviderProp] = null;\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n\nexport type DisplayConfig = {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n};\n\ntype ItemDisplayConfigContextEventHandler = (config: DisplayConfig) => void;\nexport type ItemDisplayConfigContextEvent =\n CustomEvent<ItemDisplayConfigContextEventHandler>;\nconst itemDisplayConfigContextEventName = 'atomic/resolveResultDisplayConfig';\n\n/**\n * @deprecated should only be used for Stencil components. For Lit components, use `ItemDisplayConfigContext` from \\@/src/decorators/item-list/item-display-config-context.js.\n */\nexport function ItemDisplayConfigContext() {\n return (component: ComponentInterface, itemVariable: string) => {\n const {componentWillRender} = component;\n component.componentWillRender = function () {\n const element = getElement(this);\n const event = buildCustomEvent(\n itemDisplayConfigContextEventName,\n (config: DisplayConfig) => {\n this[itemVariable] = config;\n }\n );\n\n const canceled = element.dispatchEvent(event);\n if (canceled) {\n return;\n }\n return componentWillRender && componentWillRender.call(this);\n };\n };\n}\n","import {FoldedResult, Result} from '@coveo/headless';\nimport {\n InteractiveItemContext,\n InteractiveItemContextEvent,\n ItemContext,\n ItemContextEvent,\n itemContext,\n} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used for result template components.\n * This allows the Stencil component to fetch the current result from its rendered parent, the `atomic-result` component.\n *\n * Example:\n * @ResultContext() private result!: Result;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `createResultContextController` from \\@/src/components/search/result-template-component-utils/context/result-context-controller.ts\n */\nexport function ResultContext(opts: {folded: boolean} = {folded: false}) {\n return ItemContext({parentName: 'atomic-result', folded: opts.folded});\n}\n\nexport function InteractiveResultContext() {\n return InteractiveItemContext();\n}\n\nexport type ResultContextEvent<T = Result> = ItemContextEvent<T>;\nexport type InteractiveResultContextEvent = InteractiveItemContextEvent;\n\n/**\n * Retrieves `Result` on a rendered `atomic-result`.\n *\n * This method is useful for building custom result template elements, see [Create a Result List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-result-template-component-example) for more information.\n *\n * You should use the method in the [connectedCallback lifecycle method](https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_custom_elements#using_the_lifecycle_callbacks).\n *\n * @param element The element that the event is dispatched to, which must be the child of a rendered \"atomic-result\" element.\n * @returns A promise that resolves on initialization of the parent \"atomic-result\" element, or rejects when there is no parent \"atomic-result\" element.\n * \n * @deprecated should only be used for Stencil components. For Lit components, use `fetchResultContext` from \\@/src/components/search/result-template-component-utils/context/fetch-result-context.ts\n */\nexport function resultContext<T extends Result | FoldedResult = Result>(\n element: Element\n) {\n return itemContext<T>(element, 'atomic-result');\n}\n"],"version":3}
@@ -1,2 +1,2 @@
1
- export const headlessVersion = '3.44.0';
2
- export const atomicVersion = '3.49.0';
1
+ export const headlessVersion = '3.45.1';
2
+ export const atomicVersion = '3.51.0';
@@ -0,0 +1,49 @@
1
+ import type { GeneratedAnswerBase, GeneratedAnswerCitation } from '@coveo/headless';
2
+ import type { i18n } from 'i18next';
3
+ import { LitElement, type TemplateResult } from 'lit';
4
+ export interface GeneratedAnswer extends GeneratedAnswerBase {
5
+ question: string;
6
+ expanded?: boolean;
7
+ }
8
+ /**
9
+ * The `answer-content` component renders the content of a generated answer.
10
+ *
11
+ * @internal
12
+ */
13
+ export declare class AnswerContent extends LitElement {
14
+ static styles: import("lit").CSSResult[][];
15
+ /**
16
+ * The generated answer object to render.
17
+ */
18
+ generatedAnswer: GeneratedAnswer;
19
+ /**
20
+ * The i18next instance used to translate UI labels.
21
+ */
22
+ i18n: i18n;
23
+ /**
24
+ * A render function responsible for displaying the answer citations.
25
+ */
26
+ renderCitations: (citations: GeneratedAnswerCitation[]) => TemplateResult;
27
+ /**
28
+ * Callback invoked when the user clicks the "like" feedback button.
29
+ */
30
+ onClickLike: (answerId?: string) => void;
31
+ /**
32
+ * Callback invoked when the user clicks the "dislike" feedback button.
33
+ */
34
+ onClickDislike: (answerId?: string) => void;
35
+ /**
36
+ * Callback invoked after the answer text has been successfully copied.
37
+ */
38
+ onCopyToClipboard: (answerId?: string) => void;
39
+ /**
40
+ * Internal copy feedback state.
41
+ */
42
+ private copyState;
43
+ private resetCopyTimeout?;
44
+ disconnectedCallback(): void;
45
+ render(): TemplateResult<1>;
46
+ private copyToClipboard;
47
+ private scheduleCopyReset;
48
+ private getCopyToClipboardTooltip;
49
+ }
@@ -0,0 +1,49 @@
1
+ import { LitElement } from 'lit';
2
+ export interface GeneratedAnswerThreadItemProps {
3
+ /**
4
+ * The title displayed for the thread item.
5
+ */
6
+ title: string;
7
+ /**
8
+ * Whether the thread item can be expanded or collapsed.
9
+ */
10
+ disableCollapse: boolean;
11
+ /**
12
+ * Whether the thread line should be hidden.
13
+ */
14
+ hideLine: boolean;
15
+ /**
16
+ * Whether the thread item is initially expanded.
17
+ */
18
+ isExpanded: boolean;
19
+ }
20
+ /**
21
+ * The `generated-answer-thread-item` component renders a generated answer
22
+ * thread item with timeline visuals and collapsible content.
23
+ *
24
+ * @internal
25
+ *
26
+ * @slot (default) - The content rendered when the item is expanded.
27
+ */
28
+ export declare class GeneratedAnswerThreadItem extends LitElement {
29
+ private readonly contentId;
30
+ /**
31
+ * The title displayed for the thread item.
32
+ */
33
+ title: string;
34
+ /**
35
+ * Whether the thread item can be expanded or collapsed.
36
+ */
37
+ disableCollapse: boolean;
38
+ /**
39
+ * Whether the timeline line should be hidden (e.g., for the last item).
40
+ */
41
+ hideLine: boolean;
42
+ /**
43
+ * Whether the thread item is initially expanded.
44
+ */
45
+ isExpanded: boolean;
46
+ protected willUpdate(): void;
47
+ private toggle;
48
+ render(): import("lit-html").TemplateResult<1>;
49
+ }
@@ -1,9 +1,15 @@
1
- import type { GeneratedAnswerState } from '@coveo/headless';
2
1
  import type { i18n } from 'i18next';
3
2
  import type { FunctionalComponent } from "../../../utils/functional-component-utils";
3
+ export interface GeneratedAnswerActionsState {
4
+ liked: boolean;
5
+ disliked: boolean;
6
+ isStreaming: boolean;
7
+ isLoading: boolean;
8
+ answer?: string;
9
+ }
4
10
  export interface RenderFeedbackAndCopyButtonsProps {
5
11
  i18n: i18n;
6
- generatedAnswerState: GeneratedAnswerState | undefined;
12
+ generatedAnswerActionsState: GeneratedAnswerActionsState;
7
13
  copied: boolean;
8
14
  copyError: boolean;
9
15
  getCopyToClipboardTooltip: () => string;
@@ -1,6 +1,6 @@
1
1
  import "../../search/atomic-text/atomic-text";
2
2
  import { type TemplateResult } from 'lit';
3
- import type { ItemRenderingFunction } from "../..";
3
+ import type { ItemRenderingFunction } from "./item-list-common";
4
4
  import type { FunctionalComponent, FunctionalComponentWithChildren } from "../../../utils/functional-component-utils";
5
5
  import type { AnyItem } from '../item-list/unfolded-item';
6
6
  interface TableColumnsProps {
@@ -1,8 +1,8 @@
1
- import { SearchStatus as InsightSearchStatus, GeneratedAnswer as InsightGeneratedAnswer, GeneratedAnswerState as InsightGeneratedAnswerState } from '@coveo/headless/insight';
2
- import { InitializableComponent } from '../../../utils/initialization-utils';
3
- import { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
1
+ import { type GeneratedAnswer as InsightGeneratedAnswer, type SearchStatus as InsightSearchStatus } from '@coveo/headless/insight';
2
+ import { LitElement, nothing, type PropertyValueMap } from 'lit';
3
+ import type { InsightBindings } from "../atomic-insight-interface/atomic-insight-interface";
4
+ import type { InitializableComponent } from "../../../decorators/types";
4
5
  /**
5
- * @internal
6
6
  * 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.
7
7
  * For more information, see [About Relevance Generative Answering (RGA)](https://docs.coveo.com/en/n9de0370/)
8
8
  *
@@ -40,34 +40,27 @@ import { InsightBindings } from '../atomic-insight-interface/atomic-insight-inte
40
40
  * @part citation - The link that allows the user to navigate to the item.
41
41
  * @part citation-popover - The pop-up that shows an item preview when the user hovers over the citation.
42
42
  */
43
- export declare class AtomicInsightGeneratedAnswer implements InitializableComponent<InsightBindings> {
44
- bindings: InsightBindings;
45
- generatedAnswer: InsightGeneratedAnswer;
46
- searchStatus: InsightSearchStatus;
47
- private resizeObserver?;
43
+ export declare class AtomicInsightGeneratedAnswer extends LitElement implements InitializableComponent<InsightBindings> {
44
+ static styles: import("lit").CSSResult[][];
45
+ private static readonly propsSchema;
46
+ private static readonly fieldsToIncludeInCitationsConverter;
48
47
  private readonly DEFAULT_COLLAPSED_HEIGHT;
49
48
  private readonly MAX_COLLAPSED_HEIGHT;
50
49
  private readonly MIN_COLLAPSED_HEIGHT;
51
50
  private readonly REQUIRED_FIELDS_TO_INCLUDE_IN_CITATIONS;
52
- private generatedAnswerState;
53
- private searchStatusState;
54
- error: Error;
55
- private host;
56
- copied: boolean;
57
- copyError: boolean;
51
+ private resizeObserver?;
52
+ private fullAnswerHeight?;
53
+ private controller;
58
54
  /**
59
55
  * Whether to render a toggle button that lets the user hide or show the answer.
60
- * @default false
61
56
  */
62
- withToggle?: boolean;
57
+ withToggle: boolean;
63
58
  /**
64
- * Whether to allow the answer to be collapsed when the text is taller than 250px.
65
- * @default false
59
+ * Whether to allow the answer to be collapsed when the text is taller than the specified `--atomic-crga-collapsed-height` value (16rem by default).
66
60
  */
67
- collapsible?: boolean;
61
+ collapsible: boolean;
68
62
  /**
69
63
  * The maximum height (in rem units) of the answer when collapsed.
70
- *
71
64
  */
72
65
  maxCollapsedHeight: number;
73
66
  /**
@@ -77,30 +70,56 @@ export declare class AtomicInsightGeneratedAnswer implements InitializableCompon
77
70
  answerConfigurationId?: string;
78
71
  /**
79
72
  * A list of fields to include with the citations used to generate the answer.
73
+ *
74
+ * Set this property as a stringified JSON array, for example:
75
+ * ```html
76
+ * <atomic-insight-generated-answer fields-to-include-in-citations='["fieldA", "fieldB"]'></atomic-insight-generated-answer>
77
+ * ```
80
78
  */
81
79
  fieldsToIncludeInCitations?: string;
82
80
  /**
83
- * Option to disable citation anchoring.
84
- * @default false
81
+ * Whether to disable citation anchoring.
85
82
  */
86
- disableCitationAnchoring?: boolean;
87
- protected ariaMessage: string;
88
- private generatedAnswerCommon;
89
- private fullAnswerHeight?;
83
+ disableCitationAnchoring: boolean;
84
+ bindings: InsightBindings;
85
+ error: Error;
86
+ private generatedAnswerState;
87
+ generatedAnswer: InsightGeneratedAnswer;
88
+ private searchStatusState;
89
+ searchStatus: InsightSearchStatus;
90
+ private copied;
91
+ private copyError;
92
+ private ariaMessage;
93
+ constructor();
90
94
  initialize(): void;
91
- updateAnswerCollapsed(newState: InsightGeneratedAnswerState, oldState: InsightGeneratedAnswerState): void;
92
95
  disconnectedCallback(): void;
93
- private onGeneratedAnswerStateUpdate;
94
- private setCopied;
95
- private setCopyError;
96
- private setAriaMessage;
96
+ protected willUpdate(changedProperties: PropertyValueMap<this>): void;
97
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
98
+ onGeneratedAnswerStateUpdate: () => void;
99
+ private get hasNoAnswerGenerated();
100
+ private get isAnswerVisible();
101
+ private get toggleTooltip();
102
+ private get copyToClipboardTooltip();
103
+ private get hasCustomNoAnswerMessage();
104
+ private copyToClipboard;
105
+ private clickOnShowButton;
106
+ private getCitationFields;
107
+ private validateMaxCollapsedHeight;
97
108
  private toggleClass;
98
109
  private adaptAnswerHeight;
99
110
  private getAnswerContainer;
100
111
  private getAnswerFooter;
101
- private getCitationFields;
102
- private validateMaxCollapsedHeight;
103
112
  private setCSSVariable;
104
113
  private updateAnswerHeight;
105
- render(): any;
114
+ private clickDislike;
115
+ private clickLike;
116
+ private renderCitationsList;
117
+ private renderFeedbackAndCopyButtonsWrapper;
118
+ private renderContent;
119
+ private renderCardHeaderWrapper;
120
+ }
121
+ declare global {
122
+ interface HTMLElementTagNameMap {
123
+ 'atomic-insight-generated-answer': AtomicInsightGeneratedAnswer;
124
+ }
106
125
  }
@@ -0,0 +1,2 @@
1
+ import generatedAnswer from '../../common/generated-answer/styles/generated-answer.tw.css';
2
+ export default generatedAnswer;
@@ -1,37 +1,42 @@
1
- import { AttachToCase, Result } from '@coveo/headless/insight';
2
- import { InitializableComponent } from '../../../utils/initialization-utils';
3
- import { InsightBindings } from '../atomic-insight-interface/atomic-insight-interface';
1
+ import { type AttachedResults, type Result } from '@coveo/headless/insight';
2
+ import { LitElement } from 'lit';
3
+ import type { InsightBindings } from "../atomic-insight-interface/atomic-insight-interface";
4
+ import type { InitializableComponent } from "../../../decorators/types";
4
5
  export interface InsightResultAttachToCaseEvent {
5
6
  callback: () => void;
6
7
  result: Result;
7
8
  }
9
+ declare const AtomicInsightResultAttachToCaseAction_base: import("../../../mixins/mixin-common").Constructor<{
10
+ injectStyles(dynamicStyles?: import("lit").CSSResultGroup): Promise<void>;
11
+ }> & typeof LitElement;
8
12
  /**
9
- * @internal
10
- * The `atomic-insight-result-attach-to-case-action` component can be nested inside a `atomic-insight-result-actions` to render an interactive button that will emit an `atomic/insight/attachToCase/attach` or `atomic/insight/attachToCase/detach` JavaScript event, based on its current state, when clicked.
13
+ * The `atomic-insight-result-attach-to-case-action` component can be nested
14
+ * inside a `atomic-insight-result-actions` to render an interactive button
15
+ * that will emit an `atomic/insight/attachToCase/attach` or
16
+ * `atomic/insight/attachToCase/detach` JavaScript event, based on its current
17
+ * state, when clicked.
11
18
  *
12
19
  * @part result-action-container - The result action container
13
20
  * @part result-action-button - The result action button
14
21
  * @part result-action-icon - The result action icon
15
22
  */
16
- export declare class AtomicInsightResultAttachToCaseAction implements InitializableComponent<InsightBindings> {
23
+ export declare class AtomicInsightResultAttachToCaseAction extends AtomicInsightResultAttachToCaseAction_base implements InitializableComponent<InsightBindings> {
17
24
  bindings: InsightBindings;
18
- private result;
19
- host: HTMLElement;
20
25
  error: Error;
21
- attachToCase: AttachToCase;
22
- attachToCaseState: {};
23
- /**
24
- * @migration Stencil's @Event() decorator defaults to: bubbles=true, composed=true, cancelable=true.
25
- * Native CustomEvent defaults to: bubbles=false, composed=false, cancelable=false.
26
- * When migrating to Lit, explicitly set all three options to preserve behavior:
27
- * `new CustomEvent('atomic/insight/attachToCase/attach', { bubbles: true, composed: true, cancelable: true, detail: ... })`
28
- * `new CustomEvent('atomic/insight/attachToCase/detach', { bubbles: true, composed: true, cancelable: true, detail: ... })`
29
- */
30
- private attach;
31
- private detach;
26
+ attachedResults: AttachedResults;
27
+ private attachedResultsState;
28
+ private itemContextController;
29
+ constructor();
30
+ private get result();
32
31
  initialize(): void;
33
32
  private onClick;
34
33
  private getIcon;
35
34
  private getTooltip;
36
- render(): any;
35
+ render(): typeof import("lit-html").nothing | import("lit-html").TemplateResult;
37
36
  }
37
+ declare global {
38
+ interface HTMLElementTagNameMap {
39
+ 'atomic-insight-result-attach-to-case-action': AtomicInsightResultAttachToCaseAction;
40
+ }
41
+ }
42
+ export {};
@@ -3,6 +3,7 @@ export { AtomicInsightFacet } from './atomic-insight-facet/atomic-insight-facet.
3
3
  export { AtomicInsightFoldedResultList } from './atomic-insight-folded-result-list/atomic-insight-folded-result-list.js';
4
4
  export { AtomicInsightFullSearchButton } from './atomic-insight-full-search-button/atomic-insight-full-search-button.js';
5
5
  export { AtomicInsightGenerateAnswerButton } from './atomic-insight-generate-answer-button/atomic-insight-generate-answer-button.js';
6
+ export { AtomicInsightGeneratedAnswer } from './atomic-insight-generated-answer/atomic-insight-generated-answer.js';
6
7
  export { AtomicInsightHistoryToggle } from './atomic-insight-history-toggle/atomic-insight-history-toggle.js';
7
8
  export { AtomicInsightInterface } from './atomic-insight-interface/atomic-insight-interface.js';
8
9
  export { AtomicInsightLayout } from './atomic-insight-layout/atomic-insight-layout.js';
@@ -15,6 +16,7 @@ export { AtomicInsightRefineModal } from './atomic-insight-refine-modal/atomic-i
15
16
  export { AtomicInsightRefineToggle } from './atomic-insight-refine-toggle/atomic-insight-refine-toggle.js';
16
17
  export { AtomicInsightResult } from './atomic-insight-result/atomic-insight-result.js';
17
18
  export { AtomicInsightResultActionBar } from './atomic-insight-result-action-bar/atomic-insight-result-action-bar.js';
19
+ export { AtomicInsightResultAttachToCaseAction } from './atomic-insight-result-attach-to-case-action/atomic-insight-result-attach-to-case-action.js';
18
20
  export { AtomicInsightResultAttachToCaseIndicator } from './atomic-insight-result-attach-to-case-indicator/atomic-insight-result-attach-to-case-indicator.js';
19
21
  export { AtomicInsightResultChildren } from './atomic-insight-result-children/atomic-insight-result-children.js';
20
22
  export { AtomicInsightResultList } from './atomic-insight-result-list/atomic-insight-result-list.js';
@@ -3,7 +3,7 @@ import type { Bindings } from "../../search/atomic-search-interface/atomic-searc
3
3
  import type { InitializableComponent } from "../../../decorators/types";
4
4
  import "../../common/atomic-icon/atomic-icon";
5
5
  /**
6
- * The `atomic-ipx-button` component represents a button that toggles the IPX modal.
6
+ * The `atomic-ipx-button` component renders a button that toggles the IPX modal.
7
7
  *
8
8
  * @part ipx-button - The main button element.
9
9
  * @part button-icon - The icon container within the button.
@@ -1,38 +1,48 @@
1
- import { RecommendationList, RecommendationListState } from '@coveo/headless/recommendation';
2
- import { InitializableComponent } from '../../../../utils/initialization-utils';
3
- import { FocusTargetController } from '../../../../utils/stencil-accessibility-utils';
4
- import { ItemRenderingFunction } from '../../../common/item-list/stencil-item-list-common';
5
- import { ItemDisplayBasicLayout, ItemDisplayDensity, ItemDisplayImageSize } from '../../../common/layout/display-options';
6
- import { RecsBindings } from '../../../recommendations/atomic-recs-interface/atomic-recs-interface';
1
+ import { type RecommendationList, type RecommendationListState } from '@coveo/headless/recommendation';
2
+ import { type CSSResultGroup, LitElement, nothing } from 'lit';
3
+ import { type ItemRenderingFunction } from "../../common/item-list/item-list-common";
4
+ import { type ItemDisplayBasicLayout, type ItemDisplayDensity, type ItemDisplayImageSize } from "../../common/layout/item-layout-utils";
5
+ import type { RecsBindings } from "../../recommendations/atomic-recs-interface/interfaces";
6
+ import type { InitializableComponent } from "../../../decorators/types";
7
+ import "../../recommendations/atomic-recs-result/atomic-recs-result";
8
+ declare const AtomicIpxRecsList_base: typeof LitElement;
7
9
  /**
8
10
  * The `atomic-ipx-recs-list` component displays recommendations by applying one or more result templates.
9
11
  *
10
12
  * @part result-list - The element containing the list of results.
11
13
  * @part result-list-grid-clickable-container - The parent of the result and the clickable link encompassing it.
12
- * @part result-list-grid-clickable - The clickable link encompassing the result.
14
+ * @part outline - The outline element around a result in the grid layout.
13
15
  * @part label - The label of the result list.
14
16
  * @part previous-button - The previous button.
15
17
  * @part next-button - The next button.
18
+ * @part previous-icon - The previous button icon.
19
+ * @part next-icon - The next button icon.
20
+ * @part carousel - The carousel container.
16
21
  * @part indicators - The list of indicators.
17
22
  * @part indicator - A single indicator.
18
23
  * @part active-indicator - The active indicator.
19
- * @internal
24
+ *
25
+ * @slot default - The default slot where the result templates are defined.
26
+ *
27
+ * @cssprop --atomic-recs-number-of-columns - The number of columns in the grid.
20
28
  */
21
- export declare class AtomicIPXRecsList implements InitializableComponent<RecsBindings> {
22
- bindings: RecsBindings;
29
+ export declare class AtomicIpxRecsList extends AtomicIpxRecsList_base implements InitializableComponent<RecsBindings> {
30
+ static styles: CSSResultGroup;
31
+ private static readonly propsSchema;
23
32
  recommendationList: RecommendationList;
24
- private loadingFlag;
33
+ private actionsHistoryActions?;
25
34
  private itemRenderingFunction;
35
+ private itemListCommon;
26
36
  private itemTemplateProvider;
37
+ private loadingFlag;
27
38
  private nextNewResultTarget?;
28
- private itemListCommon;
29
- private actionsHistoryActions?;
30
- host: HTMLDivElement;
39
+ bindings: RecsBindings;
31
40
  error: Error;
41
+ private currentPage;
32
42
  private isAppLoaded;
43
+ private isEveryResultReady;
33
44
  private resultTemplateRegistered;
34
45
  private templateHasError;
35
- private currentPage;
36
46
  recommendationListState: RecommendationListState;
37
47
  /**
38
48
  * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.
@@ -59,19 +69,21 @@ export declare class AtomicIPXRecsList implements InitializableComponent<RecsBin
59
69
  numberOfRecommendations: number;
60
70
  /**
61
71
  * The number of recommendations to display, per page.
62
- * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.
72
+ * Setting a value greater than 0 and lower than the numberOfRecommendations value activates the carousel.
63
73
  * This does not affect the display of the list itself, only the number of recommendation pages.
64
74
  */
65
75
  numberOfRecommendationsPerPage?: number;
66
76
  /**
67
77
  * The non-localized label for the list of recommendations.
78
+ * This will also set the `originLevel2` (tab) of the analytics requests.
68
79
  */
69
80
  label?: string;
70
81
  /**
71
82
  * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.
83
+ * When set to 0, a `div` will be used instead of a Heading Element.
72
84
  */
73
85
  headingLevel: number;
74
- watchNumberOfRecommendationsPerPage(): Promise<void>;
86
+ constructor();
75
87
  /**
76
88
  * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.
77
89
  * You can use this function while working with web frameworks that don't use plain HTML syntax such as React, Angular, or Vue.
@@ -90,21 +102,31 @@ export declare class AtomicIPXRecsList implements InitializableComponent<RecsBin
90
102
  */
91
103
  nextPage(): Promise<void>;
92
104
  initialize(): void;
93
- get focusTarget(): FocusTargetController;
105
+ willUpdate(changedProperties: Map<string, unknown>): Promise<void>;
106
+ private updateResultsReadyState;
107
+ private get focusTarget();
94
108
  private get recommendationListStateWithAugment();
95
109
  private validateNumberOfRecommendationsPerPage;
96
110
  private validateRecommendationIdentifier;
97
111
  private updateOriginLevel2;
98
- private renderHeading;
99
112
  private get currentIndex();
100
113
  private get subsetRecommendations();
101
114
  private get numberOfPages();
102
115
  private get hasPagination();
103
116
  private get shouldRenderPagination();
117
+ private get hasNoResults();
104
118
  private onSelect;
105
119
  private getPropsForAtomicRecsResult;
106
120
  private computeListDisplayClasses;
121
+ private renderHeading;
107
122
  private renderAsGrid;
108
- private renderListOfRecommendations;
109
- render(): any;
123
+ private renderRecommendationList;
124
+ private get shouldRender();
125
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
126
+ }
127
+ declare global {
128
+ interface HTMLElementTagNameMap {
129
+ 'atomic-ipx-recs-list': AtomicIpxRecsList;
130
+ }
110
131
  }
132
+ export {};
@@ -1,17 +1,49 @@
1
- import { BreadcrumbManagerState, QuerySummary, QuerySummaryState } from '@coveo/headless';
2
- import { InitializableComponent } from '../../../utils/initialization-utils';
3
- import { Bindings } from '../../search/atomic-search-interface/atomic-search-interface';
1
+ import { type BreadcrumbManager, type BreadcrumbManagerState, type QuerySummary, type QuerySummaryState } from '@coveo/headless';
2
+ import { type CSSResultGroup, LitElement } from 'lit';
3
+ import type { Bindings } from "../../search/atomic-search-interface/atomic-search-interface";
4
+ import type { InitializableComponent } from "../../../decorators/types";
4
5
  /**
5
- * @internal
6
+ * The `atomic-ipx-refine-modal` component is automatically created as a child of the `atomic-search-interface` when the `atomic-ipx-refine-toggle` is initialized.
7
+ *
8
+ * When the modal is opened, the class `atomic-modal-opened` is added to the interface element and the body.
9
+ *
10
+ * @slot facets - Slot for facet elements to be displayed in the modal. This slot is managed internally by the component and should not be used directly.
11
+ *
12
+ * @part title - The title of the modal.
13
+ * @part close-button - The button in the header that closes the modal.
14
+ * @part close-icon - The icon of the close button.
15
+ * @part content - The wrapper around the content inside the body of the modal.
16
+ * @part section-title - The title for each section.
17
+ * @part section-filters-title - The title for the filters section.
18
+ * @part filter-section - The section containing facets and the "filters" title.
19
+ * @part filter-clear-all - The button that resets all actively selected facet values.
20
+ * @part footer-content - The wrapper around the content inside the footer of the modal, containing the button to view results.
21
+ * @part footer-button - The button in the footer that closes the modal.
22
+ * @part footer-button-text - The text inside the button in the footer that closes the modal.
23
+ * @part footer-button-count - The count inside the button in the footer that closes the modal.
24
+ * @part footer-wrapper - The wrapper with a shadow or background color around the footer.
25
+ * @part footer - The footer of the modal.
26
+ * @part header-ruler - The horizontal ruler underneath the header.
27
+ * @part body-wrapper - The wrapper around the body.
28
+ * @part body - The body of the modal, between the header and the footer.
29
+ * @part header-wrapper - The wrapper around the header.
30
+ * @part header - The header of the modal, containing the title.
31
+ * @part container - The modal's outermost container.
32
+ * @part backdrop - The transparent backdrop hiding the content behind the modal.
33
+ *
34
+ * @cssprop --atomic-refine-modal-facet-margin - The margin between facets in the refine modal. Default is `20px`.
6
35
  */
7
- export declare class AtomicIPXRefineModal implements InitializableComponent {
36
+ export declare class AtomicIpxRefineModal extends LitElement implements InitializableComponent<Bindings> {
37
+ static styles: CSSResultGroup;
8
38
  bindings: Bindings;
9
- host: HTMLElement;
10
- querySummaryState: QuerySummaryState;
11
- breadcrumbManagerState: BreadcrumbManagerState;
12
39
  error: Error;
13
- interfaceDimensions?: DOMRect;
40
+ /**
41
+ * The element that opens the modal when clicked.
42
+ */
14
43
  openButton?: HTMLElement;
44
+ /**
45
+ * Whether the modal is open.
46
+ */
15
47
  isOpen: boolean;
16
48
  /**
17
49
  * The number of expanded facets inside the refine modal.
@@ -20,12 +52,27 @@ export declare class AtomicIPXRefineModal implements InitializableComponent {
20
52
  * Using the value `0` collapses all facets.
21
53
  */
22
54
  collapseFacetsAfter: number;
23
- private breadcrumbManager;
55
+ breadcrumbManager: BreadcrumbManager;
56
+ breadcrumbManagerState: BreadcrumbManagerState;
24
57
  querySummary: QuerySummary;
25
- watchEnabled(isOpen: boolean): void;
58
+ querySummaryState: QuerySummaryState;
26
59
  initialize(): void;
27
- private renderHeader;
28
- private renderBody;
29
- render(): any;
30
- componentDidLoad(): void;
60
+ watchEnabled(): void;
61
+ private createFacetSlotIfAbsent;
62
+ /**
63
+ * This method is necessary to ensure that the facets slot is rendered outside of the component's shadow DOM, preserving
64
+ * correct CSS inheritance and slot behavior. If this logic were placed in the render
65
+ * function, the slot would be rendered inside the shadow DOM, which would break
66
+ * expected CSS styling and slot distribution.
67
+ */
68
+ private createFacetSlot;
69
+ private cloneFacets;
70
+ private addFacetColumnStyling;
71
+ private renderFilters;
72
+ render(): import("lit-html").TemplateResult<1>;
73
+ }
74
+ declare global {
75
+ interface HTMLElementTagNameMap {
76
+ 'atomic-ipx-refine-modal': AtomicIpxRefineModal;
77
+ }
31
78
  }