@coveo/atomic 3.35.0-pre.4282ff1b60 → 3.35.0-pre.511ce3c910

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 (273) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/_index.js +19 -19
  3. package/dist/atomic/components/atomic-field-condition.js +1 -1
  4. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  5. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  6. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  7. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  8. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  9. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  10. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  11. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  12. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  13. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  14. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  15. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  16. package/dist/atomic/components/atomic-quickview.js +2 -2
  17. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  18. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  19. package/dist/atomic/components/atomic-result-badge.js +1 -1
  20. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  21. package/dist/atomic/components/atomic-result-children.js +2 -2
  22. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  23. package/dist/atomic/components/atomic-result-date.js +1 -1
  24. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  25. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  26. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  27. package/dist/atomic/components/atomic-result-html.js +1 -1
  28. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  29. package/dist/atomic/components/atomic-result-icon.js +1 -1
  30. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  31. package/dist/atomic/components/atomic-result-image.js +1 -1
  32. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  33. package/dist/atomic/components/atomic-result-link.js +2 -2
  34. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  35. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  36. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  37. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  38. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  39. package/dist/atomic/components/atomic-result-number.js +1 -1
  40. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  41. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  42. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  43. package/dist/atomic/components/atomic-result-rating.js +1 -1
  44. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  45. package/dist/atomic/components/atomic-result-text2.js +1 -1
  46. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  47. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  48. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  49. package/dist/atomic/components/atomic-result2.js.map +1 -1
  50. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  51. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  52. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  53. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  54. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  55. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  56. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  57. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  58. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  59. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  60. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  61. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  62. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  63. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  64. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  65. package/dist/atomic/components/global/environment.js +1 -1
  66. package/dist/atomic/components/index.js.map +1 -1
  67. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  68. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  69. package/dist/atomic/index.esm.js +1 -1
  70. package/dist/atomic/index.esm.js.map +1 -1
  71. package/dist/atomic/{p-955092ed.entry.js → p-01096d1c.entry.js} +2 -2
  72. package/dist/atomic/p-01096d1c.entry.js.map +1 -0
  73. package/dist/atomic/{p-82cd6398.entry.js → p-154cbbfe.entry.js} +2 -2
  74. package/dist/atomic/{p-82cd6398.entry.js.map → p-154cbbfe.entry.js.map} +1 -1
  75. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  76. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  77. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  78. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  79. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  80. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  81. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  82. package/dist/atomic/p-4080f740.js.map +1 -0
  83. package/dist/atomic/{p-8d5228da.entry.js → p-42fffab2.entry.js} +2 -2
  84. package/dist/atomic/p-42fffab2.entry.js.map +1 -0
  85. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  86. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  87. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  88. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  89. package/dist/atomic/{p-15547bd5.entry.js → p-61b3f5ce.entry.js} +2 -2
  90. package/dist/atomic/p-61b3f5ce.entry.js.map +1 -0
  91. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  92. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  93. package/dist/atomic/{p-df8d38ca.entry.js → p-7015679e.entry.js} +2 -2
  94. package/dist/atomic/p-7015679e.entry.js.map +1 -0
  95. package/dist/atomic/{p-dea22a8d.entry.js → p-886b184f.entry.js} +2 -2
  96. package/dist/atomic/p-886b184f.entry.js.map +1 -0
  97. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  98. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  99. package/dist/atomic/{p-182f9112.entry.js → p-a413f820.entry.js} +2 -2
  100. package/dist/atomic/p-a413f820.entry.js.map +1 -0
  101. package/dist/atomic/{p-5cab535b.entry.js → p-c5bd7f8d.entry.js} +2 -2
  102. package/dist/atomic/p-c5bd7f8d.entry.js.map +1 -0
  103. package/dist/atomic/{p-852cc16d.entry.js → p-cacb7fd8.entry.js} +2 -2
  104. package/dist/atomic/p-cacb7fd8.entry.js.map +1 -0
  105. package/dist/atomic/{p-c5164dbf.entry.js → p-cee86cff.entry.js} +2 -2
  106. package/dist/atomic/p-cee86cff.entry.js.map +1 -0
  107. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  108. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  109. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  110. package/dist/atomic/p-da141605.entry.js.map +1 -0
  111. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  112. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  113. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  114. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  115. package/dist/atomic/{p-448091f7.entry.js → p-ecd3c0a9.entry.js} +2 -2
  116. package/dist/atomic/p-ecd3c0a9.entry.js.map +1 -0
  117. package/dist/atomic/{p-c2a5dac0.entry.js → p-f2c4209d.entry.js} +2 -2
  118. package/dist/atomic/{p-57049cd2.entry.js → p-f2c89d7c.entry.js} +2 -2
  119. package/dist/atomic/p-f2c89d7c.entry.js.map +1 -0
  120. package/dist/atomic/{p-3f34929a.entry.js → p-f4f99f5e.entry.js} +2 -2
  121. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  122. package/dist/cjs/_index.cjs.js +20 -20
  123. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  124. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  125. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +3 -3
  126. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  127. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +3 -3
  128. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  129. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  130. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  131. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -3
  132. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  133. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  134. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  135. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  136. package/dist/cjs/atomic-quickview.cjs.entry.js +3 -3
  137. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  138. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  139. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  140. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  141. package/dist/cjs/atomic-result-children.cjs.entry.js +3 -3
  142. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  143. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  144. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  145. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  146. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  147. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  148. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  149. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  150. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  151. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  152. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  153. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  154. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  155. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  156. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  157. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  158. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  159. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  160. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  161. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  162. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  163. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  164. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  165. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  166. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  167. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  168. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  169. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  170. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +1 -1
  171. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  172. package/dist/cjs/index.cjs.js.map +1 -1
  173. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  174. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  175. package/dist/cjs/version.cjs.js +1 -1
  176. package/dist/esm/_index.js +19 -19
  177. package/dist/esm/atomic-field-condition.entry.js +1 -1
  178. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  179. package/dist/esm/atomic-insight-result-action.entry.js +2 -2
  180. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  181. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +2 -2
  182. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  183. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  184. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  185. package/dist/esm/atomic-insight-result-quickview-action.entry.js +2 -2
  186. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  187. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  188. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  189. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  190. package/dist/esm/atomic-quickview.entry.js +2 -2
  191. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  192. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  193. package/dist/esm/atomic-result-badge.entry.js +1 -1
  194. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  195. package/dist/esm/atomic-result-children.entry.js +2 -2
  196. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  197. package/dist/esm/atomic-result-date.entry.js +1 -1
  198. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  199. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  200. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  201. package/dist/esm/atomic-result-html.entry.js +1 -1
  202. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  203. package/dist/esm/atomic-result-icon.entry.js +1 -1
  204. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  205. package/dist/esm/atomic-result-image.entry.js +1 -1
  206. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  207. package/dist/esm/atomic-result-link.entry.js +2 -2
  208. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  209. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  210. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  211. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  212. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  213. package/dist/esm/atomic-result-number.entry.js +1 -1
  214. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  215. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  216. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  217. package/dist/esm/atomic-result-rating.entry.js +1 -1
  218. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  219. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  220. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  221. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  222. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  223. package/dist/esm/atomic-result.entry.js.map +1 -1
  224. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +1 -1
  225. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  226. package/dist/esm/index.js.map +1 -1
  227. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  228. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  229. package/dist/esm/version.js +1 -1
  230. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  231. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  232. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  233. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  234. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  235. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  236. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  237. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  238. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  239. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  240. package/dist/types/components/search/{result-template-components/result-template-decorators.d.ts → result-template-component-utils/context/stencil-result-template-decorators.d.ts} +6 -2
  241. package/dist/types/index.d.ts +3 -3
  242. package/docs/atomic-docs.json +1 -1
  243. package/package.json +3 -6
  244. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  245. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  246. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  247. package/dist/atomic/p-15547bd5.entry.js.map +0 -1
  248. package/dist/atomic/p-182f9112.entry.js.map +0 -1
  249. package/dist/atomic/p-18684d4c.js.map +0 -1
  250. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  251. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  252. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  253. package/dist/atomic/p-448091f7.entry.js.map +0 -1
  254. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  255. package/dist/atomic/p-57049cd2.entry.js.map +0 -1
  256. package/dist/atomic/p-5cab535b.entry.js.map +0 -1
  257. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  258. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  259. package/dist/atomic/p-8d5228da.entry.js.map +0 -1
  260. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  261. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  262. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  263. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  264. package/dist/atomic/p-c5164dbf.entry.js.map +0 -1
  265. package/dist/atomic/p-dea22a8d.entry.js.map +0 -1
  266. package/dist/atomic/p-df8d38ca.entry.js.map +0 -1
  267. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  268. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  269. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  270. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  271. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  272. /package/dist/atomic/{p-c2a5dac0.entry.js.map → p-f2c4209d.entry.js.map} +0 -0
  273. /package/dist/atomic/{p-3f34929a.entry.js.map → p-f4f99f5e.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-result-badge.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,stjEAAstjE,CAAC;AACpvjE,gCAAe,oBAAoB;;;;;;;;;;;;MC2CtB,iBAAiB;;;;;;;IA2BpB,UAAU;QAChB,QACEA,yBACE,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAE,IAAI,CAAC,IAAK,EAChB,KAAK,EAAC,sBAAsB,GACf,EACf;KACH;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,gCAAoB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAuB,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,yBAAa,KAAK,EAAE,IAAI,CAAC,KAAK,GAAgB,CAAC;SACvD;QACD,OAAOA,qBAAa,CAAC;KACtB;IAEO,UAAU;QAChB,OAAOA,kBAAM,IAAI,EAAC,oBAAoB,IAAE,IAAI,CAAC,cAAc,EAAE,CAAQ,CAAC;KACvE;IAEO,WAAW;QACjB,QACEA,iBACE,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAC,wGAAwG,IAE7G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAC9B,IAAI,CAAC,UAAU,EAAE,CACd,EACN;KACH;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,QAAQ,GACZC,+BAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;gBACjE,IAAI,CAAC;YACP,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACpB;SACF;KACF;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;;;AA3EwB;IAAxBC,sCAAa,EAAE;iDAAyB;;;;;","names":["h","ResultTemplatesHelpers","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.pcss?tag=atomic-result-badge&encapsulation=shadow","src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n:host {\n display: inline-flex;\n place-items: center;\n height: var(--row-height, auto);\n word-break: break-word;\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h} from '@stencil/core';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-badge` element renders a badge to highlight special features of a result.\n *\n * A badge can either display:\n * * Text:\n * ```html\n * <atomic-result-badge label=\"trending\"></atomic-result-badge>\n * ```\n * * The contents of a single-value field:\n * ```html\n * <atomic-result-badge field=\"objecttype\"></atomic-result-badge>\n * ```\n * * An icon:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/star.svg\"></atomic-result-badge>\n * ```\n * * Slotted elements:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/stopwatch.svg\">\n * Deal ends in <my-dynamic-countdown></my-dynamic-countdown>\n * </atomic-result-badge>\n * ```\n *\n * The contents of a multi-value field can be displayed as in the following example:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/language.svg\">\n * <atomic-result-multi-value-text field=\"language\"></atomic-result-multi-value-text>\n * </atomic-result-badge>\n * ```\n *\n * @part result-badge-element - The decorative outer-most element with the background color and text color.\n * @part result-badge-icon - The icon displayed at the left-end of the badge, if present.\n * @part result-badge-label - The wrapper around the contents at the right-end of the badge. This may be text, a field or slotted elements depending on which was configured.\n * @slot default - The element(s) to display inside the badge, instead of a field or label.\n */\n@Component({\n tag: 'atomic-result-badge',\n styleUrl: 'atomic-result-badge.pcss',\n shadow: true,\n})\nexport class AtomicResultBadge {\n @ResultContext() private result!: Result;\n @Element() host!: HTMLElement;\n /**\n * The field to display in the badge.\n *\n * Not compatible with `label`, slotted elements nor multi-value fields.\n */\n @Prop({reflect: true}) public field?: string;\n\n /**\n * The text to display in the badge.\n *\n * Not compatible with `field` nor slotted elements.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * Specifies an icon to display at the left-end of the badge.\n * This can be used in conjunction with `field`, `label` or slotted elements.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly\n */\n @Prop({reflect: true}) public icon?: string;\n\n private renderIcon() {\n return (\n <atomic-icon\n part=\"result-badge-icon\"\n icon={this.icon!}\n class=\"h-3 w-3 fill-current\"\n ></atomic-icon>\n );\n }\n\n private getTextContent() {\n if (this.field !== undefined) {\n return <atomic-result-text field={this.field}></atomic-result-text>;\n }\n if (this.label !== undefined) {\n return <atomic-text value={this.label}></atomic-text>;\n }\n return <slot></slot>;\n }\n\n private renderText() {\n return <span part=\"result-badge-label\">{this.getTextContent()}</span>;\n }\n\n private renderBadge() {\n return (\n <div\n part=\"result-badge-element\"\n class=\"bg-neutral-light text-neutral-dark inline-flex h-full place-items-center space-x-1.5 rounded-full px-3\"\n >\n {this.icon && this.renderIcon()}\n {this.renderText()}\n </div>\n );\n }\n\n componentWillRender() {\n if (this.field) {\n const hasValue =\n ResultTemplatesHelpers.getResultProperty(this.result, this.field) !==\n null;\n if (!hasValue) {\n this.host.remove();\n }\n }\n }\n\n render() {\n return this.renderBadge();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-badge.entry.cjs.js","mappings":";;;;;;;;;;;AAAA,MAAM,oBAAoB,GAAG,stjEAAstjE,CAAC;AACpvjE,gCAAe,oBAAoB;;;;;;;;;;;;MC2CtB,iBAAiB;;;;;;;IA2BpB,UAAU;QAChB,QACEA,yBACE,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAE,IAAI,CAAC,IAAK,EAChB,KAAK,EAAC,sBAAsB,GACf,EACf;KACH;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,gCAAoB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAuB,CAAC;SACrE;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,OAAOA,yBAAa,KAAK,EAAE,IAAI,CAAC,KAAK,GAAgB,CAAC;SACvD;QACD,OAAOA,qBAAa,CAAC;KACtB;IAEO,UAAU;QAChB,OAAOA,kBAAM,IAAI,EAAC,oBAAoB,IAAE,IAAI,CAAC,cAAc,EAAE,CAAQ,CAAC;KACvE;IAEO,WAAW;QACjB,QACEA,iBACE,IAAI,EAAC,sBAAsB,EAC3B,KAAK,EAAC,wGAAwG,IAE7G,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,EAC9B,IAAI,CAAC,UAAU,EAAE,CACd,EACN;KACH;IAED,mBAAmB;QACjB,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,MAAM,QAAQ,GACZC,+BAAsB,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC;gBACjE,IAAI,CAAC;YACP,IAAI,CAAC,QAAQ,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACpB;SACF;KACF;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;KAC3B;;;AA3EwB;IAAxBC,6CAAa,EAAE;iDAAyB;;;;;","names":["h","ResultTemplatesHelpers","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.pcss?tag=atomic-result-badge&encapsulation=shadow","src/components/search/result-template-components/atomic-result-badge/atomic-result-badge.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\n:host {\n display: inline-flex;\n place-items: center;\n height: var(--row-height, auto);\n word-break: break-word;\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Element, Prop, h} from '@stencil/core';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-badge` element renders a badge to highlight special features of a result.\n *\n * A badge can either display:\n * * Text:\n * ```html\n * <atomic-result-badge label=\"trending\"></atomic-result-badge>\n * ```\n * * The contents of a single-value field:\n * ```html\n * <atomic-result-badge field=\"objecttype\"></atomic-result-badge>\n * ```\n * * An icon:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/star.svg\"></atomic-result-badge>\n * ```\n * * Slotted elements:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/stopwatch.svg\">\n * Deal ends in <my-dynamic-countdown></my-dynamic-countdown>\n * </atomic-result-badge>\n * ```\n *\n * The contents of a multi-value field can be displayed as in the following example:\n * ```html\n * <atomic-result-badge icon=\"https://my-website.fake/language.svg\">\n * <atomic-result-multi-value-text field=\"language\"></atomic-result-multi-value-text>\n * </atomic-result-badge>\n * ```\n *\n * @part result-badge-element - The decorative outer-most element with the background color and text color.\n * @part result-badge-icon - The icon displayed at the left-end of the badge, if present.\n * @part result-badge-label - The wrapper around the contents at the right-end of the badge. This may be text, a field or slotted elements depending on which was configured.\n * @slot default - The element(s) to display inside the badge, instead of a field or label.\n */\n@Component({\n tag: 'atomic-result-badge',\n styleUrl: 'atomic-result-badge.pcss',\n shadow: true,\n})\nexport class AtomicResultBadge {\n @ResultContext() private result!: Result;\n @Element() host!: HTMLElement;\n /**\n * The field to display in the badge.\n *\n * Not compatible with `label`, slotted elements nor multi-value fields.\n */\n @Prop({reflect: true}) public field?: string;\n\n /**\n * The text to display in the badge.\n *\n * Not compatible with `field` nor slotted elements.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * Specifies an icon to display at the left-end of the badge.\n * This can be used in conjunction with `field`, `label` or slotted elements.\n *\n * - Use a value that starts with `http://`, `https://`, `./`, or `../`, to fetch and display an icon from a given location.\n * - Use a value that starts with `assets://`, to display an icon from the Atomic package.\n * - Use a stringified SVG to display it directly\n */\n @Prop({reflect: true}) public icon?: string;\n\n private renderIcon() {\n return (\n <atomic-icon\n part=\"result-badge-icon\"\n icon={this.icon!}\n class=\"h-3 w-3 fill-current\"\n ></atomic-icon>\n );\n }\n\n private getTextContent() {\n if (this.field !== undefined) {\n return <atomic-result-text field={this.field}></atomic-result-text>;\n }\n if (this.label !== undefined) {\n return <atomic-text value={this.label}></atomic-text>;\n }\n return <slot></slot>;\n }\n\n private renderText() {\n return <span part=\"result-badge-label\">{this.getTextContent()}</span>;\n }\n\n private renderBadge() {\n return (\n <div\n part=\"result-badge-element\"\n class=\"bg-neutral-light text-neutral-dark inline-flex h-full place-items-center space-x-1.5 rounded-full px-3\"\n >\n {this.icon && this.renderIcon()}\n {this.renderText()}\n </div>\n );\n }\n\n componentWillRender() {\n if (this.field) {\n const hasValue =\n ResultTemplatesHelpers.getResultProperty(this.result, this.field) !==\n null;\n if (!hasValue) {\n this.host.remove();\n }\n }\n }\n\n render() {\n return this.renderBadge();\n }\n}\n"],"version":3}
