@coveo/atomic 3.47.0 → 3.48.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 (632) hide show
  1. package/custom-elements.json +46959 -0
  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 -28
  5. package/dist/atomic/components/_index.js +35 -17
  6. package/dist/atomic/components/atomic-insight-folded-result-list.js +15 -4
  7. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  8. package/dist/atomic/components/atomic-insight-generated-answer.js +2 -2
  9. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  10. package/dist/atomic/components/atomic-insight-result-action.js +7 -4
  11. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  12. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -3
  13. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  14. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js +27 -2
  15. package/dist/atomic/components/atomic-insight-smart-snippet-suggestions.js.map +1 -1
  16. package/dist/atomic/components/atomic-insight-timeframe-facet.js +9 -4
  17. package/dist/atomic/components/atomic-insight-timeframe-facet.js.map +1 -1
  18. package/dist/atomic/components/atomic-ipx-recs-list.js +2 -2
  19. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  20. package/dist/atomic/components/atomic-ipx-refine-modal2.js +58 -4
  21. package/dist/atomic/components/atomic-ipx-refine-modal2.js.map +1 -1
  22. package/dist/atomic/components/atomic-ipx-refine-toggle.js +2 -2
  23. package/dist/atomic/components/atomic-ipx-refine-toggle.js.map +1 -1
  24. package/dist/atomic/components/atomic-recs-list.js +2 -2
  25. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  26. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  27. package/dist/atomic/components/attach.js +108 -1
  28. package/dist/atomic/components/attach.js.map +1 -1
  29. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +1 -1
  30. package/dist/atomic/components/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.js +1 -0
  31. package/dist/atomic/components/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.js +1 -0
  32. package/dist/atomic/components/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.js +3 -2
  33. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +4 -1
  34. package/dist/atomic/components/components/common/atomic-generated-answer-feedback-modal/atomic-generated-answer-feedback-modal.js +414 -0
  35. package/dist/atomic/components/components/common/atomic-rating/rating.js +1 -0
  36. package/dist/atomic/components/components/common/atomic-result-placeholder/atomic-result-placeholder.js +6 -0
  37. package/dist/atomic/components/components/common/atomic-smart-snippet-expandable-answer/atomic-smart-snippet-expandable-answer.js +1 -1
  38. package/dist/atomic/components/components/common/breadbox/breadcrumb-content.js +1 -0
  39. package/dist/atomic/components/components/common/generated-answer/generated-answer-controller.js +1 -0
  40. package/dist/atomic/components/components/common/generated-answer/render-answer-content.js +32 -65
  41. package/dist/atomic/components/components/common/generated-answer/render-card-header.js +41 -0
  42. package/dist/atomic/components/components/common/generated-answer/render-custom-no-answer-message.js +2 -15
  43. package/dist/atomic/components/components/common/generated-answer/render-disclaimer.js +1 -1
  44. package/dist/atomic/components/components/common/generated-answer/show-button.js +1 -0
  45. package/dist/atomic/components/components/common/index.js +1 -0
  46. package/dist/atomic/components/components/common/item-list/result-template-provider.js +2 -0
  47. package/dist/atomic/components/components/common/item-list/table-layout.js +1 -0
  48. package/dist/atomic/components/components/common/lazy-index.js +1 -0
  49. package/dist/atomic/components/components/common/no-items/magnifying-glass.js +1 -0
  50. package/dist/atomic/components/components/common/refine-modal/cloned-facet-elements.js +21 -0
  51. package/dist/atomic/components/components/common/search-box/submit-button.js +1 -0
  52. package/dist/atomic/components/components/common/search-box/text-area-clear-button.js +1 -0
  53. package/dist/atomic/components/components/common/smart-snippets/smart-snippet-feedback-banner.js +1 -0
  54. package/dist/atomic/components/components/common/suggestions/query-suggestions.js +1 -0
  55. package/dist/atomic/components/components/common/suggestions/recent-queries.js +1 -0
  56. package/dist/atomic/components/components/insight/atomic-insight-refine-modal/atomic-insight-refine-modal.js +211 -0
  57. package/dist/atomic/components/components/insight/atomic-insight-refine-toggle/atomic-insight-refine-toggle.js +1 -0
  58. package/dist/atomic/components/components/insight/atomic-insight-result-action-bar/atomic-insight-result-action-bar.js +20 -0
  59. package/dist/atomic/components/components/insight/atomic-insight-result-attach-to-case-indicator/atomic-insight-result-attach-to-case-indicator.js +75 -0
  60. package/dist/atomic/components/components/insight/atomic-insight-result-children/atomic-insight-result-children.js +2 -2
  61. package/dist/atomic/components/components/insight/atomic-insight-result-list/atomic-insight-result-list.js +261 -0
  62. package/dist/atomic/components/components/insight/atomic-insight-result-list/insight-list-display.tw.css.js +3 -0
  63. package/dist/atomic/components/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.js +167 -0
  64. package/dist/atomic/components/components/insight/atomic-insight-search-box/atomic-insight-search-box.js +1 -0
  65. package/dist/atomic/components/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.js +203 -0
  66. package/dist/atomic/components/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.tw.css.js +3 -0
  67. package/dist/atomic/components/components/insight/atomic-insight-user-actions-modal/atomic-insight-user-actions-modal.js +204 -0
  68. package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.js +173 -0
  69. package/dist/atomic/components/components/insight/atomic-insight-user-actions-session/user-action.js +78 -0
  70. package/dist/atomic/components/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.js +250 -0
  71. package/dist/atomic/components/components/insight/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.js +1 -0
  72. package/dist/atomic/components/components/insight/index.js +9 -0
  73. package/dist/atomic/components/components/insight/lazy-index.js +9 -0
  74. package/dist/atomic/components/components/ipx/atomic-ipx-body/ipx-body-styles.js +2 -0
  75. package/dist/atomic/components/components/ipx/atomic-ipx-body/ipx-body.js +49 -0
  76. package/dist/atomic/components/components/ipx/atomic-ipx-embedded/atomic-ipx-embedded.js +27 -5
  77. package/dist/atomic/components/components/ipx/atomic-ipx-modal/atomic-ipx-modal.js +158 -0
  78. package/dist/atomic/components/components/ipx/atomic-ipx-result-link/atomic-ipx-result-link.js +141 -0
  79. package/dist/atomic/components/components/ipx/atomic-ipx-result-link/atomic-ipx-result-link.tw.css.js +3 -0
  80. package/dist/atomic/components/components/ipx/index.js +2 -0
  81. package/dist/atomic/components/components/ipx/lazy-index.js +2 -0
  82. package/dist/atomic/components/components/search/atomic-breadbox/atomic-breadbox.js +1 -1
  83. package/dist/atomic/components/components/search/atomic-generated-answer/atomic-generated-answer.js +38 -18
  84. package/dist/atomic/components/components/search/atomic-notifications/atomic-notifications.js +1 -0
  85. package/dist/atomic/components/components/search/atomic-quickview/atomic-quickview.js +1 -0
  86. package/dist/atomic/components/components/search/atomic-refine-modal/atomic-refine-modal.js +2 -1
  87. package/dist/atomic/components/components/search/atomic-refine-toggle/atomic-refine-toggle.js +1 -0
  88. package/dist/atomic/components/components/search/atomic-result-children/atomic-result-children.js +1 -1
  89. package/dist/atomic/components/components/search/atomic-result-link/atomic-result-link.js +4 -4
  90. package/dist/atomic/components/components/search/atomic-search-box/atomic-search-box.js +3 -2
  91. package/dist/atomic/components/components/search/atomic-smart-snippet/atomic-smart-snippet.js +1 -0
  92. package/dist/atomic/components/date-utils.js +1 -46
  93. package/dist/atomic/components/date-utils.js.map +1 -1
  94. package/dist/atomic/components/directives/multi-class-map.js +4 -0
  95. package/dist/atomic/components/display-options.js +39 -1
  96. package/dist/atomic/components/display-options.js.map +1 -1
  97. package/dist/atomic/components/global/environment.js +1 -1
  98. package/dist/atomic/components/index.js.map +1 -1
  99. package/dist/atomic/components/initialization-utils.js +1 -7
  100. package/dist/atomic/components/initialization-utils.js.map +1 -1
  101. package/dist/atomic/components/popover-type.js +3 -1
  102. package/dist/atomic/components/popover-type.js.map +1 -1
  103. package/dist/atomic/components/props-utils.js +1 -1
  104. package/dist/atomic/components/slot-utils.js +1 -5
  105. package/dist/atomic/components/slot-utils.js.map +1 -1
  106. package/dist/atomic/components/stencil-button.js +1 -1
  107. package/dist/atomic/components/utils/coveo.tw.css.js +3 -1
  108. package/dist/atomic/components/utils/custom-element-tags.js +12 -0
  109. package/dist/atomic/components/utils/tailwind.global.tw.css.js +2 -2
  110. package/dist/atomic/components/utils.js +1 -10
  111. package/dist/atomic/components/utils.js.map +1 -1
  112. package/dist/atomic/index.esm.js +1 -1
  113. package/dist/atomic/index.esm.js.map +1 -1
  114. package/dist/atomic/lang/cs.json +1 -1
  115. package/dist/atomic/lang/da.json +1 -1
  116. package/dist/atomic/lang/de.json +1 -1
  117. package/dist/atomic/lang/dev.json +1 -1
  118. package/dist/atomic/lang/el.json +1 -1
  119. package/dist/atomic/lang/en.json +1 -1
  120. package/dist/atomic/lang/es.json +1 -1
  121. package/dist/atomic/lang/fi.json +1 -1
  122. package/dist/atomic/lang/fr.json +1 -1
  123. package/dist/atomic/lang/hu.json +1 -1
  124. package/dist/atomic/lang/id.json +1 -1
  125. package/dist/atomic/lang/it.json +1 -1
  126. package/dist/atomic/lang/ja.json +1 -1
  127. package/dist/atomic/lang/ko.json +1 -1
  128. package/dist/atomic/lang/nl.json +1 -1
  129. package/dist/atomic/lang/no.json +1 -1
  130. package/dist/atomic/lang/pl.json +1 -1
  131. package/dist/atomic/lang/pt-BR.json +1 -1
  132. package/dist/atomic/lang/pt.json +1 -1
  133. package/dist/atomic/lang/ru.json +1 -1
  134. package/dist/atomic/lang/sv.json +1 -1
  135. package/dist/atomic/lang/th.json +1 -1
  136. package/dist/atomic/lang/tr.json +1 -1
  137. package/dist/atomic/lang/zh-CN.json +1 -1
  138. package/dist/atomic/lang/zh-TW.json +1 -1
  139. package/dist/atomic/lang/zh.json +1 -1
  140. package/dist/atomic/p-026a51a7.entry.js +2 -0
  141. package/dist/atomic/{p-a3edbb0a.entry.js.map → p-026a51a7.entry.js.map} +1 -1
  142. package/dist/atomic/{p-1da0ec8c.entry.js → p-0698ccf1.entry.js} +2 -2
  143. package/dist/atomic/p-09ff88b4.entry.js +2 -0
  144. package/dist/atomic/p-09ff88b4.entry.js.map +1 -0
  145. package/dist/atomic/{p-0f466ffb.js → p-0c4a4e30.js} +2 -2
  146. package/dist/atomic/p-15074eb9.entry.js +2 -0
  147. package/dist/atomic/{p-90f23fb3.entry.js.map → p-15074eb9.entry.js.map} +1 -1
  148. package/dist/atomic/p-3bb48254.entry.js +2 -0
  149. package/dist/atomic/p-3bb48254.entry.js.map +1 -0
  150. package/dist/atomic/p-40e4e762.entry.js +2 -0
  151. package/dist/atomic/{p-f3a9a28b.entry.js.map → p-40e4e762.entry.js.map} +1 -1
  152. package/dist/atomic/{p-94976bed.js → p-4a32511f.js} +2 -2
  153. package/dist/atomic/p-4cab9607.js +2 -0
  154. package/dist/atomic/{p-0454df94.js → p-578d761c.js} +2 -2
  155. package/dist/atomic/p-5ec9bf71.entry.js +9 -0
  156. package/dist/atomic/p-5ec9bf71.entry.js.map +1 -0
  157. package/dist/atomic/{p-be8cc132.js → p-677f9c40.js} +2 -2
  158. package/dist/atomic/p-70cc18a1.js +2 -0
  159. package/dist/atomic/{p-406f7e5a.js.map → p-70cc18a1.js.map} +1 -1
  160. package/dist/atomic/{p-6e706321.entry.js → p-77250a6b.entry.js} +2 -2
  161. package/dist/atomic/p-78be3137.js +2 -0
  162. package/dist/atomic/p-78be3137.js.map +1 -0
  163. package/dist/atomic/p-81d6e743.js +2 -0
  164. package/dist/atomic/p-81d6e743.js.map +1 -0
  165. package/dist/atomic/p-994b3e51.entry.js +2 -0
  166. package/dist/atomic/p-994b3e51.entry.js.map +1 -0
  167. package/dist/atomic/{p-f2243b33.js → p-b3524b97.js} +2 -2
  168. package/dist/atomic/p-b4cfedf1.js +2 -0
  169. package/dist/atomic/p-b4cfedf1.js.map +1 -0
  170. package/dist/atomic/{p-4a2e7926.js → p-c0fbee64.js} +2 -2
  171. package/dist/atomic/p-cc6320d9.entry.js +2 -0
  172. package/dist/atomic/{p-c785d72d.entry.js.map → p-cc6320d9.entry.js.map} +1 -1
  173. package/dist/atomic/p-d189f1a5.js +2 -0
  174. package/dist/atomic/p-d189f1a5.js.map +1 -0
  175. package/dist/atomic/p-dac60354.js +2 -0
  176. package/dist/atomic/p-dac60354.js.map +1 -0
  177. package/dist/atomic/{p-d637dcbe.js → p-e58840b6.js} +2 -2
  178. package/dist/atomic/p-e58840b6.js.map +1 -0
  179. package/dist/atomic/p-ec1c5f46.js +3 -0
  180. package/dist/atomic/p-ec1c5f46.js.map +1 -0
  181. package/dist/atomic/p-f24c22bb.entry.js +2 -0
  182. package/dist/atomic/{p-6bb72ce5.entry.js.map → p-f24c22bb.entry.js.map} +1 -1
  183. package/dist/atomic/p-f2906e7c.entry.js +2 -0
  184. package/dist/atomic/{p-f2b42434.entry.js.map → p-f2906e7c.entry.js.map} +1 -1
  185. package/dist/atomic/themes/accessible.css +2 -0
  186. package/dist/atomic/themes/coveo.css +2 -0
  187. package/dist/cjs/_index.cjs.js +36 -6
  188. package/dist/cjs/_loader.cjs.js +2 -2
  189. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +20 -10
  190. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  191. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +9 -9
  192. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  193. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +14 -10
  194. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  195. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +7 -7
  196. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  197. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +3 -3
  198. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +34 -10
  199. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  200. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +20 -15
  201. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  202. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +11 -12
  203. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  204. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +62 -12
  205. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  206. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +7 -7
  207. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  208. package/dist/cjs/atomic-recs-list.cjs.entry.js +11 -12
  209. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  210. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +6 -6
  211. package/dist/cjs/atomic.cjs.js +2 -2
  212. package/dist/cjs/{date-utils-b362ad60.js → date-utils-aae1d713.js} +1 -47
  213. package/dist/cjs/{date-utils-b362ad60.js.map → date-utils-aae1d713.js.map} +1 -1
  214. package/dist/cjs/{display-options-dad31135.js → display-options-24763cf8.js} +44 -6
  215. package/dist/cjs/display-options-24763cf8.js.map +1 -0
  216. package/dist/cjs/{index-515ca559.js → index-3532822e.js} +11 -359
  217. package/dist/cjs/index-3532822e.js.map +1 -0
  218. package/dist/cjs/index.cjs.js.map +1 -1
  219. package/dist/cjs/{initialization-lit-stencil-common-utils-4ef7bf9c.js → initialization-lit-stencil-common-utils-f19f74c0.js} +1 -8
  220. package/dist/cjs/initialization-lit-stencil-common-utils-f19f74c0.js.map +1 -0
  221. package/dist/cjs/{initialization-utils-3a62b483.js → initialization-utils-51a423fe.js} +3 -3
  222. package/dist/cjs/{initialization-utils-3a62b483.js.map → initialization-utils-51a423fe.js.map} +1 -1
  223. package/dist/cjs/{popover-type-b1385b27.js → popover-type-22f285e1.js} +4 -1
  224. package/dist/cjs/popover-type-22f285e1.js.map +1 -0
  225. package/dist/cjs/{props-utils-4cc79d26.js → props-utils-4a99eda6.js} +3 -3
  226. package/dist/cjs/{props-utils-4cc79d26.js.map → props-utils-4a99eda6.js.map} +1 -1
  227. package/dist/cjs/{slot-utils-086dacac.js → slot-utils-987a7dd6.js} +1 -6
  228. package/dist/cjs/slot-utils-987a7dd6.js.map +1 -0
  229. package/dist/cjs/{stencil-accessibility-utils-1dcfe64c.js → stencil-accessibility-utils-e64abd7b.js} +2 -2
  230. package/dist/cjs/{stencil-accessibility-utils-1dcfe64c.js.map → stencil-accessibility-utils-e64abd7b.js.map} +1 -1
  231. package/dist/cjs/{stencil-button-580d6869.js → stencil-button-f39da03e.js} +2 -5
  232. package/dist/cjs/stencil-button-f39da03e.js.map +1 -0
  233. package/dist/cjs/{stencil-carousel-27149c5b.js → stencil-carousel-ba8e11b5.js} +3 -3
  234. package/dist/cjs/{stencil-carousel-27149c5b.js.map → stencil-carousel-ba8e11b5.js.map} +1 -1
  235. package/dist/cjs/{stencil-heading-41ec283d.js → stencil-heading-e2df37e4.js} +2 -2
  236. package/dist/cjs/{stencil-heading-41ec283d.js.map → stencil-heading-e2df37e4.js.map} +1 -1
  237. package/dist/cjs/{stencil-iconButton-8e927184.js → stencil-iconButton-f8b9fda0.js} +3 -3
  238. package/dist/cjs/{stencil-iconButton-8e927184.js.map → stencil-iconButton-f8b9fda0.js.map} +1 -1
  239. package/dist/cjs/{stencil-result-template-decorators-df459ee3.js → stencil-result-template-decorators-1f099c15.js} +3 -24
  240. package/dist/cjs/stencil-result-template-decorators-1f099c15.js.map +1 -0
  241. package/dist/cjs/{utils-ba796684.js → utils-2a022008.js} +1 -11
  242. package/dist/cjs/utils-2a022008.js.map +1 -0
  243. package/dist/cjs/version.cjs.js +2 -2
  244. package/dist/esm/_index.js +38 -8
  245. package/dist/esm/_loader.js +3 -3
  246. package/dist/esm/atomic-insight-folded-result-list.entry.js +20 -10
  247. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  248. package/dist/esm/atomic-insight-generated-answer.entry.js +9 -9
  249. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  250. package/dist/esm/atomic-insight-result-action.entry.js +12 -8
  251. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  252. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +7 -7
  253. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  254. package/dist/esm/atomic-insight-result-children-template.entry.js +3 -3
  255. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +33 -9
  256. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  257. package/dist/esm/atomic-insight-timeframe-facet.entry.js +18 -13
  258. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  259. package/dist/esm/atomic-ipx-recs-list.entry.js +11 -12
  260. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  261. package/dist/esm/atomic-ipx-refine-modal.entry.js +61 -11
  262. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  263. package/dist/esm/atomic-ipx-refine-toggle.entry.js +7 -7
  264. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  265. package/dist/esm/atomic-recs-list.entry.js +11 -12
  266. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  267. package/dist/esm/atomic-stencil-facet-date-input.entry.js +6 -6
  268. package/dist/esm/atomic.js +3 -3
  269. package/dist/esm/{date-utils-5656dd8f.js → date-utils-3b955e79.js} +2 -47
  270. package/dist/esm/{date-utils-5656dd8f.js.map → date-utils-3b955e79.js.map} +1 -1
  271. package/dist/esm/{display-options-63f2ec3c.js → display-options-d03040a8.js} +43 -5
  272. package/dist/esm/display-options-d03040a8.js.map +1 -0
  273. package/dist/esm/{index-0bcc50f8.js → index-3eb0b28e.js} +11 -359
  274. package/dist/esm/index-3eb0b28e.js.map +1 -0
  275. package/dist/esm/index.js.map +1 -1
  276. package/dist/esm/{initialization-lit-stencil-common-utils-097c357b.js → initialization-lit-stencil-common-utils-e7755434.js} +2 -8
  277. package/dist/esm/initialization-lit-stencil-common-utils-e7755434.js.map +1 -0
  278. package/dist/esm/{initialization-utils-958635e9.js → initialization-utils-82d28c63.js} +3 -3
  279. package/dist/esm/{initialization-utils-958635e9.js.map → initialization-utils-82d28c63.js.map} +1 -1
  280. package/dist/esm/popover-type-c85677ef.js +12 -0
  281. package/dist/esm/popover-type-c85677ef.js.map +1 -0
  282. package/dist/esm/{props-utils-a6744ec8.js → props-utils-e322e9dd.js} +3 -3
  283. package/dist/esm/{props-utils-a6744ec8.js.map → props-utils-e322e9dd.js.map} +1 -1
  284. package/dist/esm/{slot-utils-3a3874a2.js → slot-utils-df87a95a.js} +2 -6
  285. package/dist/esm/slot-utils-df87a95a.js.map +1 -0
  286. package/dist/esm/{stencil-accessibility-utils-2253e89c.js → stencil-accessibility-utils-69ea92b0.js} +2 -2
  287. package/dist/esm/{stencil-accessibility-utils-2253e89c.js.map → stencil-accessibility-utils-69ea92b0.js.map} +1 -1
  288. package/dist/esm/{stencil-button-f96c2b81.js → stencil-button-c25899df.js} +3 -3
  289. package/dist/esm/{stencil-button-f96c2b81.js.map → stencil-button-c25899df.js.map} +1 -1
  290. package/dist/esm/{stencil-carousel-bb5606d8.js → stencil-carousel-eac65a6c.js} +3 -3
  291. package/dist/esm/{stencil-carousel-bb5606d8.js.map → stencil-carousel-eac65a6c.js.map} +1 -1
  292. package/dist/esm/{stencil-heading-5ac0f5ff.js → stencil-heading-adb44de7.js} +2 -2
  293. package/dist/esm/{stencil-heading-5ac0f5ff.js.map → stencil-heading-adb44de7.js.map} +1 -1
  294. package/dist/esm/{stencil-iconButton-16be999d.js → stencil-iconButton-ed5804d3.js} +3 -3
  295. package/dist/esm/{stencil-iconButton-16be999d.js.map → stencil-iconButton-ed5804d3.js.map} +1 -1
  296. package/dist/esm/{stencil-result-template-decorators-e758f409.js → stencil-result-template-decorators-9cbe1e1c.js} +4 -24
  297. package/dist/esm/stencil-result-template-decorators-9cbe1e1c.js.map +1 -0
  298. package/dist/esm/{utils-4b7a065d.js → utils-6771fbc6.js} +2 -11
  299. package/dist/esm/utils-6771fbc6.js.map +1 -0
  300. package/dist/esm/version.js +2 -2
  301. package/dist/types/components/commerce/atomic-commerce-refine-modal/atomic-commerce-refine-modal.d.ts +1 -0
  302. package/dist/types/components/commerce/atomic-commerce-refine-toggle/atomic-commerce-refine-toggle.d.ts +1 -0
  303. package/dist/types/components/commerce/atomic-commerce-search-box/atomic-commerce-search-box.d.ts +1 -0
  304. package/dist/types/components/commerce/atomic-product-link/atomic-product-link.d.ts +1 -0
  305. package/dist/types/components/common/atomic-generated-answer-feedback-modal/atomic-generated-answer-feedback-modal.d.ts +72 -0
  306. package/dist/types/components/common/atomic-rating/rating.d.ts +1 -0
  307. package/dist/types/components/common/atomic-result-placeholder/atomic-result-placeholder.d.ts +6 -0
  308. package/dist/types/components/common/atomic-smart-snippet-expandable-answer/atomic-smart-snippet-expandable-answer.d.ts +1 -1
  309. package/dist/types/components/common/breadbox/breadcrumb-content.d.ts +1 -0
  310. package/dist/types/components/common/generated-answer/generated-answer-controller.d.ts +1 -0
  311. package/dist/types/components/common/generated-answer/render-answer-content.d.ts +8 -9
  312. package/dist/types/components/common/generated-answer/render-card-header.d.ts +14 -0
  313. package/dist/types/components/common/generated-answer/render-custom-no-answer-message.d.ts +1 -6
  314. package/dist/types/components/common/generated-answer/show-button.d.ts +1 -0
  315. package/dist/types/components/common/index.d.ts +1 -0
  316. package/dist/types/components/common/item-list/table-layout.d.ts +1 -0
  317. package/dist/types/components/common/layout/item-layout-sections.d.ts +1 -1
  318. package/dist/types/components/common/no-items/magnifying-glass.d.ts +1 -0
  319. package/dist/types/components/common/search-box/submit-button.d.ts +1 -0
  320. package/dist/types/components/common/search-box/text-area-clear-button.d.ts +1 -0
  321. package/dist/types/components/common/smart-snippets/smart-snippet-feedback-banner.d.ts +1 -0
  322. package/dist/types/components/common/suggestions/query-suggestions.d.ts +1 -0
  323. package/dist/types/components/common/suggestions/recent-queries.d.ts +1 -0
  324. package/dist/types/components/insight/atomic-insight-refine-modal/atomic-insight-refine-modal.d.ts +51 -12
  325. package/dist/types/components/insight/atomic-insight-refine-toggle/atomic-insight-refine-toggle.d.ts +1 -0
  326. package/dist/types/components/insight/atomic-insight-result-action-bar/atomic-insight-result-action-bar.d.ts +12 -4
  327. package/dist/types/components/insight/atomic-insight-result-attach-to-case-indicator/atomic-insight-result-attach-to-case-indicator.d.ts +15 -10
  328. package/dist/types/components/insight/atomic-insight-result-list/atomic-insight-result-list.d.ts +72 -0
  329. package/dist/types/components/insight/atomic-insight-result-list/insight-list-display.tw.css.d.ts +2 -0
  330. package/dist/types/components/insight/atomic-insight-result-quickview-action/atomic-insight-result-quickview-action.d.ts +41 -18
  331. package/dist/types/components/insight/atomic-insight-search-box/atomic-insight-search-box.d.ts +1 -0
  332. package/dist/types/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.d.ts +73 -0
  333. package/dist/types/components/insight/atomic-insight-smart-snippet/atomic-insight-smart-snippet.tw.css.d.ts +2 -0
  334. package/dist/types/components/insight/atomic-insight-user-actions-modal/atomic-insight-user-actions-modal.d.ts +67 -0
  335. package/dist/types/components/insight/atomic-insight-user-actions-session/atomic-insight-user-actions-session.d.ts +46 -0
  336. package/dist/types/components/insight/{user-actions/atomic-insight-user-actions-session → atomic-insight-user-actions-session}/user-action.d.ts +2 -2
  337. package/dist/types/components/insight/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.d.ts +57 -0
  338. package/dist/types/components/insight/atomic-insight-user-actions-toggle/atomic-insight-user-actions-toggle.d.ts +1 -0
  339. package/dist/types/components/insight/index.d.ts +9 -0
  340. package/dist/types/components/ipx/atomic-ipx-body/ipx-body-styles.d.ts +1 -0
  341. package/dist/types/components/ipx/atomic-ipx-body/ipx-body.d.ts +13 -0
  342. package/dist/types/components/ipx/atomic-ipx-embedded/atomic-ipx-embedded.d.ts +8 -0
  343. package/dist/types/components/ipx/atomic-ipx-modal/atomic-ipx-modal.d.ts +51 -18
  344. package/dist/types/components/ipx/atomic-ipx-result-link/atomic-ipx-result-link.d.ts +34 -15
  345. package/dist/types/components/ipx/atomic-ipx-result-link/atomic-ipx-result-link.tw.css.d.ts +2 -0
  346. package/dist/types/components/ipx/index.d.ts +2 -0
  347. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +7 -4
  348. package/dist/types/components/search/atomic-notifications/atomic-notifications.d.ts +1 -0
  349. package/dist/types/components/search/atomic-quickview/atomic-quickview.d.ts +1 -0
  350. package/dist/types/components/search/atomic-refine-modal/atomic-refine-modal.d.ts +1 -0
  351. package/dist/types/components/search/atomic-refine-toggle/atomic-refine-toggle.d.ts +1 -0
  352. package/dist/types/components/search/atomic-result-link/atomic-result-link.d.ts +2 -2
  353. package/dist/types/components/search/atomic-search-box/atomic-search-box.d.ts +1 -0
  354. package/dist/types/components/search/atomic-smart-snippet/atomic-smart-snippet.d.ts +1 -0
  355. package/dist/types/components.d.ts +4 -547
  356. package/docs/atomic-docs.json +1 -277
  357. package/package.json +7 -5
  358. package/dist/atomic/components/atomic-generated-answer-feedback-modal.d.ts +0 -11
  359. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +0 -435
  360. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js.map +0 -1
  361. package/dist/atomic/components/atomic-insight-refine-modal.d.ts +0 -11
  362. package/dist/atomic/components/atomic-insight-refine-modal.js +0 -127
  363. package/dist/atomic/components/atomic-insight-refine-modal.js.map +0 -1
  364. package/dist/atomic/components/atomic-insight-result-action-bar.d.ts +0 -11
  365. package/dist/atomic/components/atomic-insight-result-action-bar.js +0 -41
  366. package/dist/atomic/components/atomic-insight-result-action-bar.js.map +0 -1
  367. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.d.ts +0 -11
  368. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +0 -75
  369. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +0 -1
  370. package/dist/atomic/components/atomic-insight-result-list.d.ts +0 -11
  371. package/dist/atomic/components/atomic-insight-result-list.js +0 -170
  372. package/dist/atomic/components/atomic-insight-result-list.js.map +0 -1
  373. package/dist/atomic/components/atomic-insight-result-quickview-action.d.ts +0 -11
  374. package/dist/atomic/components/atomic-insight-result-quickview-action.js +0 -149
  375. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +0 -1
  376. package/dist/atomic/components/atomic-insight-smart-snippet.d.ts +0 -11
  377. package/dist/atomic/components/atomic-insight-smart-snippet.js +0 -186
  378. package/dist/atomic/components/atomic-insight-smart-snippet.js.map +0 -1
  379. package/dist/atomic/components/atomic-insight-user-actions-modal.d.ts +0 -11
  380. package/dist/atomic/components/atomic-insight-user-actions-modal.js +0 -129
  381. package/dist/atomic/components/atomic-insight-user-actions-modal.js.map +0 -1
  382. package/dist/atomic/components/atomic-insight-user-actions-session.d.ts +0 -11
  383. package/dist/atomic/components/atomic-insight-user-actions-session.js +0 -8
  384. package/dist/atomic/components/atomic-insight-user-actions-session.js.map +0 -1
  385. package/dist/atomic/components/atomic-insight-user-actions-session2.js +0 -185
  386. package/dist/atomic/components/atomic-insight-user-actions-session2.js.map +0 -1
  387. package/dist/atomic/components/atomic-insight-user-actions-timeline.d.ts +0 -11
  388. package/dist/atomic/components/atomic-insight-user-actions-timeline.js +0 -8
  389. package/dist/atomic/components/atomic-insight-user-actions-timeline.js.map +0 -1
  390. package/dist/atomic/components/atomic-insight-user-actions-timeline2.js +0 -307
  391. package/dist/atomic/components/atomic-insight-user-actions-timeline2.js.map +0 -1
  392. package/dist/atomic/components/atomic-ipx-body.d.ts +0 -11
  393. package/dist/atomic/components/atomic-ipx-body.js +0 -8
  394. package/dist/atomic/components/atomic-ipx-body.js.map +0 -1
  395. package/dist/atomic/components/atomic-ipx-body2.js +0 -91
  396. package/dist/atomic/components/atomic-ipx-body2.js.map +0 -1
  397. package/dist/atomic/components/atomic-ipx-modal.d.ts +0 -11
  398. package/dist/atomic/components/atomic-ipx-modal.js +0 -110
  399. package/dist/atomic/components/atomic-ipx-modal.js.map +0 -1
  400. package/dist/atomic/components/atomic-ipx-result-link.d.ts +0 -11
  401. package/dist/atomic/components/atomic-ipx-result-link.js +0 -198
  402. package/dist/atomic/components/atomic-ipx-result-link.js.map +0 -1
  403. package/dist/atomic/components/atomic-suggestion-renderer.d.ts +0 -11
  404. package/dist/atomic/components/atomic-suggestion-renderer.js +0 -123
  405. package/dist/atomic/components/atomic-suggestion-renderer.js.map +0 -1
  406. package/dist/atomic/components/attributes-slot.js +0 -30
  407. package/dist/atomic/components/attributes-slot.js.map +0 -1
  408. package/dist/atomic/components/close.js +0 -5
  409. package/dist/atomic/components/close.js.map +0 -1
  410. package/dist/atomic/components/export-parts.js +0 -5
  411. package/dist/atomic/components/export-parts.js.map +0 -1
  412. package/dist/atomic/components/preview.js +0 -8
  413. package/dist/atomic/components/preview.js.map +0 -1
  414. package/dist/atomic/components/replace-breakpoint-utils.js +0 -41
  415. package/dist/atomic/components/replace-breakpoint-utils.js.map +0 -1
  416. package/dist/atomic/components/stencil-fieldset-group.js +0 -12
  417. package/dist/atomic/components/stencil-fieldset-group.js.map +0 -1
  418. package/dist/atomic/components/stencil-item-list-guard.js +0 -17
  419. package/dist/atomic/components/stencil-item-list-guard.js.map +0 -1
  420. package/dist/atomic/components/stencil-modal.js +0 -61
  421. package/dist/atomic/components/stencil-modal.js.map +0 -1
  422. package/dist/atomic/components/stencil-radio-button.js +0 -75
  423. package/dist/atomic/components/stencil-radio-button.js.map +0 -1
  424. package/dist/atomic/components/stencil-result-template-decorators.js +0 -130
  425. package/dist/atomic/components/stencil-result-template-decorators.js.map +0 -1
  426. package/dist/atomic/p-01e5fdc1.entry.js +0 -2
  427. package/dist/atomic/p-01e5fdc1.entry.js.map +0 -1
  428. package/dist/atomic/p-02089c14.js +0 -2
  429. package/dist/atomic/p-0d58f131.entry.js +0 -2
  430. package/dist/atomic/p-0d58f131.entry.js.map +0 -1
  431. package/dist/atomic/p-2ad5f46e.entry.js +0 -2
  432. package/dist/atomic/p-2ad5f46e.entry.js.map +0 -1
  433. package/dist/atomic/p-3b46c4c2.entry.js +0 -2
  434. package/dist/atomic/p-3b46c4c2.entry.js.map +0 -1
  435. package/dist/atomic/p-406f7e5a.js +0 -2
  436. package/dist/atomic/p-42d7acb3.js +0 -2
  437. package/dist/atomic/p-42d7acb3.js.map +0 -1
  438. package/dist/atomic/p-44eda272.entry.js +0 -2
  439. package/dist/atomic/p-44eda272.entry.js.map +0 -1
  440. package/dist/atomic/p-519b3517.entry.js +0 -2
  441. package/dist/atomic/p-519b3517.entry.js.map +0 -1
  442. package/dist/atomic/p-5b41c16c.js +0 -2
  443. package/dist/atomic/p-5b41c16c.js.map +0 -1
  444. package/dist/atomic/p-66d84fd8.js +0 -2
  445. package/dist/atomic/p-66d84fd8.js.map +0 -1
  446. package/dist/atomic/p-6b66c9da.entry.js +0 -2
  447. package/dist/atomic/p-6b66c9da.entry.js.map +0 -1
  448. package/dist/atomic/p-6bb72ce5.entry.js +0 -2
  449. package/dist/atomic/p-6bbff681.entry.js +0 -2
  450. package/dist/atomic/p-6bbff681.entry.js.map +0 -1
  451. package/dist/atomic/p-74975270.js +0 -2
  452. package/dist/atomic/p-74975270.js.map +0 -1
  453. package/dist/atomic/p-7a4bad93.entry.js +0 -2
  454. package/dist/atomic/p-7a4bad93.entry.js.map +0 -1
  455. package/dist/atomic/p-7ac9072b.js +0 -2
  456. package/dist/atomic/p-7ac9072b.js.map +0 -1
  457. package/dist/atomic/p-898fd613.js +0 -3
  458. package/dist/atomic/p-898fd613.js.map +0 -1
  459. package/dist/atomic/p-8b9982db.entry.js +0 -2
  460. package/dist/atomic/p-8b9982db.entry.js.map +0 -1
  461. package/dist/atomic/p-904f3adb.js +0 -2
  462. package/dist/atomic/p-904f3adb.js.map +0 -1
  463. package/dist/atomic/p-90f23fb3.entry.js +0 -2
  464. package/dist/atomic/p-91a9b3f1.js +0 -2
  465. package/dist/atomic/p-91a9b3f1.js.map +0 -1
  466. package/dist/atomic/p-92156d1b.entry.js +0 -2
  467. package/dist/atomic/p-92156d1b.entry.js.map +0 -1
  468. package/dist/atomic/p-a3edbb0a.entry.js +0 -2
  469. package/dist/atomic/p-a62f2bf9.js +0 -2
  470. package/dist/atomic/p-a62f2bf9.js.map +0 -1
  471. package/dist/atomic/p-b01312d5.entry.js +0 -2
  472. package/dist/atomic/p-b01312d5.entry.js.map +0 -1
  473. package/dist/atomic/p-b56e0b21.entry.js +0 -2
  474. package/dist/atomic/p-b56e0b21.entry.js.map +0 -1
  475. package/dist/atomic/p-b9caa130.entry.js +0 -2
  476. package/dist/atomic/p-b9caa130.entry.js.map +0 -1
  477. package/dist/atomic/p-bedd6d62.js +0 -2
  478. package/dist/atomic/p-bedd6d62.js.map +0 -1
  479. package/dist/atomic/p-c785d72d.entry.js +0 -2
  480. package/dist/atomic/p-ce30fcf5.entry.js +0 -2
  481. package/dist/atomic/p-ce30fcf5.entry.js.map +0 -1
  482. package/dist/atomic/p-d03289b0.entry.js +0 -2
  483. package/dist/atomic/p-d03289b0.entry.js.map +0 -1
  484. package/dist/atomic/p-d0ec450e.entry.js +0 -2
  485. package/dist/atomic/p-d0ec450e.entry.js.map +0 -1
  486. package/dist/atomic/p-d637dcbe.js.map +0 -1
  487. package/dist/atomic/p-d7bf3aa2.js +0 -2
  488. package/dist/atomic/p-d7bf3aa2.js.map +0 -1
  489. package/dist/atomic/p-dcd04374.js +0 -2
  490. package/dist/atomic/p-dcd04374.js.map +0 -1
  491. package/dist/atomic/p-e283bb5a.js +0 -2
  492. package/dist/atomic/p-e283bb5a.js.map +0 -1
  493. package/dist/atomic/p-e2e4d4f3.entry.js +0 -9
  494. package/dist/atomic/p-e2e4d4f3.entry.js.map +0 -1
  495. package/dist/atomic/p-e9fff991.js +0 -2
  496. package/dist/atomic/p-e9fff991.js.map +0 -1
  497. package/dist/atomic/p-ec99339b.js +0 -2
  498. package/dist/atomic/p-ec99339b.js.map +0 -1
  499. package/dist/atomic/p-f2b42434.entry.js +0 -2
  500. package/dist/atomic/p-f3a9a28b.entry.js +0 -2
  501. package/dist/atomic/p-fafae456.js +0 -2
  502. package/dist/atomic/p-fafae456.js.map +0 -1
  503. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +0 -415
  504. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +0 -1
  505. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +0 -112
  506. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +0 -1
  507. package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js +0 -30
  508. package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js.map +0 -1
  509. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +0 -61
  510. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +0 -1
  511. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +0 -152
  512. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +0 -1
  513. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +0 -138
  514. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +0 -1
  515. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +0 -170
  516. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +0 -1
  517. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +0 -95
  518. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +0 -1
  519. package/dist/cjs/atomic-insight-user-actions-session.cjs.entry.js +0 -170
  520. package/dist/cjs/atomic-insight-user-actions-session.cjs.entry.js.map +0 -1
  521. package/dist/cjs/atomic-insight-user-actions-timeline.cjs.entry.js +0 -285
  522. package/dist/cjs/atomic-insight-user-actions-timeline.cjs.entry.js.map +0 -1
  523. package/dist/cjs/atomic-ipx-body.cjs.entry.js +0 -80
  524. package/dist/cjs/atomic-ipx-body.cjs.entry.js.map +0 -1
  525. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +0 -86
  526. package/dist/cjs/atomic-ipx-modal.cjs.entry.js.map +0 -1
  527. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +0 -126
  528. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +0 -1
  529. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +0 -99
  530. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js.map +0 -1
  531. package/dist/cjs/attributes-slot-bb450885.js +0 -32
  532. package/dist/cjs/attributes-slot-bb450885.js.map +0 -1
  533. package/dist/cjs/close-20739950.js +0 -7
  534. package/dist/cjs/close-20739950.js.map +0 -1
  535. package/dist/cjs/display-options-dad31135.js.map +0 -1
  536. package/dist/cjs/export-parts-878c454a.js +0 -7
  537. package/dist/cjs/export-parts-878c454a.js.map +0 -1
  538. package/dist/cjs/index-515ca559.js.map +0 -1
  539. package/dist/cjs/initialization-lit-stencil-common-utils-4ef7bf9c.js.map +0 -1
  540. package/dist/cjs/popover-type-b1385b27.js.map +0 -1
  541. package/dist/cjs/preview-8eebe5d5.js +0 -10
  542. package/dist/cjs/preview-8eebe5d5.js.map +0 -1
  543. package/dist/cjs/replace-breakpoint-utils-c365392f.js +0 -43
  544. package/dist/cjs/replace-breakpoint-utils-c365392f.js.map +0 -1
  545. package/dist/cjs/result-utils-30919a35.js +0 -67
  546. package/dist/cjs/result-utils-30919a35.js.map +0 -1
  547. package/dist/cjs/slot-utils-086dacac.js.map +0 -1
  548. package/dist/cjs/stencil-button-580d6869.js.map +0 -1
  549. package/dist/cjs/stencil-fieldset-group-c1b075b6.js +0 -14
  550. package/dist/cjs/stencil-fieldset-group-c1b075b6.js.map +0 -1
  551. package/dist/cjs/stencil-item-list-guard-4dfa8e37.js +0 -19
  552. package/dist/cjs/stencil-item-list-guard-4dfa8e37.js.map +0 -1
  553. package/dist/cjs/stencil-modal-9035d38e.js +0 -64
  554. package/dist/cjs/stencil-modal-9035d38e.js.map +0 -1
  555. package/dist/cjs/stencil-radio-button-6a4181f4.js +0 -77
  556. package/dist/cjs/stencil-radio-button-6a4181f4.js.map +0 -1
  557. package/dist/cjs/stencil-result-template-decorators-df459ee3.js.map +0 -1
  558. package/dist/cjs/utils-ba796684.js.map +0 -1
  559. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +0 -411
  560. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +0 -1
  561. package/dist/esm/atomic-insight-refine-modal.entry.js +0 -108
  562. package/dist/esm/atomic-insight-refine-modal.entry.js.map +0 -1
  563. package/dist/esm/atomic-insight-result-action-bar.entry.js +0 -26
  564. package/dist/esm/atomic-insight-result-action-bar.entry.js.map +0 -1
  565. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +0 -57
  566. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +0 -1
  567. package/dist/esm/atomic-insight-result-list.entry.js +0 -148
  568. package/dist/esm/atomic-insight-result-list.entry.js.map +0 -1
  569. package/dist/esm/atomic-insight-result-quickview-action.entry.js +0 -134
  570. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +0 -1
  571. package/dist/esm/atomic-insight-smart-snippet.entry.js +0 -166
  572. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +0 -1
  573. package/dist/esm/atomic-insight-user-actions-modal.entry.js +0 -91
  574. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +0 -1
  575. package/dist/esm/atomic-insight-user-actions-session.entry.js +0 -166
  576. package/dist/esm/atomic-insight-user-actions-session.entry.js.map +0 -1
  577. package/dist/esm/atomic-insight-user-actions-timeline.entry.js +0 -281
  578. package/dist/esm/atomic-insight-user-actions-timeline.entry.js.map +0 -1
  579. package/dist/esm/atomic-ipx-body.entry.js +0 -76
  580. package/dist/esm/atomic-ipx-body.entry.js.map +0 -1
  581. package/dist/esm/atomic-ipx-modal.entry.js +0 -82
  582. package/dist/esm/atomic-ipx-modal.entry.js.map +0 -1
  583. package/dist/esm/atomic-ipx-result-link.entry.js +0 -122
  584. package/dist/esm/atomic-ipx-result-link.entry.js.map +0 -1
  585. package/dist/esm/atomic-suggestion-renderer.entry.js +0 -95
  586. package/dist/esm/atomic-suggestion-renderer.entry.js.map +0 -1
  587. package/dist/esm/attributes-slot-b43923b8.js +0 -30
  588. package/dist/esm/attributes-slot-b43923b8.js.map +0 -1
  589. package/dist/esm/close-ff816971.js +0 -5
  590. package/dist/esm/close-ff816971.js.map +0 -1
  591. package/dist/esm/display-options-63f2ec3c.js.map +0 -1
  592. package/dist/esm/export-parts-14a53e2c.js +0 -5
  593. package/dist/esm/export-parts-14a53e2c.js.map +0 -1
  594. package/dist/esm/index-0bcc50f8.js.map +0 -1
  595. package/dist/esm/initialization-lit-stencil-common-utils-097c357b.js.map +0 -1
  596. package/dist/esm/popover-type-895c0e24.js +0 -10
  597. package/dist/esm/popover-type-895c0e24.js.map +0 -1
  598. package/dist/esm/preview-bb7e7a89.js +0 -8
  599. package/dist/esm/preview-bb7e7a89.js.map +0 -1
  600. package/dist/esm/replace-breakpoint-utils-2626a500.js +0 -41
  601. package/dist/esm/replace-breakpoint-utils-2626a500.js.map +0 -1
  602. package/dist/esm/result-utils-8978d15e.js +0 -64
  603. package/dist/esm/result-utils-8978d15e.js.map +0 -1
  604. package/dist/esm/slot-utils-3a3874a2.js.map +0 -1
  605. package/dist/esm/stencil-fieldset-group-6a9a867f.js +0 -12
  606. package/dist/esm/stencil-fieldset-group-6a9a867f.js.map +0 -1
  607. package/dist/esm/stencil-item-list-guard-7eaabe92.js +0 -17
  608. package/dist/esm/stencil-item-list-guard-7eaabe92.js.map +0 -1
  609. package/dist/esm/stencil-modal-0471908f.js +0 -61
  610. package/dist/esm/stencil-modal-0471908f.js.map +0 -1
  611. package/dist/esm/stencil-radio-button-647a8428.js +0 -75
  612. package/dist/esm/stencil-radio-button-647a8428.js.map +0 -1
  613. package/dist/esm/stencil-result-template-decorators-e758f409.js.map +0 -1
  614. package/dist/esm/utils-4b7a065d.js.map +0 -1
  615. package/dist/types/components/common/atomic-suggestion-renderer/atomic-suggestion-renderer.d.ts +0 -29
  616. package/dist/types/components/common/generated-answer/atomic-generated-answer-feedback/atomic-generated-answer-feedback-modal.d.ts +0 -61
  617. package/dist/types/components/insight/result-lists/atomic-insight-result-list/atomic-insight-result-list.d.ts +0 -49
  618. package/dist/types/components/insight/smart-snippets/atomic-insight-smart-snippet/atomic-insight-smart-snippet.d.ts +0 -48
  619. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-modal/atomic-insight-user-actions-modal.d.ts +0 -34
  620. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/atomic-insight-user-actions-session.d.ts +0 -32
  621. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-session/stencil-user-action.d.ts +0 -12
  622. package/dist/types/components/insight/user-actions/atomic-insight-user-actions-timeline/atomic-insight-user-actions-timeline.d.ts +0 -46
  623. package/dist/types/components/ipx/atomic-ipx-body/atomic-ipx-body.d.ts +0 -23
  624. /package/dist/atomic/{p-1da0ec8c.entry.js.map → p-0698ccf1.entry.js.map} +0 -0
  625. /package/dist/atomic/{p-0f466ffb.js.map → p-0c4a4e30.js.map} +0 -0
  626. /package/dist/atomic/{p-94976bed.js.map → p-4a32511f.js.map} +0 -0
  627. /package/dist/atomic/{p-02089c14.js.map → p-4cab9607.js.map} +0 -0
  628. /package/dist/atomic/{p-0454df94.js.map → p-578d761c.js.map} +0 -0
  629. /package/dist/atomic/{p-be8cc132.js.map → p-677f9c40.js.map} +0 -0
  630. /package/dist/atomic/{p-6e706321.entry.js.map → p-77250a6b.entry.js.map} +0 -0
  631. /package/dist/atomic/{p-f2243b33.js.map → p-b3524b97.js.map} +0 -0
  632. /package/dist/atomic/{p-4a2e7926.js.map → p-c0fbee64.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"display-options.js","mappings":";;;;;;;AAAA;AAmBA;;;MAGa,wBAAwB,GAEjC,CAAC,KAAK;IACR,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE;QAC9B,OAAO;KACR;IACD,QAAQ,KAAK,CAAC,OAAO;QACnB,KAAK,OAAO;YACV,OAAO,EAAC,8BAA8B,OAAK,KAAK,GAAI,CAAC;QACvD;YACE,OAAO,EAAC,kBAAkB,OAAK,KAAK,GAAI,CAAC;KAC5C;AACH,EAAE;AAEF;;;AAGO,MAAM,kBAAkB,GAAgD,CAC7E,KAAK;IAEL,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,KAAK,CAAC,oBAAoB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAC3D,iCACE,GAAG,EAAE,eAAe,CAAC,EAAE,EACvB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,MAAM,EAChC,SAAS,EAAE,KAAK,CAAC,SAAS,GACC,CAC9B,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAEhC,CAAC,KAAK;IACR,QACE,uCACE,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,IAAI,EAAE,KAAK,CAAC,oBAAoB,GACC,EACnC;AACJ,CAAC;;ACvDD;;;MAGa,gBAAgB,GAA+C,CAC1E,KAAK,EACL,QAAQ;IAER,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;QAClD,OAAO;KACR;IAED,OAAO,EAAC,QAAQ,WAAK,QAAQ,CAAY,CAAC;AAC5C;;MCJsB,gBAAgB;IAapC,YACU,KAAsC,EACtC,YAIP;QALO,UAAK,GAAL,KAAK,CAAiC;QACtC,iBAAY,GAAZ,YAAY,CAInB;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QAC3C,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAChC;IAEO,MAAM,uBAAuB;QACnC,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,GAAG,CACvC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,qBAAqB;YAC1D,IAAI,EAAE,aAAa,IAAI,qBAAqB,CAAC,EAAE;gBAC7C,MAAM,cAAc,CAAC,WAAW,CAC7B,qBAAqC,CAAC,OAAO,CAAC,WAAW,EAAE,CAC7D,CAAC;aACH;YAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;aACtC;YACD,OAAO,QAAQ,CAAC;SACjB,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,CAChB,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,sBAAsB;cACxD,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;cAC5B,EAAE,EACN,MAAM,CACN,eAAe,CAAC,MAAM,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAI1C,CACJ,CAAC;QAEF,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,KAAK,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;KAC9C;IAEM,kBAAkB,CAAC,IAAc;QACtC,OAAO,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CAAE,CAAC;KACnD;IAEM,sBAAsB,CAAC,IAAc;QAC1C,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAE,CAAC;KACvD;IAEM,2BAA2B;QAChC,OAAO,QAAQ,CAAC,sBAAsB,EAAE,CAAC;KAC1C;IAED,IAAW,mBAAmB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,2BAA2B,EAAE,CAAC;KACjD;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;KACzC;;;MC/EU,sBAAuB,SAAQ,gBAAwB;IAClE,YACE,KAA8D,EACtD,kBAA+B;QAEvC,KAAK,CAAC,KAAK,EAAE,MAAM,2BAA2B,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAF/D,uBAAkB,GAAlB,kBAAkB,CAAa;KAGxC;;IAGS,mBAAmB;QAK3B,MAAM,OAAO,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAC5D,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,sBAAsB,EAAE,CAAC;QACtD,MAAM,UAAU,GAAG;;QAEf,IAAI,CAAC,kBAAkB,GAAG,gCAAgC,IAAI,CAAC,kBAAkB,QAAQ,GAAG,EAAE;;KAEjG,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACxD,YAAY,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;QAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAC9C,OAAO;YACL,OAAO;YACP,WAAW;YACX,UAAU,EAAE,EAAE;SACf,CAAC;KACH;;;ACpCH;;;MAGa,cAAc,GAA6C,CACtE,EAAC,OAAO,EAAE,WAAW,EAAC,EACtB,QAAQ;IAER,IAAI,OAAO,KAAK,OAAO,EAAE;QACvB,OAAO,EAAC,WAAW,IAAC,WAAW,EAAE,WAAW,OAAM,QAAQ,CAAe,CAAC;KAC3E;IAED,QACE,EAAC,WAAW,IAAC,WAAW,EAAE,WAAW;QACnC,WAAK,KAAK,EAAE,aAAa,WAAW,EAAE,EAAE,IAAI,EAAC,aAAa,IACvD,QAAQ,CACL,CACM,EACd;AACJ,EAAE;AAEF,MAAM,WAAW,GAEb,CAAC,EAAC,WAAW,EAAC,EAAE,QAAQ;IAC1B,OAAO,WAAK,KAAK,EAAE,gBAAgB,WAAW,EAAE,OAAM,QAAQ,CAAO,CAAC;AACxE,CAAC;;MCUY,cAAc;IAKzB,YAAoB,KAA0B;QAA1B,UAAK,GAAL,KAAK,CAAqB;QAC5C,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,MAAM,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;YACjD,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;SACvC,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;IAEM,WAAW,CAChB,gBAAwB,EACxB,gBAAwB,EACxB,OAA2B,EAC3B,SAA+B;QAE/B,OAAO,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;KACvE;IAEM,eAAe,CAAC,OAAoB,EAAE,WAAmB;QAC9D,IAAI,WAAW,KAAK,CAAC,EAAE;YACrB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;SAC9B;QACD,IAAI,WAAW,KAAK,IAAI,CAAC,oBAAoB,EAAE;YAC7C,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,MAAM,EAAE;YACpE,OAAO;SACR;QAED,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,MAAM,cAAc,GAAG,2BAA2B,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;QACvE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;KACxD;IAEM,oBAAoB;QACzB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC;QACjE,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;KAClD;IAEM,MAAM,iCAAiC;QAC5C,MAAM,KAAK,EAAE,CAAC;QACd,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO;YAC/B,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE;gBAC7B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;aAChC;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;gBACvC,MAAM,KAAK,EAAE,CAAC;gBACd,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;oBACpD,MAAM,cAAc,GAClB,2BAA2B,CAAC,IAAI,CAAC,aAAa,CAAC;wBAC/C,IAAI,CAAC,aAAa,CAAC;oBACrB,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBACvD,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;oBACrC,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;oBAC/B,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,CAAC;iBACX;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ;;;AC9FH,SAAS,eAAe,CAAC,OAA0B;IACjD,QAAQ,OAAO;QACb,KAAK,MAAM;YACT,OAAO,cAAc,CAAC;QACxB,KAAK,OAAO;YACV,OAAO,eAAe,CAAC;QACzB;YACE,OAAO,cAAc,CAAC;KACzB;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAA2B;IAClD,QAAQ,OAAO;QACb,KAAK,aAAa;YAChB,OAAO,qBAAqB,CAAC;QAC/B,KAAK,SAAS;YACZ,OAAO,iBAAiB,CAAC;QAC3B;YACE,OAAO,gBAAgB,CAAC;KAC3B;AACH,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,QAAQ,KAAK;QACX,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,KAAK,OAAO;YACV,OAAO,aAAa,CAAC;QACvB,KAAK,MAAM;YACT,OAAO,YAAY,CAAC;QACtB;YACE,OAAO,YAAY,CAAC;KACvB;AACH,CAAC;SAEeA,2BAAyB,CACvC,OAA0B,EAC1B,OAA2B,EAC3B,KAA2B,EAC3B,SAAkB,EAClB,YAAqB;IAErB,MAAM,OAAO,GAAG,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IAE/D,IAAI,SAAS,EAAE;QACb,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;KACzB;IAED,IAAI,YAAY,EAAE;QAChB,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC7B;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,CAAC;SAEe,qBAAqB,CACnC,OAA0B,EAC1B,OAA2B,EAC3B,KAA2B;IAE3B,MAAM,OAAO,GAAG;QACd,eAAe,CAAC,OAAO,CAAC;QACxB,eAAe,CAAC,OAAO,CAAC;QACxB,aAAa,CAAC,KAAK,CAAC;KACrB,CAAC;IACF,OAAO,OAAO,CAAC;AACjB;;ACzCA;;;MAGa,yBAAyB,GACpCC;;;;","names":["getItemListDisplayClasses","getItemListDisplayClassesImport"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/item-list/stencil-item-display-guard.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/result-template-provider.ts","src/components/common/item-list/stencil-display-wrapper.tsx","src/components/common/item-list/stencil-item-list-common.tsx","src/components/common/layout/item-layout-utils.ts","src/components/common/layout/display-options.ts"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\ninterface ItemDisplayGuardProps {\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ItemDisplayGuard: FunctionalComponent<ItemDisplayGuardProps> = (\n props,\n children\n) => {\n if (!props.hasItems || !props.firstRequestExecuted) {\n return;\n }\n\n return <Fragment>{...children}</Fragment>;\n};\n","import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {ItemTarget} from '@/src/components/common/layout/item-layout-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n\nexport class ResultTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {ItemDisplayLayout} from '../layout/display-options.js';\n\ninterface DisplayWrapperProps {\n display: ItemDisplayLayout;\n listClasses: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayWrapper: FunctionalComponent<DisplayWrapperProps> = (\n {display, listClasses},\n children\n) => {\n if (display === 'table') {\n return <ListWrapper listClasses={listClasses}>{...children}</ListWrapper>;\n }\n\n return (\n <ListWrapper listClasses={listClasses}>\n <div class={`list-root ${listClasses}`} part=\"result-list\">\n {children}\n </div>\n </ListWrapper>\n );\n};\n\nconst ListWrapper: FunctionalComponent<\n Pick<DisplayWrapperProps, 'listClasses'>\n> = ({listClasses}, children) => {\n return <div class={`list-wrapper ${listClasses}`}>{...children}</div>;\n};\n","import {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {\n FocusTargetController,\n getFirstFocusableDescendant,\n} from '../../../utils/stencil-accessibility-utils';\nimport {defer, once} from '../../../utils/utils';\nimport {CommerceStore} from '../../commerce/atomic-commerce-interface/store';\nimport {CommerceRecommendationStore} from '../../commerce/atomic-commerce-recommendation-interface/store';\nimport {InsightStore} from '../../insight/atomic-insight-interface/store';\nimport {RecsStore} from '../../recommendations/atomic-recs-interface/store';\nimport {SearchStore} from '../../search/atomic-search-interface/store';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\n\nexport const resultComponentClass = 'result-component';\n\nexport type ItemRenderingFunction<SpecificResult extends AnyItem = AnyItem> =\n | ((\n result: SpecificResult,\n root: HTMLElement,\n linkContainer?: HTMLElement\n ) => string)\n | undefined;\n\nexport interface ItemListCommonProps {\n store:\n | CommerceStore\n | CommerceRecommendationStore\n | RecsStore\n | InsightStore\n | SearchStore;\n loadingFlag: string;\n host: HTMLElement;\n nextNewItemTarget: FocusTargetController;\n getCurrentNumberOfItems: () => number;\n getIsLoading: () => boolean;\n engineSubscribe: (cb: () => void) => () => void;\n}\n\nexport class ItemListCommon {\n private indexOfResultToFocus?: number;\n private firstResultEl?: HTMLElement;\n private updateBreakpointsOnce: () => void;\n\n constructor(private props: ItemListCommonProps) {\n this.props.store.setLoadingFlag(this.props.loadingFlag);\n this.props.store.state.resultList = this;\n this.updateBreakpointsOnce = once(() => updateBreakpoints(this.props.host));\n this.props.nextNewItemTarget.registerFocusCallback(() => {\n this.indexOfResultToFocus = undefined;\n });\n }\n\n public updateBreakpoints() {\n this.updateBreakpointsOnce();\n }\n\n public getResultId(\n uniqueIdOnResult: string,\n searchResponseId: string,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n return `${uniqueIdOnResult}${searchResponseId}${density}${imageSize}`;\n }\n\n public setNewResultRef(element: HTMLElement, resultIndex: number) {\n if (resultIndex === 0) {\n this.firstResultEl = element;\n }\n if (resultIndex !== this.indexOfResultToFocus) {\n return;\n }\n\n if (!element.children.length && !element.shadowRoot?.children.length) {\n return;\n }\n\n this.indexOfResultToFocus = undefined;\n const elementToFocus = getFirstFocusableDescendant(element) ?? element;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n }\n\n public focusOnNextNewResult() {\n this.indexOfResultToFocus = this.props.getCurrentNumberOfItems();\n this.props.nextNewItemTarget.focusOnNextTarget();\n }\n\n public async focusOnFirstResultAfterNextSearch() {\n await defer();\n return new Promise<void>((resolve) => {\n if (this.props.getIsLoading()) {\n this.firstResultEl = undefined;\n }\n\n const unsub = this.props.engineSubscribe(async () => {\n await defer();\n if (!this.props.getIsLoading() && this.firstResultEl) {\n const elementToFocus =\n getFirstFocusableDescendant(this.firstResultEl) ??\n this.firstResultEl;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n this.props.nextNewItemTarget.focus();\n this.firstResultEl = undefined;\n unsub();\n resolve();\n }\n });\n });\n }\n}\n","import {\n containsSections,\n type ItemSectionTagName,\n} from './item-layout-sections';\n\nexport interface ItemLayoutConfig {\n children: HTMLCollection;\n display: ItemDisplayLayout;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n}\n\nexport type ItemDisplayBasicLayout = 'list' | 'grid';\nexport type ItemDisplayLayout = ItemDisplayBasicLayout | 'table';\nexport type ItemDisplayDensity = 'comfortable' | 'normal' | 'compact';\nexport type ItemDisplayImageSize = 'large' | 'small' | 'icon' | 'none';\nexport type ItemTarget = '_self' | '_blank' | '_parent' | '_top';\n\nfunction getDisplayClass(display: ItemDisplayLayout) {\n switch (display) {\n case 'grid':\n return 'display-grid';\n case 'table':\n return 'display-table';\n default:\n return 'display-list';\n }\n}\n\nfunction getDensityClass(density: ItemDisplayDensity) {\n switch (density) {\n case 'comfortable':\n return 'density-comfortable';\n case 'compact':\n return 'density-compact';\n default:\n return 'density-normal';\n }\n}\n\nfunction getImageClass(image: ItemDisplayImageSize) {\n switch (image) {\n case 'large':\n return 'image-large';\n case 'small':\n return 'image-small';\n case 'none':\n return 'image-none';\n default:\n return 'image-icon';\n }\n}\n\nexport function getItemListDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize,\n isLoading: boolean,\n isAppLoading: boolean\n) {\n const classes = getItemDisplayClasses(display, density, image);\n\n if (isLoading) {\n classes.push('loading');\n }\n\n if (isAppLoading) {\n classes.push('placeholder');\n }\n return classes.join(' ');\n}\n\nexport function getItemDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize\n) {\n const classes = [\n getDisplayClass(display),\n getDensityClass(density),\n getImageClass(image),\n ];\n return classes;\n}\n\nfunction getSection(\n children: HTMLCollection,\n section: ItemSectionTagName\n): Element | undefined {\n return Array.from(children).find(\n (element) => element.tagName.toLowerCase() === section\n );\n}\n\nfunction getImageSizeFromSections(\n children: HTMLCollection\n): ItemDisplayImageSize | undefined {\n const imageSize = getSection(\n children,\n 'atomic-result-section-visual'\n )?.getAttribute('image-size');\n if (!imageSize) {\n return undefined;\n }\n return imageSize as ItemDisplayImageSize;\n}\n\nexport function getItemLayoutClasses(\n config: ItemLayoutConfig,\n HTMLContent?: string\n): string[] {\n const classes = getItemDisplayClasses(\n config.display,\n config.density,\n getImageSizeFromSections(config.children) ?? config.imageSize\n );\n if (\n HTMLContent\n ? containsSections(HTMLContent)\n : containsSections(config.children)\n ) {\n classes.push('with-sections');\n }\n return classes;\n}\n","import {\n getItemDisplayClasses as getItemDisplayClassesImport,\n getItemLayoutClasses,\n getItemListDisplayClasses as getItemListDisplayClassesImport,\n type ItemDisplayBasicLayout as ItemDisplayBasicLayoutImport,\n type ItemDisplayDensity as ItemDisplayDensityImport,\n type ItemDisplayImageSize as ItemDisplayImageSizeImport,\n type ItemDisplayLayout as ItemDisplayLayoutImport,\n type ItemTarget as ItemTargetImport,\n} from './item-layout-utils';\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayBasicLayout = ItemDisplayBasicLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayDensity = ItemDisplayDensityImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayImageSize = ItemDisplayImageSizeImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayLayout = ItemDisplayLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemTarget = ItemTargetImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemDisplayClasses: typeof getItemDisplayClassesImport =\n getItemDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemListDisplayClasses: typeof getItemListDisplayClassesImport =\n getItemListDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, use `getItemLayoutClasses` with `ItemLayoutConfig` from `packages/atomic/src/components/common/layout/item-layout-utils.ts` instead.\n */\nexport class ItemLayout {\n private children: HTMLCollection;\n private density: ItemDisplayDensity;\n private imageSize: ItemDisplayImageSize;\n private display: ItemDisplayLayout;\n\n constructor(\n children: HTMLCollection,\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n this.children = children;\n this.display = display;\n this.density = density;\n this.imageSize = imageSize;\n }\n\n public getClasses(HTMLContent?: string) {\n return getItemLayoutClasses(\n {\n children: this.children,\n display: this.display,\n density: this.density,\n imageSize: this.imageSize,\n },\n HTMLContent\n );\n }\n}\n"],"version":3}