@@ -11,7 +11,7 @@ const unfoldedItem = require('./unfolded-item-148d21d6.js');
11
11
  const showHideButton = require('./show-hide-button-c4717f52.js');
12
12
  const itemTemplateProvider = require('./item-template-provider-470c1774.js');
13
13
  const stencilItemDecorators = require('./stencil-item-decorators-43a96f33.js');
14
- const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
14
+ const stencilResultTemplateDecorators = require('./stencil-result-template-decorators-28b05aaf.js');
15
15
  require('./dom-utils-d4790328.js');
16
16
  require('./init-queue-a18aa323.js');
17
17
  require('./initialization-lit-stencil-common-utils-730030b0.js');
@@ -139,7 +139,7 @@ const AtomicResultChildren = class {
139
139
  return (index.h(showHideButton.ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
140
140
  }
141
141
  render() {
142
- return (index.h(showHideButton.ResultChildrenGuard, { key: '2f38b68fcb83a72db4101044cd74107cc834ac97', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
142
+ return (index.h(showHideButton.ResultChildrenGuard, { key: 'af34654062e5d43cba6986228afb510599647099', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
143
143
  }
144
144
  get host() { return index.getElement(this); }
145
145
  };
@@ -153,7 +153,7 @@ __decorate([
153
153
  showHideButton.FoldedItemListContext()
154
154
  ], AtomicResultChildren.prototype, "foldedResultList", void 0);
155
155
  __decorate([
156
- resultTemplateDecorators.ResultContext({ folded: true })
156
+ stencilResultTemplateDecorators.ResultContext({ folded: true })
157
157
  ], AtomicResultChildren.prototype, "result", void 0);
158
158
  __decorate([
159
159
  stencilItemDecorators.ItemDisplayConfigContext()
@@ -1 +1 @@
1
- {"file":"atomic-result-children.entry.cjs.js","mappings":"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","names":["elementHasAncestorTag","ItemTemplateProvider","h","buildInteractiveResult","extractUnfoldedItem","buildCustomEvent","Fragment","ShowHideButton","CollectionGuard","ChildrenWrapper","ResultChildrenGuard","InitializeBindings","ChildTemplatesContext","FoldedItemListContext","ResultContext","ItemDisplayConfigContext","FoldedItemListStateContext"],"sources":["src/components/search/result-lists/atomic-result-children/atomic-result-children.pcss?tag=atomic-result-children&encapsulation=shadow","src/components/search/result-lists/atomic-result-children/atomic-result-children.tsx"],"sourcesContent":["@import '../../../../components/common/result-children/result-children.pcss';\n","import {\n buildInteractiveResult,\n FoldedResult,\n FoldedResultList,\n FoldedResultListState,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n h,\n Listen,\n Prop,\n Fragment,\n} from '@stencil/core';\nimport {buildCustomEvent} from '../../../../utils/event-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {elementHasAncestorTag} from '../../../../utils/utils';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {\n FoldedItemListContext,\n FoldedItemListStateContext,\n} from '../../../common/item-list/item-list-decorators';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {\n ChildTemplatesContext,\n ChildTemplatesContextEvent,\n DisplayConfig,\n ItemDisplayConfigContext,\n} from '../../../common/item-list/stencil-item-decorators';\nimport {ItemDisplayImageSize} from '../../../common/layout/display-options';\nimport {ChildrenWrapper} from '../../../common/result-children/children-wrapper';\nimport {CollectionGuard} from '../../../common/result-children/collection-guard';\nimport {ResultChildrenGuard} from '../../../common/result-children/guard';\nimport {ShowHideButton} from '../../../common/result-children/show-hide-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../../result-template-components/result-template-decorators';\n\nconst childTemplateComponent = 'atomic-result-children-template';\nconst componentTag = 'atomic-result-children';\n\n/**\n * The `atomic-result-children` component is responsible for displaying child results by applying one or more child result templates.\n * Includes two slots, \"before-children\" and \"after-children\", which allow for rendering content before and after the list of children,\n * only when children exist.\n * @part children-root - The wrapper for the message when there are child results\n * @part no-result-root - The wrapper for the message when there are no results.\n * @part show-hide-button - The button that allows to collapse or show all child results.\n * @slot before-children - Slot that allows rendering content before the list of children, only when children exist.\n * @slot after-children - Slot that allows rendering content after the list of children, only when children exist.\n */\n@Component({\n tag: 'atomic-result-children',\n styleUrl: 'atomic-result-children.pcss',\n shadow: true,\n})\nexport class AtomicResultChildren implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ChildTemplatesContext()\n public itemTemplateProvider?: ItemTemplateProvider;\n @FoldedItemListContext()\n private foldedResultList!: FoldedResultList;\n @ResultContext({folded: true})\n private result!: FoldedResult;\n @ItemDisplayConfigContext()\n private displayConfig!: DisplayConfig;\n private initialChildren!: FoldedResult[];\n\n @Element() public host!: HTMLDivElement;\n @State() public error!: Error;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @FoldedItemListStateContext()\n @State()\n private foldedResultListState!: FoldedResultListState;\n @State()\n private showInitialChildren = false;\n\n /**\n * Whether to inherit templates defined in a parent atomic-result-children. Only works for the second level of child nesting.\n */\n @Prop() inheritTemplates = false;\n /**\n * The expected size of the image displayed in the children results.\n */\n @Prop({reflect: true}) imageSize?: ItemDisplayImageSize;\n /**\n * The non-localized copy for an empty result state. An empty string will result in the component being hidden.\n */\n @Prop() public noResultText = 'no-documents-related';\n\n @Listen('atomic/resolveChildTemplates')\n public resolveChildTemplates(event: ChildTemplatesContextEvent) {\n event.preventDefault();\n event.detail(this.itemTemplateProvider);\n }\n\n public initialize() {\n if (this.inheritTemplates) {\n return;\n }\n\n const childrenTemplates = Array.from(\n this.host.querySelectorAll(childTemplateComponent)\n ).filter(\n (template) => !elementHasAncestorTag(template, childTemplateComponent)\n );\n\n if (!childrenTemplates.length) {\n this.error = new Error(\n `The \"${componentTag}\" component requires at least one \"${childTemplateComponent}\" component.`\n );\n return;\n }\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: false,\n templateElements: childrenTemplates,\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n }\n\n private renderChild(child: FoldedResult, isLast: boolean) {\n const content = this.itemTemplateProvider?.getTemplateContent(child.result);\n\n if (!content) {\n return;\n }\n\n const key =\n child.result.uniqueId +\n child.children.map((child) => child.result.uniqueId);\n return (\n <atomic-result\n key={key}\n content={content}\n result={child}\n interactiveResult={buildInteractiveResult(this.bindings.engine, {\n options: {result: extractUnfoldedItem(child)},\n })}\n store={this.bindings.store}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n classes={`child-result ${isLast ? 'last-child' : ''}`.trim()}\n ></atomic-result>\n );\n }\n\n public componentWillRender() {\n if (this.initialChildren || !this.collection) {\n return;\n }\n\n this.initialChildren = this.collection.children;\n }\n\n private get collection() {\n return this.foldedResultListState.results.find((r) => {\n return r.result.uniqueId === this.result.result.uniqueId;\n });\n }\n private loadFullCollection() {\n this.loadedFullCollection = true;\n this.host.dispatchEvent(\n buildCustomEvent('atomic/loadCollection', this.collection)\n );\n }\n private toggleShowInitialChildren = () => {\n if (this.showInitialChildren) {\n this.foldedResultList.logShowMoreFoldedResults(this.result.result);\n } else {\n this.foldedResultList.logShowLessFoldedResults();\n }\n\n this.showInitialChildren = !this.showInitialChildren;\n };\n\n @State() private loadedFullCollection = false;\n\n private renderCollection() {\n const collection = this.collection!;\n\n const children = this.showInitialChildren\n ? this.initialChildren\n : collection.children;\n\n const showShouldButtons =\n this.loadedFullCollection || collection.moreResultsAvailable;\n\n return (\n <Fragment>\n {showShouldButtons && (\n <ShowHideButton\n moreResultsAvailable={collection.moreResultsAvailable}\n loadFullCollection={() => this.loadFullCollection()}\n showInitialChildren={this.showInitialChildren}\n toggleShowInitialChildren={this.toggleShowInitialChildren}\n loadAllResults={this.bindings.i18n.t('load-all-results')}\n collapseResults={this.bindings.i18n.t('collapse-results')}\n />\n )}\n\n <CollectionGuard\n isLoadingMoreResults={collection.isLoadingMoreResults}\n moreResultsAvailable={collection.moreResultsAvailable}\n hasChildren={collection.children.length > 0}\n numberOfChildren={collection.children.length}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n noResultText={this.bindings.i18n.t(this.noResultText)}\n >\n <ChildrenWrapper hasChildren={collection.children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n </CollectionGuard>\n </Fragment>\n );\n }\n\n private renderFoldedResult() {\n if (this.result.children.length === 0) {\n return;\n }\n\n const children = this.result.children;\n\n return (\n <ChildrenWrapper hasChildren={children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n );\n }\n\n public render() {\n return (\n <ResultChildrenGuard\n inheritTemplates={this.inheritTemplates}\n resultTemplateRegistered={this.resultTemplateRegistered}\n templateHasError={this.templateHasError}\n >\n {this.collection ? this.renderCollection() : this.renderFoldedResult()}\n </ResultChildrenGuard>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-children.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,uBAAuB,GAAG,gkkEAAgkkE,CAAC;AACjmkE,mCAAe,uBAAuB;;;;;;;;;;;;ACwCtC,MAAM,sBAAsB,GAAG,iCAAiC,CAAC;AACjE,MAAM,YAAY,GAAG,wBAAwB,CAAC;MAiBjC,oBAAoB;;;QAcd,6BAAwB,GAAG,KAAK,CAAC;QACjC,qBAAgB,GAAG,KAAK,CAAC;QAKlC,wBAAmB,GAAG,KAAK,CAAC;;;;QAK5B,qBAAgB,GAAG,KAAK,CAAC;;;;QAQlB,iBAAY,GAAG,sBAAsB,CAAC;QAsF7C,8BAAyB,GAAG;YAClC,IAAI,IAAI,CAAC,mBAAmB,EAAE;gBAC5B,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;aACpE;iBAAM;gBACL,IAAI,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC;aAClD;YAED,IAAI,CAAC,mBAAmB,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC;SACtD,CAAC;QAEe,yBAAoB,GAAG,KAAK,CAAC;;wCAnHF,KAAK;gCACb,KAAK;;mCAKX,KAAK;gCAKR,KAAK;;4BAQF,sBAAsB;oCAgGZ,KAAK;;IA7FtC,qBAAqB,CAAC,KAAiC;QAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;KACzC;IAEM,UAAU;QACf,IAAI,IAAI,CAAC,gBAAgB,EAAE;YACzB,OAAO;SACR;QAED,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CACnD,CAAC,MAAM,CACN,CAAC,QAAQ,KAAK,CAACA,2BAAqB,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CACvE,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,QAAQ,YAAY,sCAAsC,sBAAsB,cAAc,CAC/F,CAAC;YACF,OAAO;SACR;QAED,IAAI,CAAC,oBAAoB,GAAG,IAAIC,yCAAoB,CAAC;YACnD,sBAAsB,EAAE,KAAK;YAC7B,gBAAgB,EAAE,iBAAiB;YACnC,2BAA2B,EAAE,MAAM,IAAI,CAAC,wBAAwB;YAChE,mBAAmB,EAAE,MAAM,IAAI,CAAC,gBAAgB;YAChD,2BAA2B,EAAE,CAAC,KAAc;gBAC1C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;aACvC;YACD,mBAAmB,EAAE,CAAC,KAAc;gBAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;aAC/B;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;KACJ;IAEO,WAAW,CAAC,KAAmB,EAAE,MAAe;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE5E,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO;SACR;QAED,MAAM,GAAG,GACP,KAAK,CAAC,MAAM,CAAC,QAAQ;YACrB,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvD,QACEC,2BACE,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,KAAK,EACb,iBAAiB,EAAEC,+BAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE;gBAC9D,OAAO,EAAE,EAAC,MAAM,EAAEC,gCAAmB,CAAC,KAAK,CAAC,EAAC;aAC9C,CAAC,EACF,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAC1B,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EACnC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EACzD,OAAO,EAAE,gBAAgB,MAAM,GAAG,YAAY,GAAG,EAAE,EAAE,CAAC,IAAI,EAAE,GAC7C,EACjB;KACH;IAEM,mBAAmB;QACxB,IAAI,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAC5C,OAAO;SACR;QAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;KACjD;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;SAC1D,CAAC,CAAC;KACJ;IACO,kBAAkB;QACxB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,aAAa,CACrBC,2BAAgB,CAAC,uBAAuB,EAAE,IAAI,CAAC,UAAU,CAAC,CAC3D,CAAC;KACH;IAaO,gBAAgB;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAW,CAAC;QAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB;cACrC,IAAI,CAAC,eAAe;cACpB,UAAU,CAAC,QAAQ,CAAC;QAExB,MAAM,iBAAiB,GACrB,IAAI,CAAC,oBAAoB,IAAI,UAAU,CAAC,oBAAoB,CAAC;QAE/D,QACEH,QAACI,cAAQ,QACN,iBAAiB,KAChBJ,QAACK,6BAAc,IACb,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,EACrD,kBAAkB,EAAE,MAAM,IAAI,CAAC,kBAAkB,EAAE,EACnD,mBAAmB,EAAE,IAAI,CAAC,mBAAmB,EAC7C,yBAAyB,EAAE,IAAI,CAAC,yBAAyB,EACzD,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,EACxD,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,GACzD,CACH,EAEDL,QAACM,8BAAe,IACd,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,EACrD,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,EACrD,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAC3C,gBAAgB,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,EAC5C,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EACnC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EACzD,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAErDN,QAACO,8BAAe,IAAC,WAAW,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IACzD,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CACnD,CACe,CACF,CACT,EACX;KACH;IAEO,kBAAkB;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YACrC,OAAO;SACR;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;QAEtC,QACEP,QAACO,8BAAe,IAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,IAC9C,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,KACrB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CACnD,CACe,EAClB;KACH;IAEM,MAAM;QACX,QACEP,QAACQ,kCAAmB,qDAClB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,wBAAwB,EAAE,IAAI,CAAC,wBAAwB,EACvD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAEtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAClD,EACtB;KACH;;;AAtM4B;IAA5BC,sCAAkB,EAAE;sDAA4B;AAE1C;IADNC,2CAAqB,EAAE;kEAC2B;AAE3C;IADPC,oCAAqB,EAAE;8DACoB;AAEpC;IADPC,6CAAa,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC;oDACA;AAEtB;IADPC,8CAAwB,EAAE;2DACW;AAS9B;IAFPC,yCAA0B,EAAE;mEAEyB;;;;;","names":["elementHasAncestorTag","ItemTemplateProvider","h","buildInteractiveResult","extractUnfoldedItem","buildCustomEvent","Fragment","ShowHideButton","CollectionGuard","ChildrenWrapper","ResultChildrenGuard","InitializeBindings","ChildTemplatesContext","FoldedItemListContext","ResultContext","ItemDisplayConfigContext","FoldedItemListStateContext"],"sources":["src/components/search/result-lists/atomic-result-children/atomic-result-children.pcss?tag=atomic-result-children&encapsulation=shadow","src/components/search/result-lists/atomic-result-children/atomic-result-children.tsx"],"sourcesContent":["@import '../../../../components/common/result-children/result-children.pcss';\n","import {\n buildInteractiveResult,\n FoldedResult,\n FoldedResultList,\n FoldedResultListState,\n} from '@coveo/headless';\nimport {\n Component,\n Element,\n State,\n h,\n Listen,\n Prop,\n Fragment,\n} from '@stencil/core';\nimport {buildCustomEvent} from '../../../../utils/event-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {elementHasAncestorTag} from '../../../../utils/utils';\nimport {extractUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {\n FoldedItemListContext,\n FoldedItemListStateContext,\n} from '../../../common/item-list/item-list-decorators';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {\n ChildTemplatesContext,\n ChildTemplatesContextEvent,\n DisplayConfig,\n ItemDisplayConfigContext,\n} from '../../../common/item-list/stencil-item-decorators';\nimport {ItemDisplayImageSize} from '../../../common/layout/display-options';\nimport {ChildrenWrapper} from '../../../common/result-children/children-wrapper';\nimport {CollectionGuard} from '../../../common/result-children/collection-guard';\nimport {ResultChildrenGuard} from '../../../common/result-children/guard';\nimport {ShowHideButton} from '../../../common/result-children/show-hide-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\nconst childTemplateComponent = 'atomic-result-children-template';\nconst componentTag = 'atomic-result-children';\n\n/**\n * The `atomic-result-children` component is responsible for displaying child results by applying one or more child result templates.\n * Includes two slots, \"before-children\" and \"after-children\", which allow for rendering content before and after the list of children,\n * only when children exist.\n * @part children-root - The wrapper for the message when there are child results\n * @part no-result-root - The wrapper for the message when there are no results.\n * @part show-hide-button - The button that allows to collapse or show all child results.\n * @slot before-children - Slot that allows rendering content before the list of children, only when children exist.\n * @slot after-children - Slot that allows rendering content after the list of children, only when children exist.\n */\n@Component({\n tag: 'atomic-result-children',\n styleUrl: 'atomic-result-children.pcss',\n shadow: true,\n})\nexport class AtomicResultChildren implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ChildTemplatesContext()\n public itemTemplateProvider?: ItemTemplateProvider;\n @FoldedItemListContext()\n private foldedResultList!: FoldedResultList;\n @ResultContext({folded: true})\n private result!: FoldedResult;\n @ItemDisplayConfigContext()\n private displayConfig!: DisplayConfig;\n private initialChildren!: FoldedResult[];\n\n @Element() public host!: HTMLDivElement;\n @State() public error!: Error;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @FoldedItemListStateContext()\n @State()\n private foldedResultListState!: FoldedResultListState;\n @State()\n private showInitialChildren = false;\n\n /**\n * Whether to inherit templates defined in a parent atomic-result-children. Only works for the second level of child nesting.\n */\n @Prop() inheritTemplates = false;\n /**\n * The expected size of the image displayed in the children results.\n */\n @Prop({reflect: true}) imageSize?: ItemDisplayImageSize;\n /**\n * The non-localized copy for an empty result state. An empty string will result in the component being hidden.\n */\n @Prop() public noResultText = 'no-documents-related';\n\n @Listen('atomic/resolveChildTemplates')\n public resolveChildTemplates(event: ChildTemplatesContextEvent) {\n event.preventDefault();\n event.detail(this.itemTemplateProvider);\n }\n\n public initialize() {\n if (this.inheritTemplates) {\n return;\n }\n\n const childrenTemplates = Array.from(\n this.host.querySelectorAll(childTemplateComponent)\n ).filter(\n (template) => !elementHasAncestorTag(template, childTemplateComponent)\n );\n\n if (!childrenTemplates.length) {\n this.error = new Error(\n `The \"${componentTag}\" component requires at least one \"${childTemplateComponent}\" component.`\n );\n return;\n }\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: false,\n templateElements: childrenTemplates,\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n }\n\n private renderChild(child: FoldedResult, isLast: boolean) {\n const content = this.itemTemplateProvider?.getTemplateContent(child.result);\n\n if (!content) {\n return;\n }\n\n const key =\n child.result.uniqueId +\n child.children.map((child) => child.result.uniqueId);\n return (\n <atomic-result\n key={key}\n content={content}\n result={child}\n interactiveResult={buildInteractiveResult(this.bindings.engine, {\n options: {result: extractUnfoldedItem(child)},\n })}\n store={this.bindings.store}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n classes={`child-result ${isLast ? 'last-child' : ''}`.trim()}\n ></atomic-result>\n );\n }\n\n public componentWillRender() {\n if (this.initialChildren || !this.collection) {\n return;\n }\n\n this.initialChildren = this.collection.children;\n }\n\n private get collection() {\n return this.foldedResultListState.results.find((r) => {\n return r.result.uniqueId === this.result.result.uniqueId;\n });\n }\n private loadFullCollection() {\n this.loadedFullCollection = true;\n this.host.dispatchEvent(\n buildCustomEvent('atomic/loadCollection', this.collection)\n );\n }\n private toggleShowInitialChildren = () => {\n if (this.showInitialChildren) {\n this.foldedResultList.logShowMoreFoldedResults(this.result.result);\n } else {\n this.foldedResultList.logShowLessFoldedResults();\n }\n\n this.showInitialChildren = !this.showInitialChildren;\n };\n\n @State() private loadedFullCollection = false;\n\n private renderCollection() {\n const collection = this.collection!;\n\n const children = this.showInitialChildren\n ? this.initialChildren\n : collection.children;\n\n const showShouldButtons =\n this.loadedFullCollection || collection.moreResultsAvailable;\n\n return (\n <Fragment>\n {showShouldButtons && (\n <ShowHideButton\n moreResultsAvailable={collection.moreResultsAvailable}\n loadFullCollection={() => this.loadFullCollection()}\n showInitialChildren={this.showInitialChildren}\n toggleShowInitialChildren={this.toggleShowInitialChildren}\n loadAllResults={this.bindings.i18n.t('load-all-results')}\n collapseResults={this.bindings.i18n.t('collapse-results')}\n />\n )}\n\n <CollectionGuard\n isLoadingMoreResults={collection.isLoadingMoreResults}\n moreResultsAvailable={collection.moreResultsAvailable}\n hasChildren={collection.children.length > 0}\n numberOfChildren={collection.children.length}\n density={this.displayConfig.density}\n imageSize={this.imageSize || this.displayConfig.imageSize}\n noResultText={this.bindings.i18n.t(this.noResultText)}\n >\n <ChildrenWrapper hasChildren={collection.children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n </CollectionGuard>\n </Fragment>\n );\n }\n\n private renderFoldedResult() {\n if (this.result.children.length === 0) {\n return;\n }\n\n const children = this.result.children;\n\n return (\n <ChildrenWrapper hasChildren={children.length > 0}>\n {children.map((child, i) =>\n this.renderChild(child, i === children.length - 1)\n )}\n </ChildrenWrapper>\n );\n }\n\n public render() {\n return (\n <ResultChildrenGuard\n inheritTemplates={this.inheritTemplates}\n resultTemplateRegistered={this.resultTemplateRegistered}\n templateHasError={this.templateHasError}\n >\n {this.collection ? this.renderCollection() : this.renderFoldedResult()}\n </ResultChildrenGuard>\n );\n }\n}\n"],"version":3}
@@ -8,7 +8,7 @@ const dayjs_min = require('./dayjs.min-8b80e6d1.js');
8
8
  const _commonjsHelpers = require('./_commonjsHelpers-b3309d7b.js');
9
9
  const dateUtils = require('./date-utils-f0803dd3.js');
10
10
  const initializationUtils = require('./initialization-utils-92f1b080.js');
11
- const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
11
+ const stencilResultTemplateDecorators = require('./stencil-result-template-decorators-28b05aaf.js');
12
12
  require('./dom-utils-d4790328.js');
13
13
  require('./event-utils-9bfcf3c5.js');
14
14
  require('./init-queue-a18aa323.js');
@@ -107,7 +107,7 @@ __decorate([
107
107
  initializationUtils.InitializeBindings()
108
108
  ], AtomicResultDate.prototype, "bindings", void 0);
109
109
  __decorate([
110
- resultTemplateDecorators.ResultContext()
110
+ stencilResultTemplateDecorators.ResultContext()
111
111
  ], AtomicResultDate.prototype, "result", void 0);
112
112
 
113
113
  exports.atomic_result_date = AtomicResultDate;
@@ -1 +1 @@
1
- {"file":"atomic-result-date.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;AAAA,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAkI,CAAC,CAACA,+BAAI,EAAE,UAAU,CAAc,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAM,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE;;;;;;;;ACAluB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAsD,eAAe,CAAC,GAAsI,CAAC,CAACA,+BAAI,EAAE,UAAU,CAAc,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;ACarYC,eAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvBA,eAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;MASd,gBAAgB;;;;;;;;QAeJ,UAAK,GAAG,MAAM,CAAC;;;;QAIf,WAAM,GAAG,UAAU,CAAC;QASnC,iBAAY,GAAkB,IAAI,CAAC;;qBAbZ,MAAM;sBAIL,UAAU;;;IAWlC,kBAAkB;QACxB,MAAM,KAAK,GAAGC,+BAAsB,CAAC,iBAAiB,CACpD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO;SACR;QAED,MAAM,WAAW,GAAGC,mBAAS,CAAC,KAAc,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,UAAU,IAAI,CAAC,KAAK,kCAAkC,CACvD,CAAC;YACF,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,OAAO;SACR;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrBF,eAAK,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE;gBAC1D,QAAQ,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBAClD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACpD,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC;oBAClD,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC;oBACpD,QAAQ,EAAE,IAAI,CAAC,MAAM;iBACtB;aACF,CAAC,CAAC;YACH,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SACrD;KACF;IAEM,mBAAmB;QACxB,IAAI,CAAC,kBAAkB,EAAE,CAAC;KAC3B;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;SACR;QACD,OAAO,IAAI,CAAC,YAAY,CAAC;KAC1B;;;AA3EM;IADNG,sCAAkB,EAAE;kDACM;AAEF;IAAxBC,sCAAa,EAAE;gDAAyB;;;;","names":["this","dayjs","ResultTemplatesHelpers","parseDate","InitializeBindings","ResultContext"],"sources":["../../node_modules/dayjs/plugin/calendar.js","../../node_modules/dayjs/plugin/updateLocale.js","src/components/search/result-template-components/atomic-result-date/atomic-result-date.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_calendar=t()}(this,(function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,o=a(e||void 0).startOf(\"d\"),s=this.diff(o,\"d\",!0),i=\"sameElse\",f=s<-6?i:s<-1?\"lastWeek\":s<0?\"lastDay\":s<1?\"sameDay\":s<2?\"nextDay\":s<7?\"nextWeek\":i,l=n[f]||d[f];return\"function\"==typeof l?l.call(this,a()):this.format(l)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State} from '@stencil/core';\nimport dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\ndayjs.extend(calendar);\ndayjs.extend(updateLocale);\n\n/**\n * The `atomic-result-date` component renders the value of a date result field.\n */\n@Component({\n tag: 'atomic-result-date',\n shadow: false,\n})\nexport class AtomicResultDate implements InitializableComponent {\n @InitializeBindings()\n public bindings!: Bindings;\n\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look for the field in the Result object first, and then in the Result.raw object.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field = 'date';\n /**\n * Available formats: https://day.js.org/docs/en/display/format\n */\n @Prop({reflect: true}) format = 'D/M/YYYY';\n\n /**\n * Whether the date should display in the [relative time format](https://day.js.org/docs/en/plugin/calendar).\n *\n * To modify the relative time string, use the [localization feature](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/).\n */\n @Prop({reflect: true}) relativeTime?: boolean;\n\n private dateToRender: string | null = null;\n\n private updateDateToRender() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n this.dateToRender = null;\n return;\n }\n\n const parsedValue = parseDate(value as never);\n if (!parsedValue.isValid()) {\n this.error = new Error(\n `Field \"${this.field}\" does not contain a valid date.`\n );\n this.dateToRender = null;\n return;\n }\n\n if (this.relativeTime) {\n dayjs.updateLocale(this.bindings.interfaceElement.language, {\n calendar: {\n sameDay: this.bindings.i18n.t('calendar-same-day'),\n nextDay: this.bindings.i18n.t('calendar-next-day'),\n nextWeek: this.bindings.i18n.t('calendar-next-week'),\n lastDay: this.bindings.i18n.t('calendar-last-day'),\n lastWeek: this.bindings.i18n.t('calendar-last-week'),\n sameElse: this.format,\n },\n });\n this.dateToRender = parsedValue.calendar();\n } else {\n this.dateToRender = parsedValue.format(this.format);\n }\n }\n\n public componentWillRender() {\n this.updateDateToRender();\n }\n\n public render() {\n if (this.dateToRender === null) {\n this.host.remove();\n return;\n }\n return this.dateToRender;\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-date.entry.cjs.js","mappings":"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","names":["this","dayjs","ResultTemplatesHelpers","parseDate","InitializeBindings","ResultContext"],"sources":["../../node_modules/dayjs/plugin/calendar.js","../../node_modules/dayjs/plugin/updateLocale.js","src/components/search/result-template-components/atomic-result-date/atomic-result-date.tsx"],"sourcesContent":["!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_calendar=t()}(this,(function(){\"use strict\";return function(e,t,a){var n=\"h:mm A\",d={lastDay:\"[Yesterday at] \"+n,sameDay:\"[Today at] \"+n,nextDay:\"[Tomorrow at] \"+n,nextWeek:\"dddd [at] \"+n,lastWeek:\"[Last] dddd [at] \"+n,sameElse:\"MM/DD/YYYY\"};t.prototype.calendar=function(e,t){var n=t||this.$locale().calendar||d,o=a(e||void 0).startOf(\"d\"),s=this.diff(o,\"d\",!0),i=\"sameElse\",f=s<-6?i:s<-1?\"lastWeek\":s<0?\"lastDay\":s<1?\"sameDay\":s<2?\"nextDay\":s<7?\"nextWeek\":i,l=n[f]||d[f];return\"function\"==typeof l?l.call(this,a()):this.format(l)}}}));","!function(e,n){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define(n):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_updateLocale=n()}(this,(function(){\"use strict\";return function(e,n,t){t.updateLocale=function(e,n){var o=t.Ls[e];if(o)return(n?Object.keys(n):[]).forEach((function(e){o[e]=n[e]})),o}}}));","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State} from '@stencil/core';\nimport dayjs from 'dayjs';\nimport calendar from 'dayjs/plugin/calendar';\nimport updateLocale from 'dayjs/plugin/updateLocale';\nimport {parseDate} from '../../../../utils/date-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\ndayjs.extend(calendar);\ndayjs.extend(updateLocale);\n\n/**\n * The `atomic-result-date` component renders the value of a date result field.\n */\n@Component({\n tag: 'atomic-result-date',\n shadow: false,\n})\nexport class AtomicResultDate implements InitializableComponent {\n @InitializeBindings()\n public bindings!: Bindings;\n\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look for the field in the Result object first, and then in the Result.raw object.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field = 'date';\n /**\n * Available formats: https://day.js.org/docs/en/display/format\n */\n @Prop({reflect: true}) format = 'D/M/YYYY';\n\n /**\n * Whether the date should display in the [relative time format](https://day.js.org/docs/en/plugin/calendar).\n *\n * To modify the relative time string, use the [localization feature](https://docs.coveo.com/en/atomic/latest/usage/atomic-localization/).\n */\n @Prop({reflect: true}) relativeTime?: boolean;\n\n private dateToRender: string | null = null;\n\n private updateDateToRender() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n this.dateToRender = null;\n return;\n }\n\n const parsedValue = parseDate(value as never);\n if (!parsedValue.isValid()) {\n this.error = new Error(\n `Field \"${this.field}\" does not contain a valid date.`\n );\n this.dateToRender = null;\n return;\n }\n\n if (this.relativeTime) {\n dayjs.updateLocale(this.bindings.interfaceElement.language, {\n calendar: {\n sameDay: this.bindings.i18n.t('calendar-same-day'),\n nextDay: this.bindings.i18n.t('calendar-next-day'),\n nextWeek: this.bindings.i18n.t('calendar-next-week'),\n lastDay: this.bindings.i18n.t('calendar-last-day'),\n lastWeek: this.bindings.i18n.t('calendar-last-week'),\n sameElse: this.format,\n },\n });\n this.dateToRender = parsedValue.calendar();\n } else {\n this.dateToRender = parsedValue.format(this.format);\n }\n }\n\n public componentWillRender() {\n this.updateDateToRender();\n }\n\n public render() {\n if (this.dateToRender === null) {\n this.host.remove();\n return;\n }\n return this.dateToRender;\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-757bc886.js');
6
- const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
6
+ const stencilResultTemplateDecorators = require('./stencil-result-template-decorators-28b05aaf.js');
7
7
  require('./stencil-item-decorators-43a96f33.js');
8
8
  require('./dom-utils-d4790328.js');
9
9
  require('./event-utils-9bfcf3c5.js');
@@ -104,12 +104,12 @@ const AtomicResultFieldsList = class {
104
104
  }
105
105
  }
106
106
  render() {
107
- return index.h(index.Host, { key: 'dd3ddbee78fac8ab084eb346cb0d2d5a020446a3' });
107
+ return index.h(index.Host, { key: '5130a2c93d24997eea3d11bc181595cef9a100a7' });
108
108
  }
109
109
  get host() { return index.getElement(this); }
110
110
  };
111
111
  __decorate([
112
- resultTemplateDecorators.ResultContext()
112
+ stencilResultTemplateDecorators.ResultContext()
113
113
  ], AtomicResultFieldsList.prototype, "result", void 0);
114
114
  AtomicResultFieldsList.style = AtomicResultFieldsListStyle0;
115
115
 
@@ -1 +1 @@
1
- {"file":"atomic-result-fields-list.entry.cjs.js","mappings":"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","names":["h","Host","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-fields-list/atomic-result-fields-list.pcss?tag=atomic-result-fields-list","src/components/search/result-template-components/atomic-result-fields-list/atomic-result-fields-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\natomic-result-fields-list {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100%;\n\n > * {\n &::after {\n display: block;\n content: ' ';\n width: 1px;\n height: 1rem;\n margin: 0 1rem;\n @apply bg-neutral;\n vertical-align: middle;\n }\n\n &.hide-divider::after {\n visibility: hidden;\n }\n }\n}\n","import {Result} from '@coveo/headless';\nimport {Component, h, Element, Host} from '@stencil/core';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-fields-list` component selectively renders its children to ensure they fit the parent element and adds dividers between them.\n * @slot default - The children to render.\n */\n@Component({\n tag: 'atomic-result-fields-list',\n styleUrl: 'atomic-result-fields-list.pcss',\n shadow: false,\n})\nexport class AtomicResultFieldsList {\n @ResultContext()\n protected result!: Result;\n\n private resizeObserver?: ResizeObserver;\n\n private updatingChildren = false;\n private rows: number[] = [];\n @Element() private host!: HTMLElement;\n\n public connectedCallback() {\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.update());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n public componentDidRender() {\n this.update();\n }\n\n public update() {\n if (this.updatingChildren) {\n return;\n }\n this.updatingChildren = true;\n this.showDividers();\n this.showChildren();\n this.hideChildrenToFit();\n this.hideDividersAtEndOfRows();\n this.updatingChildren = false;\n }\n\n private get hostChildren() {\n return Array.from(this.host.children) as HTMLElement[];\n }\n\n private get isOverflowing() {\n return (\n this.host.scrollWidth > this.host.clientWidth ||\n this.host.scrollHeight > this.host.clientHeight\n );\n }\n\n private getSortedChildrenBySize() {\n return this.hostChildren.sort((a, b) => a.offsetWidth - b.offsetWidth);\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private isChildHidden(element: HTMLElement) {\n return element.style.display === 'none';\n }\n\n private setHideDivider(element: HTMLElement, hideDivider: boolean) {\n element.classList.toggle('hide-divider', hideDivider);\n }\n\n private showChildren() {\n this.hostChildren.forEach((child) => this.show(child));\n }\n\n private showDividers() {\n this.hostChildren.forEach((child) => this.setHideDivider(child, false));\n }\n\n private hideChildrenToFit() {\n const children = this.getSortedChildrenBySize();\n for (let i = children.length - 1; this.isOverflowing && i >= 0; i--) {\n this.hide(children[i]);\n }\n }\n\n private hideDividersAtEndOfRows() {\n this.rows = [];\n let previousChild: HTMLElement | null = null;\n this.hostChildren\n .filter((child) => !this.isChildHidden(child))\n .forEach((child) => {\n const row = child.offsetTop;\n if (this.rows.indexOf(row) === -1) {\n this.rows.push(row);\n if (previousChild) {\n this.setHideDivider(previousChild, true);\n }\n }\n previousChild = child;\n });\n if (previousChild) {\n this.setHideDivider(previousChild, true);\n }\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-fields-list.entry.cjs.js","mappings":"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","names":["h","Host","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-fields-list/atomic-result-fields-list.pcss?tag=atomic-result-fields-list","src/components/search/result-template-components/atomic-result-fields-list/atomic-result-fields-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\natomic-result-fields-list {\n display: flex;\n flex-wrap: wrap;\n width: 100%;\n height: 100%;\n\n > * {\n &::after {\n display: block;\n content: ' ';\n width: 1px;\n height: 1rem;\n margin: 0 1rem;\n @apply bg-neutral;\n vertical-align: middle;\n }\n\n &.hide-divider::after {\n visibility: hidden;\n }\n }\n}\n","import {Result} from '@coveo/headless';\nimport {Component, h, Element, Host} from '@stencil/core';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-fields-list` component selectively renders its children to ensure they fit the parent element and adds dividers between them.\n * @slot default - The children to render.\n */\n@Component({\n tag: 'atomic-result-fields-list',\n styleUrl: 'atomic-result-fields-list.pcss',\n shadow: false,\n})\nexport class AtomicResultFieldsList {\n @ResultContext()\n protected result!: Result;\n\n private resizeObserver?: ResizeObserver;\n\n private updatingChildren = false;\n private rows: number[] = [];\n @Element() private host!: HTMLElement;\n\n public connectedCallback() {\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.update());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n public componentDidRender() {\n this.update();\n }\n\n public update() {\n if (this.updatingChildren) {\n return;\n }\n this.updatingChildren = true;\n this.showDividers();\n this.showChildren();\n this.hideChildrenToFit();\n this.hideDividersAtEndOfRows();\n this.updatingChildren = false;\n }\n\n private get hostChildren() {\n return Array.from(this.host.children) as HTMLElement[];\n }\n\n private get isOverflowing() {\n return (\n this.host.scrollWidth > this.host.clientWidth ||\n this.host.scrollHeight > this.host.clientHeight\n );\n }\n\n private getSortedChildrenBySize() {\n return this.hostChildren.sort((a, b) => a.offsetWidth - b.offsetWidth);\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private isChildHidden(element: HTMLElement) {\n return element.style.display === 'none';\n }\n\n private setHideDivider(element: HTMLElement, hideDivider: boolean) {\n element.classList.toggle('hide-divider', hideDivider);\n }\n\n private showChildren() {\n this.hostChildren.forEach((child) => this.show(child));\n }\n\n private showDividers() {\n this.hostChildren.forEach((child) => this.setHideDivider(child, false));\n }\n\n private hideChildrenToFit() {\n const children = this.getSortedChildrenBySize();\n for (let i = children.length - 1; this.isOverflowing && i >= 0; i--) {\n this.hide(children[i]);\n }\n }\n\n private hideDividersAtEndOfRows() {\n this.rows = [];\n let previousChild: HTMLElement | null = null;\n this.hostChildren\n .filter((child) => !this.isChildHidden(child))\n .forEach((child) => {\n const row = child.offsetTop;\n if (this.rows.indexOf(row) === -1) {\n this.rows.push(row);\n if (previousChild) {\n this.setHideDivider(previousChild, true);\n }\n }\n previousChild = child;\n });\n if (previousChild) {\n this.setHideDivider(previousChild, true);\n }\n }\n\n render() {\n return <Host></Host>;\n }\n}\n"],"version":3}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const initializationUtils = require('./initialization-utils-92f1b080.js');
7
7
  const resultUtils = require('./result-utils-3313d650.js');
8
- const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
8
+ const stencilResultTemplateDecorators = require('./stencil-result-template-decorators-28b05aaf.js');
9
9
  require('./dom-utils-d4790328.js');
10
10
  require('./event-utils-9bfcf3c5.js');
11
11
  require('./init-queue-a18aa323.js');
@@ -48,7 +48,7 @@ __decorate([
48
48
  initializationUtils.InitializeBindings()
49
49
  ], AtomicResultHtml.prototype, "bindings", void 0);
50
50
  __decorate([
51
- resultTemplateDecorators.ResultContext()
51
+ stencilResultTemplateDecorators.ResultContext()
52
52
  ], AtomicResultHtml.prototype, "result", void 0);
53
53
 
54
54
  exports.atomic_result_html = AtomicResultHtml;
@@ -1 +1 @@
1
- {"file":"atomic-result-html.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAqBa,gBAAgB;;;;;;QAkBG,aAAQ,GAAG,IAAI,CAAC;;;wBAAL,IAAI;;IAEtC,MAAM;QACX,MAAM,WAAW,GAAGA,0CAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;SACR;QAED,QACEC,yBAAa,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAgB,EACxE;KACH;;;AA7B4B;IAA5BC,sCAAkB,EAAE;kDAA4B;AACxB;IAAxBC,sCAAa,EAAE;gDAAyB;;;;","names":["getStringValueFromResultOrNull","h","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-html/atomic-result-html.tsx"],"sourcesContent":["import {Result} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-html` component renders the HTML value of a string result field.\n *\n * There is an inherent XSS security concern associated with the usage of this component.\n *\n * Use only with fields for which you are certain the data is harmless.\n */\n@Component({\n tag: 'atomic-result-html',\n shadow: false,\n})\nexport class AtomicResultHtml implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * If set, Atomic searches for the specified field in the `Result` object first.\n * If there's no such a field, Atomic searches through the `Result.raw` object.\n * It's important to include the necessary field in the `ResultList` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * Specify if the content should be sanitized, using [`DOMPurify`](https://www.npmjs.com/package/dompurify).\n */\n @Prop({reflect: true}) public sanitize = true;\n\n public render() {\n const resultValue = getStringValueFromResultOrNull(this.result, this.field);\n if (!resultValue) {\n this.host.remove();\n return;\n }\n\n return (\n <atomic-html value={resultValue} sanitize={this.sanitize}></atomic-html>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-html.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;MAqBa,gBAAgB;;;;;;QAkBG,aAAQ,GAAG,IAAI,CAAC;;;wBAAL,IAAI;;IAEtC,MAAM;QACX,MAAM,WAAW,GAAGA,0CAA8B,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;SACR;QAED,QACEC,yBAAa,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAgB,EACxE;KACH;;;AA7B4B;IAA5BC,sCAAkB,EAAE;kDAA4B;AACxB;IAAxBC,6CAAa,EAAE;gDAAyB;;;;","names":["getStringValueFromResultOrNull","h","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-html/atomic-result-html.tsx"],"sourcesContent":["import {Result} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-html` component renders the HTML value of a string result field.\n *\n * There is an inherent XSS security concern associated with the usage of this component.\n *\n * Use only with fields for which you are certain the data is harmless.\n */\n@Component({\n tag: 'atomic-result-html',\n shadow: false,\n})\nexport class AtomicResultHtml implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * If set, Atomic searches for the specified field in the `Result` object first.\n * If there's no such a field, Atomic searches through the `Result.raw` object.\n * It's important to include the necessary field in the `ResultList` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * Specify if the content should be sanitized, using [`DOMPurify`](https://www.npmjs.com/package/dompurify).\n */\n @Prop({reflect: true}) public sanitize = true;\n\n public render() {\n const resultValue = getStringValueFromResultOrNull(this.result, this.field);\n if (!resultValue) {\n this.host.remove();\n return;\n }\n\n return (\n <atomic-html value={resultValue} sanitize={this.sanitize}></atomic-html>\n );\n }\n}\n"],"version":3}
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-757bc886.js');
6
6
  const headless = require('@coveo/headless');
7
7
  const utils = require('./utils-12b49e87.js');
8
- const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
8
+ const stencilResultTemplateDecorators = require('./stencil-result-template-decorators-28b05aaf.js');
9
9
  require('./purify-85b542e2.js');
10
10
  require('./_commonjsHelpers-b3309d7b.js');
11
11
  require('./stencil-item-decorators-43a96f33.js');
@@ -922,7 +922,7 @@ const AtomicResultIcon = class {
922
922
  get host() { return index.getElement(this); }
923
923
  };
924
924
  __decorate([
925
- resultTemplateDecorators.ResultContext()
925
+ stencilResultTemplateDecorators.ResultContext()
926
926
  ], AtomicResultIcon.prototype, "result", void 0);
927
927
  AtomicResultIcon.style = AtomicResultIconStyle0;
928
928