1
+ {"file":"display-options.js","mappings":"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","names":["getItemListDisplayClasses","getItemListDisplayClassesImport"],"sources":["src/components/common/atomic-result-placeholder/stencil-placeholders.tsx","src/components/common/item-list/stencil-item-display-guard.tsx","src/components/common/template-provider/template-provider.ts","src/components/common/item-list/result-template-provider.ts","src/components/common/item-list/stencil-display-wrapper.tsx","src/utils/replace-breakpoint-utils.ts","src/components/common/item-list/stencil-item-list-common.tsx","src/components/common/layout/item-layout-utils.ts","src/components/common/layout/display-options.ts"],"sourcesContent":["// The Lit equivalent of this file is item-placeholders.ts. The Lit version doesn't include the placeholder guard.\nimport {FunctionalComponent, h} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n} from '../layout/display-options.js';\n\ninterface ResultPlaceholderProps {\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n display: ItemDisplayLayout;\n numberOfPlaceholders: number;\n}\n\ninterface ResultPlaceholderGuardProps extends ResultPlaceholderProps {\n displayPlaceholders: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholdersGuard: FunctionalComponent<\n ResultPlaceholderGuardProps\n> = (props) => {\n if (!props.displayPlaceholders) {\n return;\n }\n switch (props.display) {\n case 'table':\n return <TableDisplayResultsPlaceholder {...props} />;\n default:\n return <ResultsPlaceholder {...props} />;\n }\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ResultsPlaceholder: FunctionalComponent<ResultPlaceholderProps> = (\n props\n) => {\n return Array.from({length: props.numberOfPlaceholders}, (_, i) => (\n <atomic-result-placeholder\n key={`placeholder-${i}`}\n density={props.density}\n display={props.display || 'list'}\n imageSize={props.imageSize}\n ></atomic-result-placeholder>\n ));\n};\n\nconst TableDisplayResultsPlaceholder: FunctionalComponent<\n ResultPlaceholderProps\n> = (props) => {\n return (\n <atomic-result-table-placeholder\n density={props.density}\n imageSize={props.imageSize}\n rows={props.numberOfPlaceholders}\n ></atomic-result-table-placeholder>\n );\n};\n","import {FunctionalComponent, h, Fragment} from '@stencil/core';\n\ninterface ItemDisplayGuardProps {\n firstRequestExecuted: boolean;\n hasItems: boolean;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const ItemDisplayGuard: FunctionalComponent<ItemDisplayGuardProps> = (\n props,\n children\n) => {\n if (!props.hasItems || !props.firstRequestExecuted) {\n return;\n }\n\n return <Fragment>{...children}</Fragment>;\n};\n","import type {Template, TemplatesManager} from '@coveo/headless';\n\nexport interface TemplateElement<ItemType> extends HTMLElement {\n getTemplate(): Promise<Template<ItemType, DocumentFragment> | null>;\n}\n\nexport interface TemplateProviderProps<ItemType> {\n getResultTemplateRegistered(): boolean;\n setResultTemplateRegistered(value: boolean): void;\n getTemplateHasError(): boolean;\n setTemplateHasError(value: boolean): void;\n templateElements: TemplateElement<ItemType>[];\n includeDefaultTemplate: boolean;\n}\n\nexport abstract class TemplateProvider<ItemType> {\n private templateManager: TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n protected abstract makeDefaultTemplate(): Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >;\n\n constructor(\n private props: TemplateProviderProps<ItemType>,\n private buildManager: () => TemplatesManager<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >\n ) {\n this.templateManager = this.buildManager();\n this.registerResultTemplates();\n }\n\n private async registerResultTemplates() {\n const customTemplates = await Promise.all(\n this.props.templateElements.map(async (resultTemplateElement) => {\n if (!('getTemplate' in resultTemplateElement)) {\n await customElements.whenDefined(\n (resultTemplateElement as HTMLElement).tagName.toLowerCase()\n );\n }\n\n const template = await resultTemplateElement.getTemplate();\n if (!template) {\n this.props.setTemplateHasError(true);\n }\n return template;\n })\n );\n\n const templates = (\n !customTemplates.length && this.props.includeDefaultTemplate\n ? [this.makeDefaultTemplate()]\n : []\n ).concat(\n customTemplates.filter((template) => template) as Template<\n ItemType,\n DocumentFragment,\n DocumentFragment\n >[]\n );\n\n this.templateManager.registerTemplates(...templates);\n this.props.setResultTemplateRegistered(true);\n }\n\n public getTemplateContent(item: ItemType) {\n return this.templateManager.selectTemplate(item)!;\n }\n\n public getLinkTemplateContent(item: ItemType) {\n return this.templateManager.selectLinkTemplate(item)!;\n }\n\n public getEmptyLinkTemplateContent() {\n return document.createDocumentFragment();\n }\n\n public get templatesRegistered() {\n return this.props.getResultTemplateRegistered();\n }\n\n public get hasError() {\n return this.props.getTemplateHasError();\n }\n}\n","import {\n buildResultTemplatesManager,\n type Result,\n type Template,\n} from '@coveo/headless';\nimport type {ItemTarget} from '@/src/components/common/layout/item-layout-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport {\n TemplateProvider,\n type TemplateProviderProps,\n} from '../template-provider/template-provider';\n// TODO: add this import once this class isn't used in Stencil components anymore\n// import '@/src/components/search/atomic-result-link/atomic-result-link';\n\nexport class ResultTemplateProvider extends TemplateProvider<Result> {\n constructor(\n props: TemplateProviderProps<Result> & {bindings: AnyBindings},\n private gridCellLinkTarget?: ItemTarget\n ) {\n super(props, () => buildResultTemplatesManager(props.bindings.engine));\n }\n\n // TODO: Add JSX support for default template\n protected makeDefaultTemplate(): Template<\n Result,\n DocumentFragment,\n DocumentFragment\n > {\n const content = document.createDocumentFragment();\n const linkEl = document.createElement('atomic-result-link');\n content.appendChild(linkEl);\n\n const linkContent = document.createDocumentFragment();\n const linkMarkup = `\n <atomic-result-link>\n ${this.gridCellLinkTarget ? `<a slot=\"attributes\" target=\"${this.gridCellLinkTarget}\"></a>` : ''}\n </atomic-result-link>\n `;\n const linkTemplate = document.createElement('template');\n linkTemplate.innerHTML = linkMarkup.trim();\n linkContent.appendChild(linkTemplate.content);\n return {\n content,\n linkContent,\n conditions: [],\n };\n }\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {ItemDisplayLayout} from '../layout/display-options.js';\n\ninterface DisplayWrapperProps {\n display: ItemDisplayLayout;\n listClasses: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayWrapper: FunctionalComponent<DisplayWrapperProps> = (\n {display, listClasses},\n children\n) => {\n if (display === 'table') {\n return <ListWrapper listClasses={listClasses}>{...children}</ListWrapper>;\n }\n\n return (\n <ListWrapper listClasses={listClasses}>\n <div class={`list-root ${listClasses}`} part=\"result-list\">\n {children}\n </div>\n </ListWrapper>\n );\n};\n\nconst ListWrapper: FunctionalComponent<\n Pick<DisplayWrapperProps, 'listClasses'>\n> = ({listClasses}, children) => {\n return <div class={`list-wrapper ${listClasses}`}>{...children}</div>;\n};\n","import {closest} from './dom-utils';\n\nexport const DEFAULT_MOBILE_BREAKPOINT = '1024px';\n\nfunction replaceMediaQuery(style: string, mobileBreakpoint: string) {\n const regex = new RegExp(\n `\\\\(min-width: ${DEFAULT_MOBILE_BREAKPOINT}\\\\)|\\\\(width >= ${DEFAULT_MOBILE_BREAKPOINT}\\\\)`,\n 'g'\n );\n return style.replace(regex, `(width >= ${mobileBreakpoint})`);\n}\n\nfunction replaceStyleSheet(element: HTMLElement, mobileBreakpoint: string) {\n const stylesheets = element.shadowRoot?.adoptedStyleSheets;\n if (!stylesheets || !stylesheets.length) {\n return;\n }\n\n const stylesheet = stylesheets[0];\n const style = Object.values(stylesheet.cssRules)\n .map((rule) => rule.cssText)\n .join('');\n stylesheet.replaceSync(replaceMediaQuery(style, mobileBreakpoint));\n}\n\nfunction replateStyleContent(element: HTMLElement, breakpoint: string) {\n const styleTag = element.shadowRoot?.querySelector('style');\n if (!styleTag) {\n return;\n }\n\n styleTag.textContent = replaceMediaQuery(styleTag.textContent!, breakpoint);\n}\n\nconst layouts = ['atomic-search-layout', 'atomic-insight-layout'];\ntype LayoutElement = HTMLElement & {mobileBreakpoint: string};\nexport function updateBreakpoints(element: HTMLElement) {\n const layout: LayoutElement | null = closest(element, layouts.join(', '));\n\n if (!layout?.mobileBreakpoint) {\n return;\n }\n\n if (layout.mobileBreakpoint === DEFAULT_MOBILE_BREAKPOINT) {\n return;\n }\n\n replaceStyleSheet(element, layout.mobileBreakpoint);\n replateStyleContent(element, layout.mobileBreakpoint);\n}\n","import {updateBreakpoints} from '../../../utils/replace-breakpoint-utils';\nimport {\n FocusTargetController,\n getFirstFocusableDescendant,\n} from '../../../utils/stencil-accessibility-utils';\nimport {defer, once} from '../../../utils/utils';\nimport {CommerceStore} from '../../commerce/atomic-commerce-interface/store';\nimport {CommerceRecommendationStore} from '../../commerce/atomic-commerce-recommendation-interface/store';\nimport {InsightStore} from '../../insight/atomic-insight-interface/store';\nimport {RecsStore} from '../../recommendations/atomic-recs-interface/store';\nimport {SearchStore} from '../../search/atomic-search-interface/store';\nimport {AnyItem} from './unfolded-item';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../layout/display-options';\n\nexport const resultComponentClass = 'result-component';\n\nexport type ItemRenderingFunction<SpecificResult extends AnyItem = AnyItem> =\n | ((\n result: SpecificResult,\n root: HTMLElement,\n linkContainer?: HTMLElement\n ) => string)\n | undefined;\n\nexport interface ItemListCommonProps {\n store:\n | CommerceStore\n | CommerceRecommendationStore\n | RecsStore\n | InsightStore\n | SearchStore;\n loadingFlag: string;\n host: HTMLElement;\n nextNewItemTarget: FocusTargetController;\n getCurrentNumberOfItems: () => number;\n getIsLoading: () => boolean;\n engineSubscribe: (cb: () => void) => () => void;\n}\n\nexport class ItemListCommon {\n private indexOfResultToFocus?: number;\n private firstResultEl?: HTMLElement;\n private updateBreakpointsOnce: () => void;\n\n constructor(private props: ItemListCommonProps) {\n this.props.store.setLoadingFlag(this.props.loadingFlag);\n this.props.store.state.resultList = this;\n this.updateBreakpointsOnce = once(() => updateBreakpoints(this.props.host));\n this.props.nextNewItemTarget.registerFocusCallback(() => {\n this.indexOfResultToFocus = undefined;\n });\n }\n\n public updateBreakpoints() {\n this.updateBreakpointsOnce();\n }\n\n public getResultId(\n uniqueIdOnResult: string,\n searchResponseId: string,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n return `${uniqueIdOnResult}${searchResponseId}${density}${imageSize}`;\n }\n\n public setNewResultRef(element: HTMLElement, resultIndex: number) {\n if (resultIndex === 0) {\n this.firstResultEl = element;\n }\n if (resultIndex !== this.indexOfResultToFocus) {\n return;\n }\n\n if (!element.children.length && !element.shadowRoot?.children.length) {\n return;\n }\n\n this.indexOfResultToFocus = undefined;\n const elementToFocus = getFirstFocusableDescendant(element) ?? element;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n }\n\n public focusOnNextNewResult() {\n this.indexOfResultToFocus = this.props.getCurrentNumberOfItems();\n this.props.nextNewItemTarget.focusOnNextTarget();\n }\n\n public async focusOnFirstResultAfterNextSearch() {\n await defer();\n return new Promise<void>((resolve) => {\n if (this.props.getIsLoading()) {\n this.firstResultEl = undefined;\n }\n\n const unsub = this.props.engineSubscribe(async () => {\n await defer();\n if (!this.props.getIsLoading() && this.firstResultEl) {\n const elementToFocus =\n getFirstFocusableDescendant(this.firstResultEl) ??\n this.firstResultEl;\n this.props.nextNewItemTarget.setTarget(elementToFocus);\n this.props.nextNewItemTarget.focus();\n this.firstResultEl = undefined;\n unsub();\n resolve();\n }\n });\n });\n }\n}\n","import {\n containsSections,\n type ItemSectionTagName,\n} from './item-layout-sections';\n\nexport interface ItemLayoutConfig {\n children: HTMLCollection;\n display: ItemDisplayLayout;\n density: ItemDisplayDensity;\n imageSize: ItemDisplayImageSize;\n}\n\nexport type ItemDisplayBasicLayout = 'list' | 'grid';\nexport type ItemDisplayLayout = ItemDisplayBasicLayout | 'table';\nexport type ItemDisplayDensity = 'comfortable' | 'normal' | 'compact';\nexport type ItemDisplayImageSize = 'large' | 'small' | 'icon' | 'none';\nexport type ItemTarget = '_self' | '_blank' | '_parent' | '_top';\n\nfunction getDisplayClass(display: ItemDisplayLayout) {\n switch (display) {\n case 'grid':\n return 'display-grid';\n case 'table':\n return 'display-table';\n default:\n return 'display-list';\n }\n}\n\nfunction getDensityClass(density: ItemDisplayDensity) {\n switch (density) {\n case 'comfortable':\n return 'density-comfortable';\n case 'compact':\n return 'density-compact';\n default:\n return 'density-normal';\n }\n}\n\nfunction getImageClass(image: ItemDisplayImageSize) {\n switch (image) {\n case 'large':\n return 'image-large';\n case 'small':\n return 'image-small';\n case 'none':\n return 'image-none';\n default:\n return 'image-icon';\n }\n}\n\nexport function getItemListDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize,\n isLoading: boolean,\n isAppLoading: boolean\n) {\n const classes = getItemDisplayClasses(display, density, image);\n\n if (isLoading) {\n classes.push('loading');\n }\n\n if (isAppLoading) {\n classes.push('placeholder');\n }\n return classes.join(' ');\n}\n\nexport function getItemDisplayClasses(\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n image: ItemDisplayImageSize\n) {\n const classes = [\n getDisplayClass(display),\n getDensityClass(density),\n getImageClass(image),\n ];\n return classes;\n}\n\nfunction getSection(\n children: HTMLCollection,\n section: ItemSectionTagName\n): Element | undefined {\n return Array.from(children).find(\n (element) => element.tagName.toLowerCase() === section\n );\n}\n\nfunction getImageSizeFromSections(\n children: HTMLCollection\n): ItemDisplayImageSize | undefined {\n const imageSize = getSection(\n children,\n 'atomic-result-section-visual'\n )?.getAttribute('image-size');\n if (!imageSize) {\n return undefined;\n }\n return imageSize as ItemDisplayImageSize;\n}\n\nexport function getItemLayoutClasses(\n config: ItemLayoutConfig,\n HTMLContent?: string\n): string[] {\n const classes = getItemDisplayClasses(\n config.display,\n config.density,\n getImageSizeFromSections(config.children) ?? config.imageSize\n );\n if (\n HTMLContent\n ? containsSections(HTMLContent)\n : containsSections(config.children)\n ) {\n classes.push('with-sections');\n }\n return classes;\n}\n","import {\n getItemDisplayClasses as getItemDisplayClassesImport,\n getItemLayoutClasses,\n getItemListDisplayClasses as getItemListDisplayClassesImport,\n type ItemDisplayBasicLayout as ItemDisplayBasicLayoutImport,\n type ItemDisplayDensity as ItemDisplayDensityImport,\n type ItemDisplayImageSize as ItemDisplayImageSizeImport,\n type ItemDisplayLayout as ItemDisplayLayoutImport,\n type ItemTarget as ItemTargetImport,\n} from './item-layout-utils';\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayBasicLayout = ItemDisplayBasicLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayDensity = ItemDisplayDensityImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayImageSize = ItemDisplayImageSizeImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemDisplayLayout = ItemDisplayLayoutImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport type ItemTarget = ItemTargetImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemDisplayClasses: typeof getItemDisplayClassesImport =\n getItemDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, import from `item-layout-utils.ts` instead.\n */\nexport const getItemListDisplayClasses: typeof getItemListDisplayClassesImport =\n getItemListDisplayClassesImport;\n\n/**\n * @deprecated Use only for Stencil components. For Lit components, use `getItemLayoutClasses` with `ItemLayoutConfig` from `packages/atomic/src/components/common/layout/item-layout-utils.ts` instead.\n */\nexport class ItemLayout {\n private children: HTMLCollection;\n private density: ItemDisplayDensity;\n private imageSize: ItemDisplayImageSize;\n private display: ItemDisplayLayout;\n\n constructor(\n children: HTMLCollection,\n display: ItemDisplayLayout,\n density: ItemDisplayDensity,\n imageSize: ItemDisplayImageSize\n ) {\n this.children = children;\n this.display = display;\n this.density = density;\n this.imageSize = imageSize;\n }\n\n public getClasses(HTMLContent?: string) {\n return getItemLayoutClasses(\n {\n children: this.children,\n display: this.display,\n density: this.density,\n imageSize: this.imageSize,\n },\n HTMLContent\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@ function getWindow() {
3
3
  }
4
4
  export function getAtomicEnvironment(headlessVersion) {
5
5
  return {
6
- version: "3.47.0",
6
+ version: "3.48.0",
7
7
  headlessVersion,
8
8
  };
9
9
  }
@@ -1 +1 @@
1
- {"file":"index.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAca,kBAAmB,SAAQ,KAAK;IAC3C,YAAY,WAAmB,EAAE,UAAkB;QACjD,KAAK,CACH,QAAQ,WAAW,sCAAsC,UAAU,YAAY,CAChF,CAAC;KACH;;;ACfH,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;SAIpC,gBAAgB,CAAI,OAAgB,EAAE,UAAkB;IACtE,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM;QACpC,MAAM,KAAK,GAAG,gBAAgB,CAC5B,oBAAoB,EACpB,CAAC,IAAO;YACN,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC;SACtB,CACF,CAAC;QACF,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAE7B,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE;YACjC,MAAM,CACJ,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,UAAU,CAAC,CACnE,CAAC;SACH;KACF,CAAC,CAAC;AACL;;ACrBA;;;;;;;;;;SAUgB,mBAAmB,CAAoB,OAAgB;IACrE,OAAO,gBAAgB,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACxD;;ACZA;;;;;;;;;;;;SAYgB,cAAc,CAAoB,OAAgB;IAChE,OAAO,WAAW,CAAI,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACnD;;ACVA;;;;;;;;;MASa,iCAAiC,GAAG,CAI/C,KAA+D,EAC/D,OAAoB,EACpB,2BAA0E,iBAAiB;IAE3F,MAAM,gBAAgB,GAAG,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,gFAAgF,wBAAwB,CAAC,IAAI,CACjJ,IAAI,CACL,EAAE,CACJ,CAAC;KACH;IACD,KAAK,2CAA2C,CAC9C,gBAAgB,EAChB,OAAO,EACP,KAAK,CACN,CAAC;AACJ,EAAE;AAEF,MAAM,iBAAiB,GAAG;IACxB,mBAAmB;IACnB,2BAA2B;IAC3B,4BAA4B;CACpB,CAAC;AAEX,MAAM,mBAAmB,GAAG,CAAC,SAAkB,KAC7C,gBAAgB,IAAK,SAAwB;IAC5C,SAAwB,CAAC,cAAc,YAAY,OAAO,CAAC;AAE9D,MAAM,2CAA2C,GAAG,OAIlD,gBAAyB,EACzB,OAAoB,EACpB,KAA+D;IAE/D,MAAM,cAAc,CAAC,WAAW,CAAC,gBAAgB,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1E,IAAI,mBAAmB,CAAC,gBAAgB,CAAC,EAAE;QACzC,MAAM,gBAAgB,CAAC,cAAc,CAAC;KACvC;SAAM,IAAI,kBAAkB,IAAI,gBAAgB,EAAE;QACjD,MAAO,gBAAuC,CAAC,gBAAgB,EAAE,CAAC;KACnE;IACD,OAAO,CAAC,aAAa,CACnB,gBAAgB,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAC/D,CAAC;AACJ,CAAC;;AChED;;;;;;SAMgB,iBAAiB,CAAC,EAA8B;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;AAED;;;;;;SAMgB,eAAe,CAAC,EAA8B;IAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;AAC9C;;;;","names":[],"sources":["src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/components/commerce/product-template-component-utils/context/fetch-product-context.ts","src/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.tsx","src/components/common/suggestions/suggestions-events.ts","src/components/common/suggestions/suggestions-utils.ts"],"sourcesContent":["import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\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\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<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","import type {Product} from '@coveo/headless/commerce';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function 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-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n","import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-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-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/components/commerce/product-template-component-utils/context/fetch-product-context.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n","import type {SearchBoxSuggestionElement} from './suggestions-types';\n\n/**\n * Checks if a search box suggestion element has no query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has no query or the query is whitespace-only\n */\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement): boolean {\n return !el.query || el.query.trim() === '';\n}\n\n/**\n * Checks if a search box suggestion element has a query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has a non-empty, non-whitespace query\n */\nexport function elementHasQuery(el: SearchBoxSuggestionElement): boolean {\n return !!el.query && el.query.trim() !== '';\n}\n"],"version":3}
1
+ {"file":"index.js","mappings":"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","names":[],"sources":["src/components/common/item-list/context/item-context-controller.ts","src/components/common/item-list/fetch-item-context.ts","src/components/commerce/product-template-component-utils/context/fetch-product-context.ts","src/components/commerce/product-template-component-utils/context/stencil-product-template-decorators.tsx","src/components/common/suggestions/suggestions-events.ts","src/components/common/suggestions/suggestions-utils.ts","src/utils/result-utils.ts"],"sourcesContent":["import type {LitElement, ReactiveController, ReactiveControllerHost} from 'lit';\nimport type {InitializableComponent} from '@/src/decorators/types.js';\nimport {buildCustomEvent} from '@/src/utils/event-utils';\n\ntype LitElementWithError = Omit<\n Pick<InitializableComponent, 'error'>,\n 'error'\n> &\n LitElement & {\n error: Error | null;\n };\n\nconst itemContextEventName = 'atomic/resolveResult';\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\nfunction extractFolded<T = Record<string, unknown>>(\n item: Record<string, unknown>,\n returnFolded: boolean\n): T {\n if (returnFolded) {\n if ('children' in item) {\n return item as T;\n } else {\n return {children: [], result: item} as T;\n }\n }\n\n if ('children' in item && 'result' in item) {\n return item.result as T;\n }\n return item as T;\n}\n\n/**\n * A reactive controller that manages item context data from parent components.\n * Handles fetching item data via custom events and manages error states.\n */\nexport class ItemContextController<T = Record<string, unknown>>\n implements ReactiveController\n{\n private host: ReactiveControllerHost & LitElementWithError;\n private parentName: string;\n private folded: boolean;\n private _item: T | null = null;\n private _error: MissingParentError | null = null;\n\n constructor(\n host: ReactiveControllerHost & LitElementWithError,\n options: {parentName?: string; folded?: boolean} = {}\n ) {\n this.host = host;\n this.parentName = options.parentName ?? 'atomic-result';\n this.folded = options.folded ?? false;\n host.addController(this);\n }\n\n get item(): T | null {\n return this._error ? null : this._item;\n }\n\n get error(): MissingParentError | null {\n return this._error;\n }\n\n get hasError(): boolean {\n return this._error !== null;\n }\n\n hostConnected(): void {\n this._resolveItemContext();\n }\n\n private _resolveItemContext(): void {\n const event = buildCustomEvent(\n itemContextEventName,\n (item: Record<string, unknown>) => {\n this._item = extractFolded<T>(item, this.folded);\n this._error = null;\n this.host.error = null;\n this.host.requestUpdate();\n }\n );\n\n const canceled = this.host.dispatchEvent(event);\n if (canceled) {\n const elementName = (this.host as Element).nodeName.toLowerCase();\n this._error = new MissingParentError(elementName, this.parentName);\n this._item = null;\n this.host.error = this._error;\n this.host.requestUpdate();\n }\n }\n}\n\ntype ItemContextEventHandler<T> = (item: T) => void;\nexport type ItemContextEvent<T> = CustomEvent<ItemContextEventHandler<T>>;\n","import {closest} from '../../../utils/dom-utils.js';\nimport {buildCustomEvent} from '../../../utils/event-utils.js';\nimport {MissingParentError} from './context/item-context-controller.js';\n\nconst itemContextEventName = 'atomic/resolveResult';\n\ntype ItemContextEventHandler<T> = (item: T) => void;\n\nexport function fetchItemContext<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","import type {Product} from '@coveo/headless/commerce';\nimport {fetchItemContext} from '@/src/components/common/item-list/fetch-item-context';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This utility function is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-template-component-example) for more information.\n *\n * You should use the utility function 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-product`.\n * @returns A promise that resolves on initialization of the parent `atomic-product` element, or rejects when there is no parent `atomic-product` element.\n */\nexport function fetchProductContext<T extends Product>(element: Element) {\n return fetchItemContext<T>(element, 'atomic-product');\n}\n","import {Product} from '@coveo/headless/commerce';\nimport {itemContext} from '@/src/components/common/item-list/stencil-item-decorators';\n\n/**\n * Retrieves `Product` on a rendered `atomic-product`.\n *\n * This method is useful for building custom product template elements, see [Create a Product List](https://docs.coveo.com/en/atomic/latest/cc-search/create-custom-components/native-components/#custom-product-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-product\".\n * @returns A promise that resolves on initialization of the parent \"atomic-product\" element, or rejects when there is no parent \"atomic-product\" element.\n *\n * @deprecated should only be used for Stencil components. For Lit components, use `fetchProductContext` from \\@/src/components/commerce/product-template-component-utils/context/fetch-product-context.ts\n */\nexport function productContext<T extends Product>(element: Element) {\n return itemContext<T>(element, 'atomic-product');\n}\n","import type {HTMLStencilElement} from '@stencil/core/internal';\nimport type {LitElement} from 'lit';\nimport {closest} from '../../../utils/dom-utils';\nimport {buildCustomEvent} from '../../../utils/event-utils';\nimport type {AnyBindings} from '../interface/bindings';\nimport type {SearchBoxSuggestionsEvent} from './suggestions-types';\n\n/**\n * Dispatches an event which retrieves the `SearchBoxSuggestionsBindings` on a configured parent search box.\n *\n * @param event Event sent from the registered query suggestions to the parent search box\n * @param element Element on which to dispatch the event, which must be the child of a configured search box\n * @param allowedSearchBoxElements Optional array of allowed search box element selectors\n *\n * @throws Error if the element is not a child of an allowed search box element\n */\nexport const dispatchSearchBoxSuggestionsEvent = <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>,\n element: HTMLElement,\n allowedSearchBoxElements: readonly (typeof searchBoxElements)[number][] = searchBoxElements\n) => {\n const interfaceElement = closest(element, searchBoxElements.join(', '));\n if (!interfaceElement) {\n throw new Error(\n `The \"${element.nodeName.toLowerCase()}\" component was not handled, as it is not a child of the following elements: ${allowedSearchBoxElements.join(\n ', '\n )}`\n );\n }\n void dispatchSearchBoxSuggestionsEventEventually(\n interfaceElement,\n element,\n event\n );\n};\n\nconst searchBoxElements = [\n 'atomic-search-box',\n 'atomic-insight-search-box',\n 'atomic-commerce-search-box',\n] as const;\n\nconst isLitElementLoosely = (candidate: unknown): candidate is LitElement =>\n 'updateComplete' in (candidate as LitElement) &&\n (candidate as LitElement).updateComplete instanceof Promise;\n\nconst dispatchSearchBoxSuggestionsEventEventually = async <\n SearchBoxController,\n Bindings = AnyBindings,\n>(\n interfaceElement: Element,\n element: HTMLElement,\n event: SearchBoxSuggestionsEvent<SearchBoxController, Bindings>\n) => {\n await customElements.whenDefined(interfaceElement.nodeName.toLowerCase());\n if (isLitElementLoosely(interfaceElement)) {\n await interfaceElement.updateComplete;\n } else if ('componentOnReady' in interfaceElement) {\n await (interfaceElement as HTMLStencilElement).componentOnReady();\n }\n element.dispatchEvent(\n buildCustomEvent('atomic/searchBoxSuggestion/register', event)\n );\n};\n","import type {SearchBoxSuggestionElement} from './suggestions-types';\n\n/**\n * Checks if a search box suggestion element has no query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has no query or the query is whitespace-only\n */\nexport function elementHasNoQuery(el: SearchBoxSuggestionElement): boolean {\n return !el.query || el.query.trim() === '';\n}\n\n/**\n * Checks if a search box suggestion element has a query.\n *\n * @param el - The search box suggestion element to check\n * @returns True if the element has a non-empty, non-whitespace query\n */\nexport function elementHasQuery(el: SearchBoxSuggestionElement): boolean {\n return !!el.query && el.query.trim() !== '';\n}\n","import {\n buildInteractiveResult,\n type Result,\n ResultTemplatesHelpers,\n type SearchEngine,\n} from '@coveo/headless';\nimport type {RecsBindings} from '../components/recommendations/atomic-recs-interface/interfaces';\nimport type {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {readFromObject} from './object-utils';\n\n/**\n * Binds the logging of document\n * @returns An unbind function for the events\n * @param engine A headless search engine instance.\n * @param result The result object\n * @param resultElement Parent result element\n * @param selector Optional. Css selector that selects all links to the document. Default: \"a\" tags with the clickUri as \"href\" parameter.\n */\nexport function bindLogDocumentOpenOnResult(\n engine: SearchEngine,\n result: Result,\n resultElement: Element | ShadowRoot,\n selector?: string\n) {\n const interactiveResult = buildInteractiveResult(engine, {\n options: {result},\n });\n\n const eventsMap: Record<string, EventListenerOrEventListenerObject> = {\n contextmenu: () => interactiveResult.select(),\n click: () => interactiveResult.select(),\n mouseup: () => interactiveResult.select(),\n mousedown: () => interactiveResult.select(),\n touchstart: () => interactiveResult.beginDelayedSelect(),\n touchend: () => interactiveResult.cancelPendingSelect(),\n };\n const elements = resultElement.querySelectorAll(selector || 'a');\n\n elements.forEach((element) => {\n Object.keys(eventsMap).forEach((key) =>\n element.addEventListener(key, eventsMap[key])\n );\n });\n\n return () => {\n elements.forEach((element) => {\n Object.keys(eventsMap).forEach((key) =>\n element.removeEventListener(key, eventsMap[key])\n );\n });\n };\n}\n\nexport function buildStringTemplateFromResult(\n template: string,\n result: Result,\n bindings: Bindings | RecsBindings\n) {\n return template.replace(/\\${(.*?)}/g, (value: string) => {\n const key = value.substring(2, value.length - 1);\n let newValue = readFromObject(result, key);\n if (!newValue && typeof window !== 'undefined') {\n newValue = readFromObject(window, key);\n }\n\n if (!newValue) {\n bindings.engine.logger.warn(\n `${key} used in the href template is undefined for this result: ${result.uniqueId} and could not be found in the window object.`\n );\n return '';\n }\n\n return newValue;\n });\n}\n\nexport function getStringValueFromResultOrNull(result: Result, field: string) {\n const value = ResultTemplatesHelpers.getResultProperty(result, field);\n\n if (typeof value !== 'string' || value.trim() === '') {\n return null;\n }\n\n return value;\n}\n"],"version":3}
@@ -1,12 +1,6 @@
1
1
  import { h, Host, getElement, forceUpdate } from '@stencil/core/internal/client';
2
2
  import { b as buildCustomEvent } from './event-utils.js';
3
3
 
4
- function rectEquals(r1, r2) {
5
- return (r1.x === r2.x &&
6
- r1.y === r2.y &&
7
- r1.width === r2.width &&
8
- r1.height === r2.height);
9
- }
10
4
  function closest(element, selector) {
11
5
  if (!element) {
12
6
  return null;
@@ -227,6 +221,6 @@ function BindStateToController(controllerProperty, options) {
227
221
  };
228
222
  }
229
223
 
230
- export { BindStateToController as B, Hidden as H, InitializeBindings as I, MissingInterfaceParentError as M, closest as c, fetchBindings as f, rectEquals as r };
224
+ export { BindStateToController as B, Hidden as H, InitializeBindings as I, MissingInterfaceParentError as M, closest as c, fetchBindings as f };
231
225
 
232
226
  //# sourceMappingURL=initialization-utils.js.map
@@ -1 +1 @@
1
- {"file":"initialization-utils.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/utils/dom-utils.ts","src/utils/init-queue.ts","src/utils/initialization-lit-stencil-common-utils.ts","src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["export function rectEquals(r1: DOMRect, r2: DOMRect) {\n return (\n r1.x === r2.x &&\n r1.y === r2.y &&\n r1.width === r2.width &&\n r1.height === r2.height\n );\n}\n\nexport function parentNodeToString(node: ParentNode): string {\n return Array.from(node.children)\n .map((child) => child.outerHTML)\n .join('');\n}\n\nexport function closest<K extends keyof HTMLElementTagNameMap>(\n element: Element | null,\n selector: K\n): HTMLElementTagNameMap[K] | null;\nexport function closest<K extends keyof SVGElementTagNameMap>(\n element: Element | null,\n selector: K\n): SVGElementTagNameMap[K] | null;\nexport function closest<E extends Element = Element>(\n element: Element | null,\n selector: string\n): E | null;\nexport function closest(\n element: Element | null,\n selector: string\n): HTMLElement | null {\n if (!element) {\n return null;\n }\n if (element.matches(selector)) {\n return element as HTMLElement;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return closest(element.parentNode.host, selector);\n }\n return closest(element.parentElement, selector);\n}\n","import type {InitializeEventHandler} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\ndeclare global {\n interface Window {\n initQueueNamespace: {\n eventQueueMap: Map<Element, QueuedEvent[]>;\n parentReadyMap: Map<Element, boolean>;\n };\n }\n}\n\ntype QueuedEvent = {\n event: InitializeEvent;\n element: Element;\n};\n\nfunction getWindow() {\n return window;\n}\n\nfunction getInitQueueNamespace() {\n if (!getWindow().initQueueNamespace) {\n getWindow().initQueueNamespace = {\n eventQueueMap: new Map(),\n parentReadyMap: new Map(),\n };\n }\n return getWindow().initQueueNamespace;\n}\n\nfunction getEventQueueMap(): Map<Element, QueuedEvent[]> {\n return getInitQueueNamespace().eventQueueMap;\n}\n\nfunction getParentReadyMap(): Map<Element, boolean> {\n return getInitQueueNamespace().parentReadyMap;\n}\n\nexport function markParentAsReady(parent: Element) {\n const parentReadyMap = getParentReadyMap();\n parentReadyMap.set(parent, true);\n const eventQueueMap = getEventQueueMap();\n const eventQueue = eventQueueMap.get(parent) || [];\n eventQueue.reverse();\n while (eventQueue.length > 0) {\n const {event, element} = eventQueue.pop()!;\n element.dispatchEvent(event);\n }\n parent.dispatchEvent(new CustomEvent('atomic/parentReady', {bubbles: true}));\n eventQueueMap.delete(parent);\n}\n\nexport function isParentReady(parent: Element): boolean {\n const parentReadyMap = getParentReadyMap();\n return parentReadyMap.get(parent) || false;\n}\n\nexport function queueEventForParent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n const eventQueueMap = getEventQueueMap();\n if (!eventQueueMap.has(parent)) {\n eventQueueMap.set(parent, []);\n }\n eventQueueMap.get(parent)!.push({event, element});\n}\n\nexport function enqueueOrDispatchInitializationEvent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n if (isParentReady(parent)) {\n element.dispatchEvent(event);\n } else {\n queueEventForParent(parent, event, element);\n }\n}\n","import type {CoreEngine} from '@coveo/headless';\nimport type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: AnyBindings;\n};\n","import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"version":3}
1
+ {"file":"initialization-utils.js","mappings":"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","names":["forceUpdate","forceUpdateComponent"],"sources":["src/utils/dom-utils.ts","src/utils/init-queue.ts","src/utils/initialization-lit-stencil-common-utils.ts","src/components/common/stencil-hidden.tsx","src/utils/initialization-utils.tsx"],"sourcesContent":["export function rectEquals(r1: DOMRect, r2: DOMRect) {\n return (\n r1.x === r2.x &&\n r1.y === r2.y &&\n r1.width === r2.width &&\n r1.height === r2.height\n );\n}\n\nexport function parentNodeToString(node: ParentNode): string {\n return Array.from(node.children)\n .map((child) => child.outerHTML)\n .join('');\n}\n\nexport function closest<K extends keyof HTMLElementTagNameMap>(\n element: Element | null,\n selector: K\n): HTMLElementTagNameMap[K] | null;\nexport function closest<K extends keyof SVGElementTagNameMap>(\n element: Element | null,\n selector: K\n): SVGElementTagNameMap[K] | null;\nexport function closest<E extends Element = Element>(\n element: Element | null,\n selector: string\n): E | null;\nexport function closest(\n element: Element | null,\n selector: string\n): HTMLElement | null {\n if (!element) {\n return null;\n }\n if (element.matches(selector)) {\n return element as HTMLElement;\n }\n if (element.parentNode instanceof ShadowRoot) {\n return closest(element.parentNode.host, selector);\n }\n return closest(element.parentElement, selector);\n}\n","import type {InitializeEventHandler} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\ndeclare global {\n interface Window {\n initQueueNamespace: {\n eventQueueMap: Map<Element, QueuedEvent[]>;\n parentReadyMap: Map<Element, boolean>;\n };\n }\n}\n\ntype QueuedEvent = {\n event: InitializeEvent;\n element: Element;\n};\n\nfunction getWindow() {\n return window;\n}\n\nfunction getInitQueueNamespace() {\n if (!getWindow().initQueueNamespace) {\n getWindow().initQueueNamespace = {\n eventQueueMap: new Map(),\n parentReadyMap: new Map(),\n };\n }\n return getWindow().initQueueNamespace;\n}\n\nfunction getEventQueueMap(): Map<Element, QueuedEvent[]> {\n return getInitQueueNamespace().eventQueueMap;\n}\n\nfunction getParentReadyMap(): Map<Element, boolean> {\n return getInitQueueNamespace().parentReadyMap;\n}\n\nexport function markParentAsReady(parent: Element) {\n const parentReadyMap = getParentReadyMap();\n parentReadyMap.set(parent, true);\n const eventQueueMap = getEventQueueMap();\n const eventQueue = eventQueueMap.get(parent) || [];\n eventQueue.reverse();\n while (eventQueue.length > 0) {\n const {event, element} = eventQueue.pop()!;\n element.dispatchEvent(event);\n }\n parent.dispatchEvent(new CustomEvent('atomic/parentReady', {bubbles: true}));\n eventQueueMap.delete(parent);\n}\n\nexport function isParentReady(parent: Element): boolean {\n const parentReadyMap = getParentReadyMap();\n return parentReadyMap.get(parent) || false;\n}\n\nexport function queueEventForParent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n const eventQueueMap = getEventQueueMap();\n if (!eventQueueMap.has(parent)) {\n eventQueueMap.set(parent, []);\n }\n eventQueueMap.get(parent)!.push({event, element});\n}\n\nexport function enqueueOrDispatchInitializationEvent(\n parent: Element,\n event: InitializeEvent,\n element: Element\n) {\n if (isParentReady(parent)) {\n element.dispatchEvent(event);\n } else {\n queueEventForParent(parent, event, element);\n }\n}\n","import type {CoreEngine} from '@coveo/headless';\nimport type {AnyBindings} from '../components/common/interface/bindings';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function fetchBindings<SpecificBindings extends AnyBindings>(\n element: Element\n) {\n return new Promise<SpecificBindings>((resolve, reject) => {\n const event = buildCustomEvent<InitializeEventHandler>(\n initializeEventName,\n (bindings: unknown) => resolve(bindings as SpecificBindings)\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n reject(new MissingInterfaceParentError(element.nodeName.toLowerCase()));\n return;\n }\n enqueueOrDispatchInitializationEvent(parent, event, element);\n });\n}\nexport type InitializeEventHandler = (bindings: AnyBindings) => void;\nexport class MissingInterfaceParentError extends Error {\n constructor(elementName: string) {\n super(\n `The \"${elementName}\" element must be the child of the following elements: ${initializableElements.join(\n ', '\n )}`\n );\n }\n}\nexport const initializableElements = [\n 'atomic-recs-interface',\n 'atomic-search-interface',\n 'atomic-commerce-interface',\n 'atomic-commerce-recommendation-interface',\n 'atomic-relevance-inspector',\n 'atomic-insight-interface',\n 'atomic-external',\n];\nexport const initializeEventName = 'atomic/initializeComponent';\n\nexport type AtomicInterface = HTMLElement & {\n engine?: CoreEngine;\n bindings?: AnyBindings;\n};\n","import {FunctionalComponent, Host, h} from '@stencil/core';\n\n/**\n * @deprecated This component is no longer needed. For Lit components, render `nothing` instead.\n */\nexport const Hidden: FunctionalComponent = () => (\n <Host class=\"atomic-hidden\"></Host>\n);\n","import {\n ComponentInterface,\n getElement,\n h,\n forceUpdate as forceUpdateComponent,\n} from '@stencil/core';\nimport {TOptions} from 'i18next';\nimport {AnyBindings} from '../components/common/interface/bindings';\nimport {Hidden} from '../components/common/stencil-hidden';\nimport {Bindings} from '../components/search/atomic-search-interface/atomic-search-interface';\nimport {closest} from './dom-utils';\nimport {buildCustomEvent} from './event-utils';\nimport {enqueueOrDispatchInitializationEvent} from './init-queue';\nimport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializableElements,\n initializeEventName,\n fetchBindings,\n} from './initialization-lit-stencil-common-utils';\n\nexport type InitializeEvent = CustomEvent<InitializeEventHandler>;\n\n/**\n * Retrieves `Bindings` or `CommerceBindings` on a configured parent interface.\n * @param event - The element on which to dispatch the event, which must be the child of a configured Atomic container element.\n * @returns A promise that resolves upon initialization of the parent container element, and rejects otherwise.\n */\nexport function initializeBindings<\n SpecificBindings extends AnyBindings = Bindings,\n>(element: Element) {\n return fetchBindings<SpecificBindings>(element);\n}\n\nexport {\n MissingInterfaceParentError,\n InitializeEventHandler,\n initializeEventName,\n} from './initialization-lit-stencil-common-utils';\n\n/**\n * Necessary interface an Atomic Component must have to initialize itself correctly.\n * @deprecated To be used for Stencil components. For Lit components. use `InitializableComponent` from './decorators/types/'\n */\nexport interface InitializableComponent<\n SpecificBindings extends AnyBindings = Bindings,\n> extends ComponentInterface {\n /**\n * Bindings passed from the `AtomicSearchInterface` to its children components.\n */\n bindings: SpecificBindings;\n /**\n * Method called right after the `bindings` property is defined. This is the method where Headless Framework controllers should be initialized.\n */\n initialize?: () => void;\n error: Error;\n}\n\ntype InitializeBindingsProps = {\n forceUpdate?: boolean;\n};\n\nconst renderedAttribute = 'data-atomic-rendered';\nconst loadedAttribute = 'data-atomic-loaded';\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) to be used on a property named `bindings`.\n * This will automatically fetch the `Bindings` from the parent `atomic-search-interface` or `atomic-external` components.\n *\n * Once a component is bound, the `initialize` method is called.\n * In the event of an initialization error, the `error` property will be set and an `atomic-component-error` will be rendered.\n *\n * In order for a component using this decorator to render properly, it should have an internal state bound to one of the properties from `bindings`.\n * This is possible by using the `BindStateToController` decorator.\n *\n * @example\n * @InitializeBindings() public bindings!: Bindings;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n * @deprecated To be used for Stencil components. For Lit components, use `BindingController` Reactive Controller from @/mixins/bindings-mixin.ts.\n */\nexport function InitializeBindings<SpecificBindings extends AnyBindings>({\n forceUpdate,\n}: InitializeBindingsProps = {}) {\n return (\n component: InitializableComponent<SpecificBindings>,\n bindingsProperty: string\n ) => {\n const {\n componentWillLoad,\n render,\n componentDidRender,\n componentDidLoad,\n disconnectedCallback,\n } = component;\n let unsubscribeLanguage = () => {};\n\n if (bindingsProperty !== 'bindings') {\n return console.error(\n `The InitializeBindings decorator should be used on a property called \"bindings\", and not \"${bindingsProperty}\"`,\n component\n );\n }\n\n component.componentWillLoad = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n const event = buildCustomEvent(\n initializeEventName,\n (bindings: SpecificBindings) => {\n this.bindings = bindings;\n\n const updateLanguage = () => forceUpdateComponent(this);\n this.bindings.i18n.on('languageChanged', updateLanguage);\n unsubscribeLanguage = () =>\n this.bindings.i18n.off('languageChanged', updateLanguage);\n\n try {\n // When no controller is initialized, updating a property with a State() decorator, there will be no re-render.\n // In this case, we have to manually trigger it.\n if (this.initialize) {\n this.initialize();\n if (forceUpdate) {\n forceUpdateComponent(this);\n }\n } else {\n forceUpdateComponent(this);\n }\n } catch (e) {\n this.error = e as Error;\n }\n }\n );\n const parent = closest(element, initializableElements.join(', '));\n if (!parent) {\n this.error = new MissingInterfaceParentError(\n element.nodeName.toLowerCase()\n );\n return;\n }\n enqueueOrDispatchInitializationEvent(\n parent,\n event as InitializeEvent,\n element\n );\n return componentWillLoad && componentWillLoad.call(this);\n };\n\n component.render = function () {\n if (this.error) {\n return (\n <atomic-component-error\n element={getElement(this)}\n error={this.error}\n ></atomic-component-error>\n );\n }\n\n if (!this.bindings) {\n return <Hidden></Hidden>;\n }\n\n getElement(this).setAttribute(renderedAttribute, 'true');\n return render && render.call(this);\n };\n\n component.disconnectedCallback = function () {\n const element = getElement(this);\n element.setAttribute(renderedAttribute, 'false');\n element.setAttribute(loadedAttribute, 'false');\n unsubscribeLanguage();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n const element = getElement(this);\n if (element.getAttribute(renderedAttribute) === 'false') {\n return;\n }\n\n componentDidRender && componentDidRender.call(this);\n if (element.getAttribute(loadedAttribute) === 'false') {\n element.setAttribute(loadedAttribute, 'true');\n componentDidLoad && componentDidLoad.call(this);\n }\n };\n\n component.componentDidLoad = function () {};\n };\n}\n\n/**\n * A [StencilJS property decorator](https://stenciljs.com/) is used together with the [State decorator](https://stenciljs.com/docs/state#state-decorator).\n * This allows the Stencil component state property to automatically get updates from a [Coveo Headless controller](https://docs.coveo.com/en/headless/latest/usage/#use-headless-controllers).\n *\n * @example\n * @BindStateToController('pager') @State() private pagerState!: PagerState;\n *\n * For more information and examples, view the \"Utilities\" section of the readme.\n *\n * @param controllerProperty The controller property to subscribe to. The controller has to be created inside of the `initialize` method.\n * @param options The configurable `BindStateToController` options.\n *\n * @deprecated To be used for Stencil components. For Lit components. use `bindStateToController` from '../decorators/bind-state.ts'\n */\nexport function BindStateToController(\n controllerProperty: string,\n options?: {\n /**\n * Component's method to be called when state is updated.\n */\n onUpdateCallbackMethod?: string;\n }\n) {\n return (\n component: InitializableComponent<AnyBindings>,\n stateProperty: string\n ) => {\n const {disconnectedCallback, initialize} = component;\n\n component.initialize = function () {\n initialize && initialize.call(this);\n\n if (!initialize) {\n return console.error(\n `ControllerState: The \"initialize\" method has to be defined and instantiate a controller for the property ${controllerProperty}`,\n component\n );\n }\n\n if (!this[controllerProperty]) {\n return;\n }\n\n if (\n options?.onUpdateCallbackMethod &&\n !this[options.onUpdateCallbackMethod]\n ) {\n return console.error(\n `ControllerState: The onUpdateCallbackMethod property \"${options.onUpdateCallbackMethod}\" is not defined`,\n component\n );\n }\n\n this.unsubscribeController = this[controllerProperty].subscribe(() => {\n this[stateProperty] = this[controllerProperty].state;\n options?.onUpdateCallbackMethod &&\n this[options.onUpdateCallbackMethod]();\n });\n };\n\n component.disconnectedCallback = function () {\n !getElement(this).isConnected && this.unsubscribeController?.();\n disconnectedCallback && disconnectedCallback.call(this);\n };\n };\n}\n\ninterface DeferredExecution {\n args: unknown[];\n}\n\nexport function DeferUntilRender() {\n return (component: ComponentInterface, methodName: string) => {\n const {componentDidRender, connectedCallback} = component;\n const originalMethod = component[methodName] as Function;\n let deferredExecutions: DeferredExecution[] = [];\n\n component.connectedCallback = function () {\n this[methodName] = function (...args: unknown[]) {\n deferredExecutions.push({args});\n };\n connectedCallback && connectedCallback.call(this);\n };\n\n component.componentDidRender = function () {\n deferredExecutions.forEach(({args}) =>\n originalMethod.call(this, ...args)\n );\n deferredExecutions = [];\n componentDidRender && componentDidRender.call(this);\n };\n };\n}\n\nexport type I18nState = Record<string, (variables?: TOptions) => string>;\n"],"version":3}
@@ -1,10 +1,12 @@
1
1
  import { b as buildCustomEvent } from './event-utils.js';
2
2
 
3
+ const CloseIcon = `<svg viewBox="0 0 22 22"><g transform="matrix(.7071 -.7071 .7071 .7071 -3.142 11)"><path d="m9-3.4h2v26.9h-2z"/><path d="m-3.4 9h26.9v2h-26.9z"/></g></svg>`;
4
+
3
5
  const popoverClass = 'popover-nested';
4
6
  function initializePopover(host, childFacet) {
5
7
  host.dispatchEvent(buildCustomEvent('atomic/initializePopover', childFacet));
6
8
  }
7
9
 
8
- export { initializePopover as i, popoverClass as p };
10
+ export { CloseIcon as C, initializePopover as i, popoverClass as p };
9
11
 
10
12
  //# sourceMappingURL=popover-type.js.map
@@ -1 +1 @@
1
- {"file":"popover-type.js","mappings":";;MAQa,YAAY,GAAG,iBAAiB;SAE7B,iBAAiB,CAC/B,IAAiB,EACjB,UAA6B;IAE7B,IAAI,CAAC,aAAa,CAChB,gBAAgB,CAAoB,0BAA0B,EAAE,UAAU,CAAC,CAC5E,CAAC;AACJ;;;;","names":[],"sources":["src/components/common/facets/popover/popover-type.ts"],"sourcesContent":["import {buildCustomEvent} from '../../../../utils/event-utils';\nimport type {FacetInfo} from '../../../common/facets/facet-common-store';\n\nexport interface PopoverChildFacet extends FacetInfo {\n hasValues: () => boolean;\n numberOfActiveValues: () => number;\n}\n\nexport const popoverClass = 'popover-nested';\n\nexport function initializePopover(\n host: HTMLElement,\n childFacet: PopoverChildFacet\n) {\n host.dispatchEvent(\n buildCustomEvent<PopoverChildFacet>('atomic/initializePopover', childFacet)\n );\n}\n"],"version":3}
1
+ {"file":"popover-type.js","mappings":";;;;MAQa,YAAY,GAAG,iBAAiB;SAE7B,iBAAiB,CAC/B,IAAiB,EACjB,UAA6B;IAE7B,IAAI,CAAC,aAAa,CAChB,gBAAgB,CAAoB,0BAA0B,EAAE,UAAU,CAAC,CAC5E,CAAC;AACJ;;;;","names":[],"sources":["src/components/common/facets/popover/popover-type.ts"],"sourcesContent":["import {buildCustomEvent} from '../../../../utils/event-utils';\nimport type {FacetInfo} from '../../../common/facets/facet-common-store';\n\nexport interface PopoverChildFacet extends FacetInfo {\n hasValues: () => boolean;\n numberOfActiveValues: () => number;\n}\n\nexport const popoverClass = 'popover-nested';\n\nexport function initializePopover(\n host: HTMLElement,\n childFacet: PopoverChildFacet\n) {\n host.dispatchEvent(\n buildCustomEvent<PopoverChildFacet>('atomic/initializePopover', childFacet)\n );\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import '@coveo/bueno';
2
2
  import { getElement } from '@stencil/core/internal/client';
3
- import { e as camelToKebab, k as kebabToCamel } from './utils.js';
3
+ import { c as camelToKebab, k as kebabToCamel } from './utils.js';
4
4
 
5
5
  /**
6
6
  * @deprecated Use the `mapProperty` decorator instead.
@@ -10,11 +10,7 @@ function getNamedSlotContent(host, slotName) {
10
10
  const children = Array.from(host.children);
11
11
  return children.filter((child) => child.getAttribute('slot') === slotName);
12
12
  }
13
- function getDefaultSlotContent(host) {
14
- const children = Array.from(host.children);
15
- return children.filter((child) => !child.hasAttribute('slot') || child.getAttribute('slot') === '');
16
- }
17
13
 
18
- export { getNamedSlotContent as a, getDefaultSlotContent as g };
14
+ export { getNamedSlotContent as g };
19
15
 
20
16
  //# sourceMappingURL=slot-utils.js.map
@@ -1 +1 @@
1
- {"file":"slot-utils.js","mappings":"AAEA,SAAS,sBAAsB,CAC7B,OAAoB;IAEpB,QACE,aAAa,IAAI,OAAO;QACxB,OAAQ,OAA2C,CAAC,WAAW,KAAK,QAAQ,EAC5E;AACJ,CAAC;SAEe,mBAAmB,CACjC,IAAiB,EACjB,QAAgB;IAEhB,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7D,QACE,yBAAyB,EAAE,MAAM,CAC/B,CAAC,IAAe,KAAsB,IAAI,YAAY,OAAO,CAC9D,IAAI,EAAE,EACP;KACH;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC7E,CAAC;SAEe,qBAAqB,CAAC,IAAiB;IACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC,MAAM,CACpB,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,CAC5E,CAAC;AACJ;;;;","names":[],"sources":["src/utils/slot-utils.ts"],"sourcesContent":["import type {LightDOMWithSlots} from '@/src/mixins/slots-for-no-shadow-dom-mixin';\n\nfunction hasLightDOMSlotContent(\n element: HTMLElement\n): element is HTMLElement & LightDOMWithSlots {\n return (\n 'slotContent' in element &&\n typeof (element as HTMLElement & LightDOMWithSlots).slotContent === 'object'\n );\n}\n\nexport function getNamedSlotContent(\n host: HTMLElement,\n slotName: string\n): Element[] {\n if (hasLightDOMSlotContent(host)) {\n const targetLightDomSlotContent = host.slotContent[slotName];\n\n return (\n targetLightDomSlotContent?.filter(\n (node: ChildNode): node is Element => node instanceof Element\n ) || []\n );\n }\n\n const children = Array.from(host.children);\n return children.filter((child) => child.getAttribute('slot') === slotName);\n}\n\nexport function getDefaultSlotContent(host: HTMLElement): Element[] {\n const children = Array.from(host.children);\n return children.filter(\n (child) => !child.hasAttribute('slot') || child.getAttribute('slot') === ''\n );\n}\n"],"version":3}
1
+ {"file":"slot-utils.js","mappings":"AAEA,SAAS,sBAAsB,CAC7B,OAAoB;IAEpB,QACE,aAAa,IAAI,OAAO;QACxB,OAAQ,OAA2C,CAAC,WAAW,KAAK,QAAQ,EAC5E;AACJ,CAAC;SAEe,mBAAmB,CACjC,IAAiB,EACjB,QAAgB;IAEhB,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE;QAChC,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAE7D,QACE,yBAAyB,EAAE,MAAM,CAC/B,CAAC,IAAe,KAAsB,IAAI,YAAY,OAAO,CAC9D,IAAI,EAAE,EACP;KACH;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC,CAAC;AAC7E;;;;","names":[],"sources":["src/utils/slot-utils.ts"],"sourcesContent":["import type {LightDOMWithSlots} from '@/src/mixins/slots-for-no-shadow-dom-mixin';\n\nfunction hasLightDOMSlotContent(\n element: HTMLElement\n): element is HTMLElement & LightDOMWithSlots {\n return (\n 'slotContent' in element &&\n typeof (element as HTMLElement & LightDOMWithSlots).slotContent === 'object'\n );\n}\n\nexport function getNamedSlotContent(\n host: HTMLElement,\n slotName: string\n): Element[] {\n if (hasLightDOMSlotContent(host)) {\n const targetLightDomSlotContent = host.slotContent[slotName];\n\n return (\n targetLightDomSlotContent?.filter(\n (node: ChildNode): node is Element => node instanceof Element\n ) || []\n );\n }\n\n const children = Array.from(host.children);\n return children.filter((child) => child.getAttribute('slot') === slotName);\n}\n\nexport function getDefaultSlotContent(host: HTMLElement): Element[] {\n const children = Array.from(host.children);\n return children.filter(\n (child) => !child.hasAttribute('slot') || child.getAttribute('slot') === ''\n );\n}\n"],"version":3}
@@ -123,6 +123,6 @@ const Button = (props, children) => {
123
123
  children));
124
124
  };
125
125
 
126
- export { Button as B, getClassNameForButtonStyle as a, createRipple as c, getRippleColorForButtonStyle as g };
126
+ export { Button as B };
127
127
 
128
128
  //# sourceMappingURL=stencil-button.js.map
@@ -1,6 +1,8 @@
1
1
  const css = `@theme inline static{--atomic-primary:#126ce0;--atomic-primary-light:#399ffe;--atomic-primary-dark:#1a50ad;--atomic-on-primary:#fff;--atomic-ring-primary:rgba(19,114,236,.5);--atomic-neutral-dark:#626971;--atomic-neutral-dim:#bfc4c8;--atomic-neutral:#e5e8e8;--atomic-neutral-light:#f6f7f9;--atomic-neutral-lighter:#f2f2f2;--atomic-background:#fff;--atomic-on-background:#282829;--atomic-success:#12a244;--atomic-error:#ce3f00;--atomic-visited:#752e9c;--atomic-disabled:#c5cacf;--atomic-success-background:#d4fcf0;--atomic-error-background:#fcbdc0;--atomic-primary-background:#edf6ff;--atomic-inline-code:#cd2113;--atomic-border-radius:0.25rem;--atomic-border-radius-md:0.5rem;--atomic-border-radius-lg:0.75rem;--atomic-border-radius-xl:1rem;--atomic-font-family:-apple-system,BlinkMacSystemFont,avenir next,avenir,segoe ui,helvetica neue,helvetica,Ubuntu,roboto,noto,arial,sans-serif;--atomic-font-normal:400;--atomic-font-bold:700;--atomic-text-base:0.875rem;--atomic-text-sm:0.75rem;--atomic-text-lg:1rem;--atomic-text-xl:1.125rem;--atomic-text-2xl:1.5rem;--atomic-line-height-ratio:1.5;--atomic-layout-spacing-x:1.5rem;--atomic-layout-spacing-y:1rem}@theme inline static{--color-primary:var(--atomic-primary);--color-primary-light:var(--atomic-primary-light);--color-primary-dark:var(--atomic-primary-dark);--color-on-primary:var(--atomic-on-primary);--color-ring-primary:var(--atomic-ring-primary);--color-primary-background:var(--atomic-primary-background);--color-neutral-dark:var(--atomic-neutral-dark);--color-neutral-dim:var(--atomic-neutral-dim);--color-neutral:var(--atomic-neutral);--color-neutral-light:var(--atomic-neutral-light);--color-neutral-lighter:var(--atomic-neutral-lighter);--color-background:var(--atomic-background);--color-on-background:var(--atomic-on-background);--color-success:var(--atomic-success);--color-error:var(--atomic-error);--color-visited:var(--atomic-visited);--color-disabled:var(--atomic-disabled);--color-inline-code:var(--atomic-inline-code);--color-rating-icon-inactive:var(
2
2
  --atomic-rating-icon-inactive-color,var(--atomic-neutral)
3
- );--color-rating-icon-active:var(--atomic-rating-icon-active-color,#f6ce3c);--color-rating-icon-outline:var(--atomic-rating-icon-outline-color,none);--color-more-results-progress-bar-color-from:var(
3
+ );--color-rating-icon-active:var(--atomic-rating-icon-active-color,#f6ce3c);--color-rating-icon-outline:var(--atomic-rating-icon-outline-color,none);--color-user-actions-timeline-separator-background:var(
4
+ --atomic-user-actions-timeline-separator-background,#e0e1dd
5
+ );--color-more-results-progress-bar-color-from:var(
4
6
  --atomic-more-results-progress-bar-color-from,var(--atomic-primary-dark)
5
7
  );--color-more-results-progress-bar-color-to:var(
6
8
  --atomic-more-results-progress-bar-color-to,var(--atomic-primary-light)
@@ -55,6 +55,7 @@ export const ATOMIC_CUSTOM_ELEMENT_TAGS = new Set([
55
55
  'atomic-format-number',
56
56
  'atomic-format-unit',
57
57
  'atomic-generated-answer',
58
+ 'atomic-generated-answer-feedback-modal',
58
59
  'atomic-html',
59
60
  'atomic-icon',
60
61
  'atomic-insight-edit-toggle',
@@ -69,17 +70,28 @@ export const ATOMIC_CUSTOM_ELEMENT_TAGS = new Set([
69
70
  'atomic-insight-pager',
70
71
  'atomic-insight-query-error',
71
72
  'atomic-insight-query-summary',
73
+ 'atomic-insight-refine-modal',
72
74
  'atomic-insight-refine-toggle',
73
75
  'atomic-insight-result',
76
+ 'atomic-insight-result-action-bar',
77
+ 'atomic-insight-result-attach-to-case-indicator',
74
78
  'atomic-insight-result-children',
79
+ 'atomic-insight-result-list',
80
+ 'atomic-insight-result-quickview-action',
75
81
  'atomic-insight-result-template',
76
82
  'atomic-insight-search-box',
83
+ 'atomic-insight-smart-snippet',
77
84
  'atomic-insight-smart-snippet-feedback-modal',
78
85
  'atomic-insight-tab',
79
86
  'atomic-insight-tabs',
87
+ 'atomic-insight-user-actions-modal',
88
+ 'atomic-insight-user-actions-session',
89
+ 'atomic-insight-user-actions-timeline',
80
90
  'atomic-insight-user-actions-toggle',
81
91
  'atomic-ipx-button',
82
92
  'atomic-ipx-embedded',
93
+ 'atomic-ipx-modal',
94
+ 'atomic-ipx-result-link',
83
95
  'atomic-ipx-tab',
84
96
  'atomic-ipx-tabs',
85
97
  'atomic-layout-section',