@coveo/atomic 3.35.0-pre.bc0eb65a59 → 3.35.0-pre.c5c77d8c36

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 (1027) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +2 -2
  4. package/dist/atomic/components/_index.js +20 -21
  5. package/dist/atomic/components/atomic-category-facet.js +1 -1
  6. package/dist/atomic/components/atomic-citation.js +1 -1
  7. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  8. package/dist/atomic/components/atomic-facet.js +1 -1
  9. package/dist/atomic/components/atomic-field-condition.js +1 -1
  10. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  11. package/dist/atomic/components/atomic-folded-result-list.js +2 -1
  12. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  13. package/dist/atomic/components/atomic-format-currency.js +1 -1
  14. package/dist/atomic/components/atomic-format-number.js +1 -1
  15. package/dist/atomic/components/atomic-format-unit.js +1 -1
  16. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  17. package/dist/atomic/components/atomic-html2.js +1 -1
  18. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  19. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  20. package/dist/atomic/components/atomic-insight-folded-result-list.js +3 -2
  21. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  22. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  23. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  24. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  25. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  26. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  27. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  28. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  29. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  30. package/dist/atomic/components/atomic-insight-result-action.js +2 -2
  31. package/dist/atomic/components/atomic-insight-result-action.js.map +1 -1
  32. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +2 -2
  33. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js.map +1 -1
  34. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +2 -2
  35. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js.map +1 -1
  36. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  37. package/dist/atomic/components/atomic-insight-result-list.js +3 -2
  38. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  39. package/dist/atomic/components/atomic-insight-result-quickview-action.js +2 -2
  40. package/dist/atomic/components/atomic-insight-result-quickview-action.js.map +1 -1
  41. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  42. package/dist/atomic/components/atomic-insight-search-box.js +31 -4
  43. package/dist/atomic/components/atomic-insight-search-box.js.map +1 -1
  44. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  45. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  46. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  47. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  48. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  49. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  50. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  51. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  52. package/dist/atomic/components/atomic-ipx-recs-list.js +3 -2
  53. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  54. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  56. package/dist/atomic/components/atomic-ipx-result-link.js +2 -2
  57. package/dist/atomic/components/atomic-ipx-result-link.js.map +1 -1
  58. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  59. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  60. package/dist/atomic/components/atomic-no-results.js +1 -1
  61. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  62. package/dist/atomic/components/atomic-query-error.js +1 -1
  63. package/dist/atomic/components/atomic-quickview.js +2 -2
  64. package/dist/atomic/components/atomic-quickview.js.map +1 -1
  65. package/dist/atomic/components/atomic-recs-error.js +1 -1
  66. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  67. package/dist/atomic/components/atomic-recs-list.js +3 -2
  68. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  69. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  70. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  71. package/dist/atomic/components/atomic-result-badge.js +1 -1
  72. package/dist/atomic/components/atomic-result-badge.js.map +1 -1
  73. package/dist/atomic/components/atomic-result-children.js +2 -2
  74. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  75. package/dist/atomic/components/atomic-result-date.js +1 -1
  76. package/dist/atomic/components/atomic-result-date.js.map +1 -1
  77. package/dist/atomic/components/atomic-result-fields-list.js +2 -2
  78. package/dist/atomic/components/atomic-result-fields-list.js.map +1 -1
  79. package/dist/atomic/components/atomic-result-html.js +1 -1
  80. package/dist/atomic/components/atomic-result-html.js.map +1 -1
  81. package/dist/atomic/components/atomic-result-icon.js +1 -1
  82. package/dist/atomic/components/atomic-result-icon.js.map +1 -1
  83. package/dist/atomic/components/atomic-result-image.js +1 -1
  84. package/dist/atomic/components/atomic-result-image.js.map +1 -1
  85. package/dist/atomic/components/atomic-result-link.js +2 -2
  86. package/dist/atomic/components/atomic-result-link.js.map +1 -1
  87. package/dist/atomic/components/atomic-result-list.js +3 -2
  88. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  89. package/dist/atomic/components/atomic-result-localized-text.js +1 -1
  90. package/dist/atomic/components/atomic-result-localized-text.js.map +1 -1
  91. package/dist/atomic/components/atomic-result-multi-value-text.js +1 -1
  92. package/dist/atomic/components/atomic-result-multi-value-text.js.map +1 -1
  93. package/dist/atomic/components/atomic-result-number.js +1 -1
  94. package/dist/atomic/components/atomic-result-number.js.map +1 -1
  95. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  96. package/dist/atomic/components/atomic-result-printable-uri.js +1 -1
  97. package/dist/atomic/components/atomic-result-printable-uri.js.map +1 -1
  98. package/dist/atomic/components/atomic-result-rating.js +1 -1
  99. package/dist/atomic/components/atomic-result-rating.js.map +1 -1
  100. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  101. package/dist/atomic/components/atomic-result-text2.js +1 -1
  102. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  103. package/dist/atomic/components/atomic-result-timespan.js +1 -1
  104. package/dist/atomic/components/atomic-result-timespan.js.map +1 -1
  105. package/dist/atomic/components/atomic-result2.js.map +1 -1
  106. package/dist/atomic/components/atomic-search-box-instant-results.d.ts +11 -0
  107. package/dist/atomic/components/atomic-search-box-instant-results.js +247 -0
  108. package/dist/atomic/components/atomic-search-box-instant-results.js.map +1 -0
  109. package/dist/atomic/components/atomic-search-box.js +4 -10
  110. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  111. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  112. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  113. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  114. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  115. package/dist/atomic/components/atomic-smart-snippet-source2.js.map +1 -1
  116. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  117. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  118. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  119. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  120. package/dist/atomic/components/components/commerce/atomic-product-children/atomic-product-children.js +1 -1
  121. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +1 -1
  122. package/dist/atomic/components/components/commerce/atomic-product-excerpt/atomic-product-excerpt.js +1 -1
  123. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +1 -1
  124. package/dist/atomic/components/components/commerce/atomic-product-image/atomic-product-image.js +1 -1
  125. package/dist/atomic/components/components/commerce/atomic-product-link/atomic-product-link.js +2 -1
  126. package/dist/atomic/components/components/commerce/atomic-product-multi-value-text/atomic-product-multi-value-text.js +1 -1
  127. package/dist/atomic/components/components/commerce/atomic-product-numeric-field-value/atomic-product-numeric-field-value.js +1 -1
  128. package/dist/atomic/components/components/commerce/atomic-product-price/atomic-product-price.js +1 -1
  129. package/dist/atomic/components/components/commerce/atomic-product-rating/atomic-product-rating.js +1 -1
  130. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +1 -1
  131. package/dist/atomic/components/components/commerce/product-template-component-utils/context/interactive-product-context-controller.js +25 -0
  132. package/dist/atomic/components/components/commerce/product-template-component-utils/context/product-context-controller.js +29 -0
  133. package/dist/atomic/components/components/common/suggestions/query-suggestions.js +11 -16
  134. package/dist/atomic/components/components/search/atomic-search-box-query-suggestions/atomic-search-box-query-suggestions.js +104 -0
  135. package/dist/atomic/components/components/search/index.js +1 -1
  136. package/dist/atomic/components/components/search/lazy-index.js +1 -1
  137. package/dist/atomic/components/facet-number-input.js +2 -2
  138. package/dist/atomic/components/global/environment.js +1 -1
  139. package/dist/atomic/components/index.js.map +1 -1
  140. package/dist/atomic/components/item-template-provider.js +1 -21
  141. package/dist/atomic/components/item-template-provider.js.map +1 -1
  142. package/dist/atomic/components/show-hide-button.js +1 -1
  143. package/dist/atomic/components/stencil-button-style.js +46 -0
  144. package/dist/atomic/components/stencil-button-style.js.map +1 -0
  145. package/dist/atomic/components/stencil-button.js +2 -44
  146. package/dist/atomic/components/stencil-button.js.map +1 -1
  147. package/dist/atomic/components/stencil-placeholders.js +24 -0
  148. package/dist/atomic/components/stencil-placeholders.js.map +1 -0
  149. package/dist/atomic/components/stencil-radio-button.js +2 -1
  150. package/dist/atomic/components/stencil-radio-button.js.map +1 -1
  151. package/dist/atomic/components/{result-template-decorators.js → stencil-result-template-decorators.js} +6 -2
  152. package/dist/atomic/components/stencil-result-template-decorators.js.map +1 -0
  153. package/dist/atomic/components/tab-button.js +1 -1
  154. package/dist/atomic/components/tab-popover.js +1 -1
  155. package/dist/atomic/index.esm.js +1 -1
  156. package/dist/atomic/index.esm.js.map +1 -1
  157. package/dist/atomic/{p-955092ed.entry.js → p-01096d1c.entry.js} +2 -2
  158. package/dist/atomic/p-01096d1c.entry.js.map +1 -0
  159. package/dist/atomic/{p-3f0e7549.js → p-037eee11.js} +2 -2
  160. package/dist/atomic/{p-534aa5f7.entry.js → p-044de1f9.entry.js} +2 -2
  161. package/dist/atomic/p-0535b93d.entry.js +2 -0
  162. package/dist/atomic/{p-d9241b90.entry.js.map → p-0535b93d.entry.js.map} +1 -1
  163. package/dist/atomic/p-05f1ff6f.entry.js +2 -0
  164. package/dist/atomic/p-060b94d2.entry.js +2 -0
  165. package/dist/atomic/{p-94b0fca4.entry.js.map → p-060b94d2.entry.js.map} +1 -1
  166. package/dist/atomic/p-088d634c.entry.js +2 -0
  167. package/dist/atomic/{p-d618c229.entry.js.map → p-088d634c.entry.js.map} +1 -1
  168. package/dist/atomic/p-0ee7cab8.entry.js +2 -0
  169. package/dist/atomic/{p-a3d55993.entry.js.map → p-0ee7cab8.entry.js.map} +1 -1
  170. package/dist/atomic/{p-d2107c93.entry.js → p-14bad769.entry.js} +2 -2
  171. package/dist/atomic/{p-47c0134e.entry.js → p-154cbbfe.entry.js} +2 -2
  172. package/dist/atomic/{p-47c0134e.entry.js.map → p-154cbbfe.entry.js.map} +1 -1
  173. package/dist/atomic/{p-0fb39501.js → p-16f4ce98.js} +2 -2
  174. package/dist/atomic/{p-4e25638d.entry.js → p-1910eb7f.entry.js} +2 -2
  175. package/dist/atomic/{p-7b9e5e58.entry.js.map → p-1910eb7f.entry.js.map} +1 -1
  176. package/dist/atomic/{p-d8d346f3.entry.js → p-1c8bcadf.entry.js} +2 -2
  177. package/dist/atomic/{p-db3b11ca.entry.js → p-2033533c.entry.js} +2 -2
  178. package/dist/atomic/{p-db3b11ca.entry.js.map → p-2033533c.entry.js.map} +1 -1
  179. package/dist/atomic/{p-d365883e.js → p-20cbcfb9.js} +2 -2
  180. package/dist/atomic/p-21ab6f55.js +2 -0
  181. package/dist/atomic/p-21ab6f55.js.map +1 -0
  182. package/dist/atomic/p-21ab7750.entry.js +2 -0
  183. package/dist/atomic/{p-b0ce2261.entry.js.map → p-21ab7750.entry.js.map} +1 -1
  184. package/dist/atomic/{p-d1fbb20a.entry.js → p-229018fa.entry.js} +2 -2
  185. package/dist/atomic/p-22b76c96.entry.js +2 -0
  186. package/dist/atomic/{p-95cff664.entry.js.map → p-22b76c96.entry.js.map} +1 -1
  187. package/dist/atomic/{p-4069d801.entry.js → p-268ce7ca.entry.js} +2 -2
  188. package/dist/atomic/p-268ce7ca.entry.js.map +1 -0
  189. package/dist/atomic/{p-dbc08e9e.entry.js → p-26e0c1f8.entry.js} +2 -2
  190. package/dist/atomic/{p-d4cbd9b1.js → p-2c6f895f.js} +2 -2
  191. package/dist/atomic/{p-f654697b.entry.js → p-2e13e2c0.entry.js} +2 -2
  192. package/dist/atomic/p-2f437b47.entry.js +2 -0
  193. package/dist/atomic/{p-a9aadc3d.entry.js.map → p-2f437b47.entry.js.map} +1 -1
  194. package/dist/atomic/p-2f517a54.entry.js +2 -0
  195. package/dist/atomic/{p-42937d04.entry.js.map → p-2f517a54.entry.js.map} +1 -1
  196. package/dist/atomic/{p-e3bd190a.entry.js → p-326c1f55.entry.js} +2 -2
  197. package/dist/atomic/{p-0fb717b5.entry.js → p-3272a04b.entry.js} +2 -2
  198. package/dist/atomic/{p-9c556664.entry.js → p-3291adda.entry.js} +2 -2
  199. package/dist/atomic/p-33245038.entry.js +2 -0
  200. package/dist/atomic/{p-b211da6c.entry.js.map → p-33245038.entry.js.map} +1 -1
  201. package/dist/atomic/{p-bacb06d7.entry.js → p-35c2ee5f.entry.js} +2 -2
  202. package/dist/atomic/{p-4e6dcdcf.entry.js.map → p-35c2ee5f.entry.js.map} +1 -1
  203. package/dist/atomic/p-36ff2bc3.entry.js +2 -0
  204. package/dist/atomic/{p-4e25638d.entry.js.map → p-36ff2bc3.entry.js.map} +1 -1
  205. package/dist/atomic/p-3a01a398.entry.js +2 -0
  206. package/dist/atomic/{p-30ea57e8.entry.js.map → p-3a01a398.entry.js.map} +1 -1
  207. package/dist/atomic/p-3bd8469f.entry.js +2 -0
  208. package/dist/atomic/{p-7e588beb.entry.js.map → p-3bd8469f.entry.js.map} +1 -1
  209. package/dist/atomic/{p-e9dc8e90.entry.js → p-3ec45f9c.entry.js} +2 -2
  210. package/dist/atomic/p-3ec45f9c.entry.js.map +1 -0
  211. package/dist/atomic/p-400c28b6.entry.js +2 -0
  212. package/dist/atomic/{p-9feb951f.entry.js.map → p-400c28b6.entry.js.map} +1 -1
  213. package/dist/atomic/{p-18684d4c.js → p-4080f740.js} +1 -1
  214. package/dist/atomic/p-4080f740.js.map +1 -0
  215. package/dist/atomic/p-42fffab2.entry.js +2 -0
  216. package/dist/atomic/p-42fffab2.entry.js.map +1 -0
  217. package/dist/atomic/{p-8d1f7884.entry.js → p-44d96103.entry.js} +2 -2
  218. package/dist/atomic/p-479cb38a.entry.js +2 -0
  219. package/dist/atomic/{p-9411ab14.entry.js.map → p-479cb38a.entry.js.map} +1 -1
  220. package/dist/atomic/{p-a94386b5.entry.js → p-47b41b27.entry.js} +2 -2
  221. package/dist/atomic/{p-a9aadc3d.entry.js → p-48bab1a6.entry.js} +2 -2
  222. package/dist/atomic/{p-6ddd05c2.entry.js.map → p-48bab1a6.entry.js.map} +1 -1
  223. package/dist/atomic/{p-190ddaca.entry.js → p-4cf97b0a.entry.js} +2 -2
  224. package/dist/atomic/p-4cf97b0a.entry.js.map +1 -0
  225. package/dist/atomic/p-558f2191.entry.js +2 -0
  226. package/dist/atomic/{p-1ceca322.entry.js.map → p-558f2191.entry.js.map} +1 -1
  227. package/dist/atomic/{p-bd565f91.entry.js → p-5606819d.entry.js} +2 -2
  228. package/dist/atomic/{p-8f69b018.entry.js.map → p-5606819d.entry.js.map} +1 -1
  229. package/dist/atomic/{p-20fc8a6c.js → p-5a2ef889.js} +2 -2
  230. package/dist/atomic/p-5a83b7e5.entry.js +2 -0
  231. package/dist/atomic/{p-1717e9cf.entry.js.map → p-5a83b7e5.entry.js.map} +1 -1
  232. package/dist/atomic/{p-78427c6a.entry.js → p-5a9460ab.entry.js} +2 -2
  233. package/dist/atomic/p-5a9460ab.entry.js.map +1 -0
  234. package/dist/atomic/p-5b8cc4bc.entry.js +2 -0
  235. package/dist/atomic/{p-76cf6545.js → p-5c73ebc4.js} +2 -2
  236. package/dist/atomic/{p-0ab0ceaa.js → p-5d0a3045.js} +2 -2
  237. package/dist/atomic/{p-68013132.js → p-60498b8e.js} +2 -2
  238. package/dist/atomic/{p-b219eba8.entry.js → p-61b3f5ce.entry.js} +2 -2
  239. package/dist/atomic/p-61b3f5ce.entry.js.map +1 -0
  240. package/dist/atomic/p-6439156c.entry.js +2 -0
  241. package/dist/atomic/{p-7b0e3ff4.entry.js.map → p-6439156c.entry.js.map} +1 -1
  242. package/dist/atomic/p-66166975.entry.js +2 -0
  243. package/dist/atomic/{p-d0584482.entry.js.map → p-66166975.entry.js.map} +1 -1
  244. package/dist/atomic/p-6698d5e9.entry.js +2 -0
  245. package/dist/atomic/{p-bacb06d7.entry.js.map → p-6698d5e9.entry.js.map} +1 -1
  246. package/dist/atomic/{p-3f3f6b14.entry.js → p-6819f12c.entry.js} +2 -2
  247. package/dist/atomic/{p-1ff7a9da.entry.js → p-6a3b139f.entry.js} +2 -2
  248. package/dist/atomic/p-6a3b139f.entry.js.map +1 -0
  249. package/dist/atomic/p-7015679e.entry.js +2 -0
  250. package/dist/atomic/p-7015679e.entry.js.map +1 -0
  251. package/dist/atomic/p-7045745d.entry.js +2 -0
  252. package/dist/atomic/{p-c2acd146.entry.js.map → p-7045745d.entry.js.map} +1 -1
  253. package/dist/atomic/p-70747efa.entry.js +2 -0
  254. package/dist/atomic/{p-475df84c.entry.js.map → p-70747efa.entry.js.map} +1 -1
  255. package/dist/atomic/p-7242b46e.entry.js +2 -0
  256. package/dist/atomic/{p-bcc202ff.entry.js.map → p-7242b46e.entry.js.map} +1 -1
  257. package/dist/atomic/{p-0e6f1e14.js → p-74862002.js} +2 -2
  258. package/dist/atomic/p-76c14d82.entry.js +2 -0
  259. package/dist/atomic/{p-173deaca.entry.js.map → p-76c14d82.entry.js.map} +1 -1
  260. package/dist/atomic/p-7741124a.entry.js +2 -0
  261. package/dist/atomic/{p-fa9d8ab7.entry.js.map → p-7741124a.entry.js.map} +1 -1
  262. package/dist/atomic/p-77d00da1.entry.js +2 -0
  263. package/dist/atomic/{p-aa69a7f4.entry.js.map → p-77d00da1.entry.js.map} +1 -1
  264. package/dist/atomic/p-7fe23afc.entry.js +2 -0
  265. package/dist/atomic/{p-bdad3117.entry.js.map → p-7fe23afc.entry.js.map} +1 -1
  266. package/dist/atomic/p-80290dd3.entry.js +2 -0
  267. package/dist/atomic/{p-4310d46f.entry.js.map → p-80290dd3.entry.js.map} +1 -1
  268. package/dist/atomic/p-81bdbd07.entry.js +2 -0
  269. package/dist/atomic/{p-5346f77d.entry.js.map → p-81bdbd07.entry.js.map} +1 -1
  270. package/dist/atomic/p-82398f4a.js +2 -0
  271. package/dist/atomic/{p-beb2ad8e.js.map → p-82398f4a.js.map} +1 -1
  272. package/dist/atomic/p-851b9735.entry.js +2 -0
  273. package/dist/atomic/{p-f917dce9.entry.js.map → p-851b9735.entry.js.map} +1 -1
  274. package/dist/atomic/p-886b184f.entry.js +2 -0
  275. package/dist/atomic/p-886b184f.entry.js.map +1 -0
  276. package/dist/atomic/{p-ca0e9cd6.js → p-8a488991.js} +2 -2
  277. package/dist/atomic/{p-5a417451.entry.js → p-8b0d881e.entry.js} +2 -2
  278. package/dist/atomic/{p-d4303474.entry.js.map → p-8b0d881e.entry.js.map} +1 -1
  279. package/dist/atomic/p-8e5e00b4.js +2 -0
  280. package/dist/atomic/p-8e5e00b4.js.map +1 -0
  281. package/dist/atomic/{p-b3f6561d.entry.js → p-8e964890.entry.js} +2 -2
  282. package/dist/atomic/p-8e964890.entry.js.map +1 -0
  283. package/dist/atomic/p-99d4c4bf.entry.js +2 -0
  284. package/dist/atomic/{p-df84c005.entry.js.map → p-99d4c4bf.entry.js.map} +1 -1
  285. package/dist/atomic/p-9b2561e8.entry.js +2 -0
  286. package/dist/atomic/{p-3957401e.entry.js.map → p-9b2561e8.entry.js.map} +1 -1
  287. package/dist/atomic/{p-06c22903.entry.js → p-a0ebbbdf.entry.js} +2 -2
  288. package/dist/atomic/{p-4e6dcdcf.entry.js → p-a413f820.entry.js} +2 -2
  289. package/dist/atomic/p-a413f820.entry.js.map +1 -0
  290. package/dist/atomic/{p-9dcd5606.js → p-a428960a.js} +2 -2
  291. package/dist/atomic/{p-2e78d642.entry.js → p-a54f3f24.entry.js} +2 -2
  292. package/dist/atomic/{p-4ba12e99.entry.js.map → p-a54f3f24.entry.js.map} +1 -1
  293. package/dist/atomic/p-a6dde0f6.entry.js +2 -0
  294. package/dist/atomic/{p-28f4600a.entry.js.map → p-a6dde0f6.entry.js.map} +1 -1
  295. package/dist/atomic/p-ae69f519.entry.js +2 -0
  296. package/dist/atomic/{p-5f2fa73f.entry.js.map → p-ae69f519.entry.js.map} +1 -1
  297. package/dist/atomic/p-b1b583a0.entry.js +2 -0
  298. package/dist/atomic/{p-e0ba043d.entry.js.map → p-b1b583a0.entry.js.map} +1 -1
  299. package/dist/atomic/{p-1365c7d0.js → p-b29d121c.js} +2 -2
  300. package/dist/atomic/p-b628ed03.entry.js +2 -0
  301. package/dist/atomic/{p-bd565f91.entry.js.map → p-b628ed03.entry.js.map} +1 -1
  302. package/dist/atomic/p-b84108f3.entry.js +2 -0
  303. package/dist/atomic/{p-891cb944.entry.js.map → p-b84108f3.entry.js.map} +1 -1
  304. package/dist/atomic/p-b85c2c46.entry.js +2 -0
  305. package/dist/atomic/p-b85c2c46.entry.js.map +1 -0
  306. package/dist/atomic/p-b93ccff9.js +2 -0
  307. package/dist/atomic/p-b93ccff9.js.map +1 -0
  308. package/dist/atomic/{p-25660266.js → p-baff6c43.js} +2 -2
  309. package/dist/atomic/{p-118db20a.entry.js → p-bc43df67.entry.js} +2 -2
  310. package/dist/atomic/p-bd01acd5.entry.js +2 -0
  311. package/dist/atomic/{p-2e78d642.entry.js.map → p-bd01acd5.entry.js.map} +1 -1
  312. package/dist/atomic/{p-b0542224.entry.js → p-c5bd7f8d.entry.js} +2 -2
  313. package/dist/atomic/p-c5bd7f8d.entry.js.map +1 -0
  314. package/dist/atomic/{p-4ecabf56.js → p-c619df9b.js} +2 -2
  315. package/dist/atomic/p-c8190eb9.entry.js +2 -0
  316. package/dist/atomic/{p-64da3471.entry.js.map → p-c8190eb9.entry.js.map} +1 -1
  317. package/dist/atomic/{p-a9e250f8.js → p-ca37969c.js} +2 -2
  318. package/dist/atomic/{p-852cc16d.entry.js → p-cacb7fd8.entry.js} +2 -2
  319. package/dist/atomic/p-cacb7fd8.entry.js.map +1 -0
  320. package/dist/atomic/{p-9321b6a8.entry.js → p-cee86cff.entry.js} +2 -2
  321. package/dist/atomic/p-cee86cff.entry.js.map +1 -0
  322. package/dist/atomic/p-cef8175c.js +2 -0
  323. package/dist/atomic/p-cef8175c.js.map +1 -0
  324. package/dist/atomic/{p-bdad3117.entry.js → p-d0ab0125.entry.js} +2 -2
  325. package/dist/atomic/{p-0947a95f.entry.js.map → p-d0ab0125.entry.js.map} +1 -1
  326. package/dist/atomic/{p-134b7370.js → p-d2e8a2d4.js} +2 -2
  327. package/dist/atomic/{p-4cb91ee7.entry.js → p-d5402772.entry.js} +2 -2
  328. package/dist/atomic/p-d5402772.entry.js.map +1 -0
  329. package/dist/atomic/{p-bcc202ff.entry.js → p-d55668a3.entry.js} +2 -2
  330. package/dist/atomic/p-d55668a3.entry.js.map +1 -0
  331. package/dist/atomic/{p-90ace4cd.entry.js → p-d8caa4d8.entry.js} +2 -2
  332. package/dist/atomic/{p-e6dc9de7.entry.js → p-da141605.entry.js} +2 -2
  333. package/dist/atomic/p-da141605.entry.js.map +1 -0
  334. package/dist/atomic/p-db2d92c5.entry.js +2 -0
  335. package/dist/atomic/{p-1ebea045.entry.js.map → p-db2d92c5.entry.js.map} +1 -1
  336. package/dist/atomic/{p-340130de.js → p-dbc09018.js} +2 -2
  337. package/dist/atomic/p-dd24c66a.entry.js +2 -0
  338. package/dist/atomic/{p-cbc634fa.entry.js.map → p-dd24c66a.entry.js.map} +1 -1
  339. package/dist/atomic/{p-a1798150.entry.js → p-dd258eaa.entry.js} +2 -2
  340. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  341. package/dist/atomic/{p-945ddd53.entry.js → p-e1dbe31d.entry.js} +2 -2
  342. package/dist/atomic/p-e1dbe31d.entry.js.map +1 -0
  343. package/dist/atomic/{p-d9241b90.entry.js → p-e276c7e0.entry.js} +2 -2
  344. package/dist/atomic/{p-bd50cd51.entry.js.map → p-e276c7e0.entry.js.map} +1 -1
  345. package/dist/atomic/p-e455330c.entry.js +2 -0
  346. package/dist/atomic/{p-f02d1e6e.entry.js.map → p-e455330c.entry.js.map} +1 -1
  347. package/dist/atomic/p-e49ad083.entry.js +2 -0
  348. package/dist/atomic/{p-5a417451.entry.js.map → p-e49ad083.entry.js.map} +1 -1
  349. package/dist/atomic/{p-9411ab14.entry.js → p-e6871a3f.entry.js} +2 -2
  350. package/dist/atomic/{p-8998da31.entry.js.map → p-e6871a3f.entry.js.map} +1 -1
  351. package/dist/atomic/{p-1ebea045.entry.js → p-ecd3c0a9.entry.js} +2 -2
  352. package/dist/atomic/p-ecd3c0a9.entry.js.map +1 -0
  353. package/dist/atomic/{p-15580d9e.js → p-ef78082a.js} +2 -2
  354. package/dist/atomic/p-ef8f2239.entry.js +2 -0
  355. package/dist/atomic/{p-4027e529.entry.js.map → p-ef8f2239.entry.js.map} +1 -1
  356. package/dist/atomic/p-f0c657f4.entry.js +2 -0
  357. package/dist/atomic/{p-ceeb9f1f.entry.js.map → p-f0c657f4.entry.js.map} +1 -1
  358. package/dist/atomic/p-f1241140.entry.js +2 -0
  359. package/dist/atomic/{p-9ec21c88.entry.js.map → p-f1241140.entry.js.map} +1 -1
  360. package/dist/atomic/{p-8998da31.entry.js → p-f2c4209d.entry.js} +2 -2
  361. package/dist/atomic/{p-7158d432.entry.js.map → p-f2c4209d.entry.js.map} +1 -1
  362. package/dist/atomic/{p-05b4c4b5.entry.js → p-f2c89d7c.entry.js} +2 -2
  363. package/dist/atomic/p-f2c89d7c.entry.js.map +1 -0
  364. package/dist/atomic/p-f37dea9e.entry.js +2 -0
  365. package/dist/atomic/{p-0acbc1aa.entry.js.map → p-f37dea9e.entry.js.map} +1 -1
  366. package/dist/atomic/p-f4818e53.entry.js +2 -0
  367. package/dist/atomic/{p-609d0550.entry.js → p-f65ca329.entry.js} +2 -2
  368. package/dist/atomic/p-f800678c.entry.js.map +1 -1
  369. package/dist/atomic/{p-4bf14d26.js → p-f8b608ba.js} +2 -2
  370. package/dist/atomic/p-fc71835d.entry.js +2 -0
  371. package/dist/atomic/{p-ddf72215.entry.js.map → p-fc71835d.entry.js.map} +1 -1
  372. package/dist/atomic/p-fd1ef9e3.entry.js +2 -0
  373. package/dist/atomic/{p-30e24f95.entry.js.map → p-fd1ef9e3.entry.js.map} +1 -1
  374. package/dist/cjs/_index.cjs.js +20 -20
  375. package/dist/cjs/_loader.cjs.js +1 -1
  376. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +4 -3
  377. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js.map +1 -1
  378. package/dist/cjs/atomic-breadbox.cjs.entry.js +2 -1
  379. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  380. package/dist/cjs/atomic-category-facet.cjs.entry.js +7 -6
  381. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  382. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  383. package/dist/cjs/atomic-color-facet.cjs.entry.js +6 -5
  384. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  385. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  386. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +4 -3
  387. package/dist/cjs/atomic-facet-number-input.cjs.entry.js.map +1 -1
  388. package/dist/cjs/atomic-facet.cjs.entry.js +10 -9
  389. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-field-condition.cjs.entry.js +2 -2
  391. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  392. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +3 -2
  393. package/dist/cjs/atomic-folded-result-list.cjs.entry.js.map +1 -1
  394. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  395. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  396. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  397. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +5 -4
  398. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js.map +1 -1
  399. package/dist/cjs/atomic-generated-answer.cjs.entry.js +3 -2
  400. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  401. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  402. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +4 -3
  403. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js.map +1 -1
  404. package/dist/cjs/atomic-insight-facet.cjs.entry.js +9 -8
  405. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  406. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +3 -2
  407. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js.map +1 -1
  408. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +4 -3
  409. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  410. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +3 -2
  411. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  412. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +4 -3
  413. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  414. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  415. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +7 -6
  416. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  417. package/dist/cjs/atomic-insight-pager.cjs.entry.js +6 -5
  418. package/dist/cjs/atomic-insight-pager.cjs.entry.js.map +1 -1
  419. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +4 -3
  420. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  421. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +5 -4
  422. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  423. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +4 -3
  424. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  425. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +6 -5
  426. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  427. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +6 -5
  428. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  429. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +3 -3
  430. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  431. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +6 -4
  432. package/dist/cjs/atomic-insight-result-children.cjs.entry.js.map +1 -1
  433. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +3 -2
  434. package/dist/cjs/atomic-insight-result-list.cjs.entry.js.map +1 -1
  435. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +6 -5
  436. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js.map +1 -1
  437. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  438. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +35 -8
  439. package/dist/cjs/atomic-insight-search-box.cjs.entry.js.map +1 -1
  440. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +5 -4
  441. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  442. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +3 -2
  443. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  444. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -3
  445. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js.map +1 -1
  446. package/dist/cjs/atomic-insight-tab.cjs.entry.js +2 -1
  447. package/dist/cjs/atomic-insight-tab.cjs.entry.js.map +1 -1
  448. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  449. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +5 -4
  450. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js.map +1 -1
  451. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +2 -1
  452. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  453. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +3 -2
  454. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  455. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +4 -3
  456. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  457. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  458. package/dist/cjs/atomic-ipx-button.cjs.entry.js +4 -3
  459. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  460. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  461. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  462. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +7 -5
  463. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js.map +1 -1
  464. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +4 -3
  465. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  466. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +4 -3
  467. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  468. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +4 -4
  469. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  470. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +2 -1
  471. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  472. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  473. package/dist/cjs/atomic-load-more-results.cjs.entry.js +3 -2
  474. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  475. package/dist/cjs/atomic-no-results.cjs.entry.js +3 -2
  476. package/dist/cjs/atomic-no-results.cjs.entry.js.map +1 -1
  477. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +7 -6
  478. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  479. package/dist/cjs/atomic-popover.cjs.entry.js +2 -1
  480. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  481. package/dist/cjs/atomic-query-error.cjs.entry.js +4 -3
  482. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  483. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -2
  484. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  485. package/dist/cjs/atomic-quickview.cjs.entry.js +5 -4
  486. package/dist/cjs/atomic-quickview.cjs.entry.js.map +1 -1
  487. package/dist/cjs/atomic-rating-facet.cjs.entry.js +5 -4
  488. package/dist/cjs/atomic-rating-facet.cjs.entry.js.map +1 -1
  489. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +4 -3
  490. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js.map +1 -1
  491. package/dist/cjs/atomic-recs-error.cjs.entry.js +4 -3
  492. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  493. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  494. package/dist/cjs/atomic-recs-list.cjs.entry.js +7 -5
  495. package/dist/cjs/atomic-recs-list.cjs.entry.js.map +1 -1
  496. package/dist/cjs/atomic-refine-modal.cjs.entry.js +4 -3
  497. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  498. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +3 -2
  499. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  500. package/dist/cjs/atomic-result-badge.cjs.entry.js +2 -2
  501. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  502. package/dist/cjs/atomic-result-children.cjs.entry.js +8 -6
  503. package/dist/cjs/atomic-result-children.cjs.entry.js.map +1 -1
  504. package/dist/cjs/atomic-result-date.cjs.entry.js +2 -2
  505. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  506. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -3
  507. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  508. package/dist/cjs/atomic-result-html.cjs.entry.js +2 -2
  509. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  510. package/dist/cjs/atomic-result-icon.cjs.entry.js +2 -2
  511. package/dist/cjs/atomic-result-icon.cjs.entry.js.map +1 -1
  512. package/dist/cjs/atomic-result-image.cjs.entry.js +2 -2
  513. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  514. package/dist/cjs/atomic-result-link.cjs.entry.js +4 -4
  515. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  516. package/dist/cjs/atomic-result-list.cjs.entry.js +3 -2
  517. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  518. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +3 -3
  519. package/dist/cjs/atomic-result-localized-text.cjs.entry.js.map +1 -1
  520. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +2 -2
  521. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js.map +1 -1
  522. package/dist/cjs/atomic-result-number.cjs.entry.js +2 -2
  523. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  524. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  525. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  526. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js.map +1 -1
  527. package/dist/cjs/atomic-result-rating.cjs.entry.js +2 -2
  528. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  529. package/dist/cjs/atomic-result-text_2.cjs.entry.js +2 -2
  530. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  531. package/dist/cjs/atomic-result-timespan.cjs.entry.js +2 -2
  532. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  533. package/dist/cjs/atomic-result.cjs.entry.js.map +1 -1
  534. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +186 -0
  535. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js.map +1 -0
  536. package/dist/cjs/atomic-search-box.cjs.entry.js +6 -5
  537. package/dist/cjs/atomic-search-box.cjs.entry.js.map +1 -1
  538. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +2 -1
  539. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  540. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +2 -1
  541. package/dist/cjs/atomic-segmented-facet.cjs.entry.js.map +1 -1
  542. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  543. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js.map +1 -1
  544. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  545. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +3 -2
  546. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js.map +1 -1
  547. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +3 -2
  548. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js.map +1 -1
  549. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +4 -3
  550. package/dist/cjs/atomic-smart-snippet.cjs.entry.js.map +1 -1
  551. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  552. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  553. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +5 -4
  554. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js.map +1 -1
  555. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  556. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +3 -2
  557. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  558. package/dist/cjs/atomic-tab-button.cjs.entry.js +3 -2
  559. package/dist/cjs/atomic-tab-button.cjs.entry.js.map +1 -1
  560. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +5 -4
  561. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js.map +1 -1
  562. package/dist/cjs/atomic.cjs.js +1 -1
  563. package/dist/cjs/{facet-placeholder-21821057.js → facet-placeholder-22074f05.js} +2 -2
  564. package/dist/cjs/{facet-placeholder-21821057.js.map → facet-placeholder-22074f05.js.map} +1 -1
  565. package/dist/cjs/{generated-answer-common-4410c9e0.js → generated-answer-common-3c400311.js} +2 -2
  566. package/dist/cjs/{generated-answer-common-4410c9e0.js.map → generated-answer-common-3c400311.js.map} +1 -1
  567. package/dist/cjs/index-757bc886.js +8 -8
  568. package/dist/cjs/index.cjs.js.map +1 -1
  569. package/dist/cjs/{item-template-provider-e82736d7.js → item-template-provider-470c1774.js} +1 -23
  570. package/dist/cjs/item-template-provider-470c1774.js.map +1 -0
  571. package/dist/cjs/{show-hide-button-2a630d6f.js → show-hide-button-c4717f52.js} +4 -4
  572. package/dist/cjs/{show-hide-button-2a630d6f.js.map → show-hide-button-c4717f52.js.map} +1 -1
  573. package/dist/cjs/{smart-snippet-common-524d635f.js → smart-snippet-common-1fd0dad5.js} +3 -3
  574. package/dist/cjs/{smart-snippet-common-524d635f.js.map → smart-snippet-common-1fd0dad5.js.map} +1 -1
  575. package/dist/cjs/{smart-snippet-feedback-modal-common-3b7e3c7e.js → smart-snippet-feedback-modal-common-9721e3c4.js} +2 -2
  576. package/dist/cjs/{smart-snippet-feedback-modal-common-3b7e3c7e.js.map → smart-snippet-feedback-modal-common-9721e3c4.js.map} +1 -1
  577. package/dist/cjs/{smart-snippet-suggestions-common-a6fb3bfd.js → smart-snippet-suggestions-common-024c89b7.js} +2 -2
  578. package/dist/cjs/{smart-snippet-suggestions-common-a6fb3bfd.js.map → smart-snippet-suggestions-common-024c89b7.js.map} +1 -1
  579. package/dist/cjs/{stencil-button-a114783e.js → stencil-button-94b89acc.js} +4 -48
  580. package/dist/cjs/stencil-button-94b89acc.js.map +1 -0
  581. package/dist/cjs/stencil-button-style-ba779fe2.js +49 -0
  582. package/dist/cjs/stencil-button-style-ba779fe2.js.map +1 -0
  583. package/dist/cjs/{stencil-carousel-254b4ea7.js → stencil-carousel-a8df6f3c.js} +2 -2
  584. package/dist/cjs/{stencil-carousel-254b4ea7.js.map → stencil-carousel-a8df6f3c.js.map} +1 -1
  585. package/dist/cjs/{stencil-facet-search-matches-9e841241.js → stencil-facet-search-matches-101e0ede.js} +2 -2
  586. package/dist/cjs/{stencil-facet-search-matches-9e841241.js.map → stencil-facet-search-matches-101e0ede.js.map} +1 -1
  587. package/dist/cjs/{stencil-facet-show-more-less-04f33b99.js → stencil-facet-show-more-less-70f4d20d.js} +2 -2
  588. package/dist/cjs/{stencil-facet-show-more-less-04f33b99.js.map → stencil-facet-show-more-less-70f4d20d.js.map} +1 -1
  589. package/dist/cjs/{stencil-facet-value-3354e4da.js → stencil-facet-value-5957b403.js} +4 -4
  590. package/dist/cjs/{stencil-facet-value-3354e4da.js.map → stencil-facet-value-5957b403.js.map} +1 -1
  591. package/dist/cjs/{stencil-facet-value-box-e8b01b77.js → stencil-facet-value-box-11aa05dd.js} +2 -2
  592. package/dist/cjs/{stencil-facet-value-box-e8b01b77.js.map → stencil-facet-value-box-11aa05dd.js.map} +1 -1
  593. package/dist/cjs/{stencil-facet-value-checkbox-4800af7b.js → stencil-facet-value-checkbox-fed178ad.js} +2 -2
  594. package/dist/cjs/{stencil-facet-value-checkbox-4800af7b.js.map → stencil-facet-value-checkbox-fed178ad.js.map} +1 -1
  595. package/dist/cjs/{stencil-facet-value-link-98e3fe34.js → stencil-facet-value-link-8a095034.js} +2 -2
  596. package/dist/cjs/{stencil-facet-value-link-98e3fe34.js.map → stencil-facet-value-link-8a095034.js.map} +1 -1
  597. package/dist/cjs/{stencil-iconButton-c8727a20.js → stencil-iconButton-738b1548.js} +2 -2
  598. package/dist/cjs/{stencil-iconButton-c8727a20.js.map → stencil-iconButton-738b1548.js.map} +1 -1
  599. package/dist/cjs/{stencil-link-2e32315d.js → stencil-link-9336b8c1.js} +2 -2
  600. package/dist/cjs/{stencil-link-2e32315d.js.map → stencil-link-9336b8c1.js.map} +1 -1
  601. package/dist/cjs/{stencil-modal-9a4a9927.js → stencil-modal-9035ea2a.js} +2 -2
  602. package/dist/cjs/{stencil-modal-9a4a9927.js.map → stencil-modal-9035ea2a.js.map} +1 -1
  603. package/dist/cjs/stencil-placeholders-b8c896fa.js +27 -0
  604. package/dist/cjs/stencil-placeholders-b8c896fa.js.map +1 -0
  605. package/dist/cjs/{stencil-radio-button-cbcc483e.js → stencil-radio-button-ea7e71d3.js} +5 -4
  606. package/dist/cjs/stencil-radio-button-ea7e71d3.js.map +1 -0
  607. package/dist/cjs/{result-template-decorators-432d11a9.js → stencil-result-template-decorators-28b05aaf.js} +6 -2
  608. package/dist/cjs/stencil-result-template-decorators-28b05aaf.js.map +1 -0
  609. package/dist/cjs/{stencil-suggestion-manager-3e1cf81e.js → stencil-suggestion-manager-2cba6d69.js} +2 -2
  610. package/dist/cjs/{stencil-suggestion-manager-3e1cf81e.js.map → stencil-suggestion-manager-2cba6d69.js.map} +1 -1
  611. package/dist/cjs/{stencil-values-container-e4b76048.js → stencil-values-container-d20f9b28.js} +3 -3
  612. package/dist/cjs/{stencil-values-container-e4b76048.js.map → stencil-values-container-d20f9b28.js.map} +1 -1
  613. package/dist/cjs/{timeframe-facet-common-82da2ca9.js → timeframe-facet-common-4ea96ccb.js} +3 -3
  614. package/dist/cjs/{timeframe-facet-common-82da2ca9.js.map → timeframe-facet-common-4ea96ccb.js.map} +1 -1
  615. package/dist/cjs/version.cjs.js +1 -1
  616. package/dist/esm/_index.js +19 -19
  617. package/dist/esm/_loader.js +1 -1
  618. package/dist/esm/atomic-automatic-facet_2.entry.js +4 -3
  619. package/dist/esm/atomic-automatic-facet_2.entry.js.map +1 -1
  620. package/dist/esm/atomic-breadbox.entry.js +2 -1
  621. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  622. package/dist/esm/atomic-category-facet.entry.js +7 -6
  623. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  624. package/dist/esm/atomic-citation.entry.js +1 -1
  625. package/dist/esm/atomic-color-facet.entry.js +6 -5
  626. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  627. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  628. package/dist/esm/atomic-facet-number-input.entry.js +4 -3
  629. package/dist/esm/atomic-facet-number-input.entry.js.map +1 -1
  630. package/dist/esm/atomic-facet.entry.js +10 -9
  631. package/dist/esm/atomic-facet.entry.js.map +1 -1
  632. package/dist/esm/atomic-field-condition.entry.js +1 -1
  633. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  634. package/dist/esm/atomic-folded-result-list.entry.js +2 -1
  635. package/dist/esm/atomic-folded-result-list.entry.js.map +1 -1
  636. package/dist/esm/atomic-format-currency.entry.js +1 -1
  637. package/dist/esm/atomic-format-number.entry.js +1 -1
  638. package/dist/esm/atomic-format-unit.entry.js +1 -1
  639. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +5 -4
  640. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js.map +1 -1
  641. package/dist/esm/atomic-generated-answer.entry.js +3 -2
  642. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  643. package/dist/esm/atomic-html.entry.js +1 -1
  644. package/dist/esm/atomic-insight-edit-toggle.entry.js +4 -3
  645. package/dist/esm/atomic-insight-edit-toggle.entry.js.map +1 -1
  646. package/dist/esm/atomic-insight-facet.entry.js +9 -8
  647. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  648. package/dist/esm/atomic-insight-folded-result-list.entry.js +3 -2
  649. package/dist/esm/atomic-insight-folded-result-list.entry.js.map +1 -1
  650. package/dist/esm/atomic-insight-full-search-button.entry.js +4 -3
  651. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  652. package/dist/esm/atomic-insight-generated-answer.entry.js +3 -2
  653. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  654. package/dist/esm/atomic-insight-history-toggle.entry.js +4 -3
  655. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  656. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  657. package/dist/esm/atomic-insight-numeric-facet.entry.js +7 -6
  658. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  659. package/dist/esm/atomic-insight-pager.entry.js +6 -5
  660. package/dist/esm/atomic-insight-pager.entry.js.map +1 -1
  661. package/dist/esm/atomic-insight-query-error.entry.js +4 -3
  662. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  663. package/dist/esm/atomic-insight-refine-modal.entry.js +5 -4
  664. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  665. package/dist/esm/atomic-insight-refine-toggle.entry.js +4 -3
  666. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  667. package/dist/esm/atomic-insight-result-action.entry.js +5 -4
  668. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  669. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +5 -4
  670. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  671. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +2 -2
  672. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  673. package/dist/esm/atomic-insight-result-children.entry.js +6 -4
  674. package/dist/esm/atomic-insight-result-children.entry.js.map +1 -1
  675. package/dist/esm/atomic-insight-result-list.entry.js +3 -2
  676. package/dist/esm/atomic-insight-result-list.entry.js.map +1 -1
  677. package/dist/esm/atomic-insight-result-quickview-action.entry.js +5 -4
  678. package/dist/esm/atomic-insight-result-quickview-action.entry.js.map +1 -1
  679. package/dist/esm/atomic-insight-result.entry.js +1 -1
  680. package/dist/esm/atomic-insight-search-box.entry.js +34 -7
  681. package/dist/esm/atomic-insight-search-box.entry.js.map +1 -1
  682. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +5 -4
  683. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js.map +1 -1
  684. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +3 -2
  685. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js.map +1 -1
  686. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -3
  687. package/dist/esm/atomic-insight-smart-snippet.entry.js.map +1 -1
  688. package/dist/esm/atomic-insight-tab.entry.js +2 -1
  689. package/dist/esm/atomic-insight-tab.entry.js.map +1 -1
  690. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  691. package/dist/esm/atomic-insight-timeframe-facet.entry.js +5 -4
  692. package/dist/esm/atomic-insight-timeframe-facet.entry.js.map +1 -1
  693. package/dist/esm/atomic-insight-user-actions-modal.entry.js +2 -1
  694. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  695. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +3 -2
  696. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  697. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +4 -3
  698. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  699. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  700. package/dist/esm/atomic-ipx-button.entry.js +4 -3
  701. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  702. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  703. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  704. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -4
  705. package/dist/esm/atomic-ipx-recs-list.entry.js.map +1 -1
  706. package/dist/esm/atomic-ipx-refine-modal.entry.js +4 -3
  707. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  708. package/dist/esm/atomic-ipx-refine-toggle.entry.js +4 -3
  709. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  710. package/dist/esm/atomic-ipx-result-link.entry.js +2 -2
  711. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  712. package/dist/esm/atomic-ipx-tab.entry.js +2 -1
  713. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  714. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  715. package/dist/esm/atomic-load-more-results.entry.js +3 -2
  716. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  717. package/dist/esm/atomic-no-results.entry.js +3 -2
  718. package/dist/esm/atomic-no-results.entry.js.map +1 -1
  719. package/dist/esm/atomic-numeric-facet.entry.js +7 -6
  720. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  721. package/dist/esm/atomic-popover.entry.js +2 -1
  722. package/dist/esm/atomic-popover.entry.js.map +1 -1
  723. package/dist/esm/atomic-query-error.entry.js +4 -3
  724. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  725. package/dist/esm/atomic-quickview-modal.entry.js +3 -2
  726. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  727. package/dist/esm/atomic-quickview.entry.js +4 -3
  728. package/dist/esm/atomic-quickview.entry.js.map +1 -1
  729. package/dist/esm/atomic-rating-facet.entry.js +5 -4
  730. package/dist/esm/atomic-rating-facet.entry.js.map +1 -1
  731. package/dist/esm/atomic-rating-range-facet.entry.js +4 -3
  732. package/dist/esm/atomic-rating-range-facet.entry.js.map +1 -1
  733. package/dist/esm/atomic-recs-error.entry.js +4 -3
  734. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  735. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  736. package/dist/esm/atomic-recs-list.entry.js +6 -4
  737. package/dist/esm/atomic-recs-list.entry.js.map +1 -1
  738. package/dist/esm/atomic-refine-modal.entry.js +4 -3
  739. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  740. package/dist/esm/atomic-refine-toggle.entry.js +3 -2
  741. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  742. package/dist/esm/atomic-result-badge.entry.js +1 -1
  743. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  744. package/dist/esm/atomic-result-children.entry.js +7 -5
  745. package/dist/esm/atomic-result-children.entry.js.map +1 -1
  746. package/dist/esm/atomic-result-date.entry.js +1 -1
  747. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  748. package/dist/esm/atomic-result-fields-list.entry.js +2 -2
  749. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  750. package/dist/esm/atomic-result-html.entry.js +1 -1
  751. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  752. package/dist/esm/atomic-result-icon.entry.js +1 -1
  753. package/dist/esm/atomic-result-icon.entry.js.map +1 -1
  754. package/dist/esm/atomic-result-image.entry.js +1 -1
  755. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  756. package/dist/esm/atomic-result-link.entry.js +2 -2
  757. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  758. package/dist/esm/atomic-result-list.entry.js +3 -2
  759. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  760. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  761. package/dist/esm/atomic-result-localized-text.entry.js.map +1 -1
  762. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  763. package/dist/esm/atomic-result-multi-value-text.entry.js.map +1 -1
  764. package/dist/esm/atomic-result-number.entry.js +1 -1
  765. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  766. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  767. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  768. package/dist/esm/atomic-result-printable-uri.entry.js.map +1 -1
  769. package/dist/esm/atomic-result-rating.entry.js +1 -1
  770. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  771. package/dist/esm/atomic-result-text_2.entry.js +1 -1
  772. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  773. package/dist/esm/atomic-result-timespan.entry.js +1 -1
  774. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  775. package/dist/esm/atomic-result.entry.js.map +1 -1
  776. package/dist/{atomic/components/components/search/atomic-search-box-instant-results/atomic-search-box-instant-results.js → esm/atomic-search-box-instant-results.entry.js} +57 -83
  777. package/dist/esm/atomic-search-box-instant-results.entry.js.map +1 -0
  778. package/dist/esm/atomic-search-box.entry.js +6 -5
  779. package/dist/esm/atomic-search-box.entry.js.map +1 -1
  780. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +2 -1
  781. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  782. package/dist/esm/atomic-segmented-facet.entry.js +2 -1
  783. package/dist/esm/atomic-segmented-facet.entry.js.map +1 -1
  784. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  785. package/dist/esm/atomic-smart-snippet-answer_2.entry.js.map +1 -1
  786. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  787. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +3 -2
  788. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js.map +1 -1
  789. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +3 -2
  790. package/dist/esm/atomic-smart-snippet-suggestions.entry.js.map +1 -1
  791. package/dist/esm/atomic-smart-snippet.entry.js +4 -3
  792. package/dist/esm/atomic-smart-snippet.entry.js.map +1 -1
  793. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  794. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  795. package/dist/esm/atomic-stencil-facet-date-input.entry.js +5 -4
  796. package/dist/esm/atomic-stencil-facet-date-input.entry.js.map +1 -1
  797. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  798. package/dist/esm/atomic-tab-bar_2.entry.js +3 -2
  799. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  800. package/dist/esm/atomic-tab-button.entry.js +3 -2
  801. package/dist/esm/atomic-tab-button.entry.js.map +1 -1
  802. package/dist/esm/atomic-timeframe-facet.entry.js +5 -4
  803. package/dist/esm/atomic-timeframe-facet.entry.js.map +1 -1
  804. package/dist/esm/atomic.js +1 -1
  805. package/dist/esm/{facet-placeholder-cf7007ee.js → facet-placeholder-4959a92a.js} +2 -2
  806. package/dist/esm/{facet-placeholder-cf7007ee.js.map → facet-placeholder-4959a92a.js.map} +1 -1
  807. package/dist/esm/{generated-answer-common-7a072444.js → generated-answer-common-9d0c5ada.js} +2 -2
  808. package/dist/esm/{generated-answer-common-7a072444.js.map → generated-answer-common-9d0c5ada.js.map} +1 -1
  809. package/dist/esm/index-3f35faca.js +8 -8
  810. package/dist/esm/index.js.map +1 -1
  811. package/dist/esm/{item-template-provider-6e736120.js → item-template-provider-35bf0685.js} +2 -22
  812. package/dist/esm/item-template-provider-35bf0685.js.map +1 -0
  813. package/dist/esm/{show-hide-button-706d82d9.js → show-hide-button-35eb419d.js} +3 -3
  814. package/dist/esm/{show-hide-button-706d82d9.js.map → show-hide-button-35eb419d.js.map} +1 -1
  815. package/dist/esm/{smart-snippet-common-01b7411b.js → smart-snippet-common-5ed4bdfa.js} +3 -3
  816. package/dist/esm/{smart-snippet-common-01b7411b.js.map → smart-snippet-common-5ed4bdfa.js.map} +1 -1
  817. package/dist/esm/{smart-snippet-feedback-modal-common-50d66179.js → smart-snippet-feedback-modal-common-835aa607.js} +2 -2
  818. package/dist/esm/{smart-snippet-feedback-modal-common-50d66179.js.map → smart-snippet-feedback-modal-common-835aa607.js.map} +1 -1
  819. package/dist/esm/{smart-snippet-suggestions-common-54b6498b.js → smart-snippet-suggestions-common-10bd1697.js} +2 -2
  820. package/dist/esm/{smart-snippet-suggestions-common-54b6498b.js.map → smart-snippet-suggestions-common-10bd1697.js.map} +1 -1
  821. package/dist/esm/{stencil-button-5f84efcc.js → stencil-button-1a29a5df.js} +3 -45
  822. package/dist/esm/stencil-button-1a29a5df.js.map +1 -0
  823. package/dist/esm/stencil-button-style-0bc80040.js +46 -0
  824. package/dist/esm/stencil-button-style-0bc80040.js.map +1 -0
  825. package/dist/esm/{stencil-carousel-4264cd9b.js → stencil-carousel-e1f25f7c.js} +2 -2
  826. package/dist/esm/{stencil-carousel-4264cd9b.js.map → stencil-carousel-e1f25f7c.js.map} +1 -1
  827. package/dist/esm/{stencil-facet-search-matches-7299e897.js → stencil-facet-search-matches-872d94d2.js} +2 -2
  828. package/dist/esm/{stencil-facet-search-matches-7299e897.js.map → stencil-facet-search-matches-872d94d2.js.map} +1 -1
  829. package/dist/esm/{stencil-facet-show-more-less-202207c3.js → stencil-facet-show-more-less-e575f20f.js} +2 -2
  830. package/dist/esm/{stencil-facet-show-more-less-202207c3.js.map → stencil-facet-show-more-less-e575f20f.js.map} +1 -1
  831. package/dist/esm/{stencil-facet-value-8fd91a54.js → stencil-facet-value-9deafe8e.js} +4 -4
  832. package/dist/esm/{stencil-facet-value-8fd91a54.js.map → stencil-facet-value-9deafe8e.js.map} +1 -1
  833. package/dist/esm/{stencil-facet-value-box-85126921.js → stencil-facet-value-box-b0dc7e73.js} +2 -2
  834. package/dist/esm/{stencil-facet-value-box-85126921.js.map → stencil-facet-value-box-b0dc7e73.js.map} +1 -1
  835. package/dist/esm/{stencil-facet-value-checkbox-228b572d.js → stencil-facet-value-checkbox-c0df7c4e.js} +2 -2
  836. package/dist/esm/{stencil-facet-value-checkbox-228b572d.js.map → stencil-facet-value-checkbox-c0df7c4e.js.map} +1 -1
  837. package/dist/esm/{stencil-facet-value-link-41281838.js → stencil-facet-value-link-88512e29.js} +2 -2
  838. package/dist/esm/{stencil-facet-value-link-41281838.js.map → stencil-facet-value-link-88512e29.js.map} +1 -1
  839. package/dist/esm/{stencil-iconButton-ff8c8cf7.js → stencil-iconButton-ba40899c.js} +2 -2
  840. package/dist/esm/{stencil-iconButton-ff8c8cf7.js.map → stencil-iconButton-ba40899c.js.map} +1 -1
  841. package/dist/esm/{stencil-link-feb82bc0.js → stencil-link-b676e261.js} +2 -2
  842. package/dist/esm/{stencil-link-feb82bc0.js.map → stencil-link-b676e261.js.map} +1 -1
  843. package/dist/esm/{stencil-modal-ec1562dc.js → stencil-modal-467f7f33.js} +2 -2
  844. package/dist/esm/{stencil-modal-ec1562dc.js.map → stencil-modal-467f7f33.js.map} +1 -1
  845. package/dist/esm/stencil-placeholders-58a0c818.js +24 -0
  846. package/dist/esm/stencil-placeholders-58a0c818.js.map +1 -0
  847. package/dist/esm/{stencil-radio-button-4b36e45d.js → stencil-radio-button-cae5f40a.js} +3 -2
  848. package/dist/esm/stencil-radio-button-cae5f40a.js.map +1 -0
  849. package/dist/esm/{result-template-decorators-2ed76ea9.js → stencil-result-template-decorators-f989bc6b.js} +6 -2
  850. package/dist/esm/stencil-result-template-decorators-f989bc6b.js.map +1 -0
  851. package/dist/esm/{stencil-suggestion-manager-95694bcb.js → stencil-suggestion-manager-376f83e8.js} +2 -2
  852. package/dist/esm/{stencil-suggestion-manager-95694bcb.js.map → stencil-suggestion-manager-376f83e8.js.map} +1 -1
  853. package/dist/esm/{stencil-values-container-369adc52.js → stencil-values-container-9b9cd73f.js} +3 -3
  854. package/dist/esm/{stencil-values-container-369adc52.js.map → stencil-values-container-9b9cd73f.js.map} +1 -1
  855. package/dist/esm/{timeframe-facet-common-b97e786a.js → timeframe-facet-common-55fc72f3.js} +3 -3
  856. package/dist/esm/{timeframe-facet-common-b97e786a.js.map → timeframe-facet-common-55fc72f3.js.map} +1 -1
  857. package/dist/esm/version.js +1 -1
  858. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +1 -1
  859. package/dist/types/components/commerce/product-template-component-utils/context/fetch-product-context.d.ts +12 -0
  860. package/dist/types/components/commerce/product-template-component-utils/context/interactive-product-context-controller.d.ts +27 -0
  861. package/dist/types/components/commerce/product-template-component-utils/context/product-context-controller.d.ts +33 -0
  862. package/dist/types/components/commerce/product-template-component-utils/{stencil-product-template-decorators.d.ts → context/stencil-product-template-decorators.d.ts} +1 -1
  863. package/dist/types/components/common/smart-snippets/atomic-smart-snippet-source.d.ts +1 -1
  864. package/dist/types/components/search/atomic-result/atomic-result.d.ts +1 -1
  865. package/dist/types/components/search/{search-box-suggestions/atomic-search-box-query-suggestions → atomic-search-box-query-suggestions}/atomic-search-box-query-suggestions.d.ts +15 -6
  866. package/dist/types/components/search/index.d.ts +1 -1
  867. package/dist/types/components/search/result-template-component-utils/context/fetch-result-context.d.ts +8 -0
  868. package/dist/types/components/search/result-template-component-utils/context/interactive-result-context-controller.d.ts +12 -0
  869. package/dist/types/components/search/result-template-component-utils/context/result-context-controller.d.ts +18 -0
  870. 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
  871. package/dist/types/components/search/{atomic-search-box-instant-results → search-box-suggestions/atomic-search-box-instant-results}/atomic-search-box-instant-results.d.ts +10 -18
  872. package/dist/types/components.d.ts +48 -25
  873. package/dist/types/index.d.ts +3 -3
  874. package/docs/atomic-docs.json +181 -54
  875. package/package.json +1 -1
  876. package/dist/atomic/components/atomic-search-box-query-suggestions.d.ts +0 -11
  877. package/dist/atomic/components/atomic-search-box-query-suggestions.js +0 -8
  878. package/dist/atomic/components/atomic-search-box-query-suggestions.js.map +0 -1
  879. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +0 -124
  880. package/dist/atomic/components/atomic-search-box-query-suggestions2.js.map +0 -1
  881. package/dist/atomic/components/components/common/item-list/fetch-item-context.js +0 -15
  882. package/dist/atomic/components/components/common/item-list/item-template-provider.js +0 -28
  883. package/dist/atomic/components/decorators/commerce/product-template-decorators.js +0 -68
  884. package/dist/atomic/components/result-template-decorators.js.map +0 -1
  885. package/dist/atomic/components/stencil-query-suggestions.js +0 -33
  886. package/dist/atomic/components/stencil-query-suggestions.js.map +0 -1
  887. package/dist/atomic/p-05b4c4b5.entry.js.map +0 -1
  888. package/dist/atomic/p-0947a95f.entry.js +0 -2
  889. package/dist/atomic/p-0acbc1aa.entry.js +0 -2
  890. package/dist/atomic/p-1717e9cf.entry.js +0 -2
  891. package/dist/atomic/p-173deaca.entry.js +0 -2
  892. package/dist/atomic/p-18684d4c.js.map +0 -1
  893. package/dist/atomic/p-190ddaca.entry.js.map +0 -1
  894. package/dist/atomic/p-1936bfc8.entry.js +0 -2
  895. package/dist/atomic/p-1ceca322.entry.js +0 -2
  896. package/dist/atomic/p-1ff7a9da.entry.js.map +0 -1
  897. package/dist/atomic/p-277998d1.entry.js +0 -2
  898. package/dist/atomic/p-277998d1.entry.js.map +0 -1
  899. package/dist/atomic/p-28f4600a.entry.js +0 -2
  900. package/dist/atomic/p-30e24f95.entry.js +0 -2
  901. package/dist/atomic/p-30ea57e8.entry.js +0 -2
  902. package/dist/atomic/p-3957401e.entry.js +0 -2
  903. package/dist/atomic/p-4027e529.entry.js +0 -2
  904. package/dist/atomic/p-4069d801.entry.js.map +0 -1
  905. package/dist/atomic/p-42937d04.entry.js +0 -2
  906. package/dist/atomic/p-4310d46f.entry.js +0 -2
  907. package/dist/atomic/p-475df84c.entry.js +0 -2
  908. package/dist/atomic/p-4ba12e99.entry.js +0 -2
  909. package/dist/atomic/p-4cb91ee7.entry.js.map +0 -1
  910. package/dist/atomic/p-4ea041f5.entry.js +0 -2
  911. package/dist/atomic/p-4ea041f5.entry.js.map +0 -1
  912. package/dist/atomic/p-5346f77d.entry.js +0 -2
  913. package/dist/atomic/p-5f2fa73f.entry.js +0 -2
  914. package/dist/atomic/p-64da3471.entry.js +0 -2
  915. package/dist/atomic/p-6ddd05c2.entry.js +0 -2
  916. package/dist/atomic/p-7158d432.entry.js +0 -2
  917. package/dist/atomic/p-75c37247.js +0 -2
  918. package/dist/atomic/p-75c37247.js.map +0 -1
  919. package/dist/atomic/p-78427c6a.entry.js.map +0 -1
  920. package/dist/atomic/p-7b0e3ff4.entry.js +0 -2
  921. package/dist/atomic/p-7b9e5e58.entry.js +0 -2
  922. package/dist/atomic/p-7bf809eb.entry.js +0 -2
  923. package/dist/atomic/p-7c5d4924.entry.js +0 -2
  924. package/dist/atomic/p-7c5d4924.entry.js.map +0 -1
  925. package/dist/atomic/p-7e588beb.entry.js +0 -2
  926. package/dist/atomic/p-852cc16d.entry.js.map +0 -1
  927. package/dist/atomic/p-891cb944.entry.js +0 -2
  928. package/dist/atomic/p-8be21e4a.js +0 -2
  929. package/dist/atomic/p-8be21e4a.js.map +0 -1
  930. package/dist/atomic/p-8f69b018.entry.js +0 -2
  931. package/dist/atomic/p-9321b6a8.entry.js.map +0 -1
  932. package/dist/atomic/p-945ddd53.entry.js.map +0 -1
  933. package/dist/atomic/p-94b0fca4.entry.js +0 -2
  934. package/dist/atomic/p-955092ed.entry.js.map +0 -1
  935. package/dist/atomic/p-95cff664.entry.js +0 -2
  936. package/dist/atomic/p-9ec21c88.entry.js +0 -2
  937. package/dist/atomic/p-9feb951f.entry.js +0 -2
  938. package/dist/atomic/p-a1798150.entry.js.map +0 -1
  939. package/dist/atomic/p-a3d55993.entry.js +0 -2
  940. package/dist/atomic/p-aa69a7f4.entry.js +0 -2
  941. package/dist/atomic/p-ad9c0ce4.entry.js +0 -2
  942. package/dist/atomic/p-ad9c0ce4.entry.js.map +0 -1
  943. package/dist/atomic/p-af93b44c.js +0 -2
  944. package/dist/atomic/p-af93b44c.js.map +0 -1
  945. package/dist/atomic/p-b0542224.entry.js.map +0 -1
  946. package/dist/atomic/p-b0ce2261.entry.js +0 -2
  947. package/dist/atomic/p-b211da6c.entry.js +0 -2
  948. package/dist/atomic/p-b219eba8.entry.js.map +0 -1
  949. package/dist/atomic/p-b3f6561d.entry.js.map +0 -1
  950. package/dist/atomic/p-bd50cd51.entry.js +0 -2
  951. package/dist/atomic/p-beb2ad8e.js +0 -2
  952. package/dist/atomic/p-c2acd146.entry.js +0 -2
  953. package/dist/atomic/p-cbc634fa.entry.js +0 -2
  954. package/dist/atomic/p-ceeb9f1f.entry.js +0 -2
  955. package/dist/atomic/p-d0584482.entry.js +0 -2
  956. package/dist/atomic/p-d4303474.entry.js +0 -2
  957. package/dist/atomic/p-d618c229.entry.js +0 -2
  958. package/dist/atomic/p-dcc7eb32.entry.js +0 -2
  959. package/dist/atomic/p-dcc7eb32.entry.js.map +0 -1
  960. package/dist/atomic/p-ddf72215.entry.js +0 -2
  961. package/dist/atomic/p-df84c005.entry.js +0 -2
  962. package/dist/atomic/p-e0ba043d.entry.js +0 -2
  963. package/dist/atomic/p-e1c6589a.entry.js +0 -2
  964. package/dist/atomic/p-e1c6589a.entry.js.map +0 -1
  965. package/dist/atomic/p-e58679b8.entry.js +0 -2
  966. package/dist/atomic/p-e58679b8.entry.js.map +0 -1
  967. package/dist/atomic/p-e6dc9de7.entry.js.map +0 -1
  968. package/dist/atomic/p-e8180b21.entry.js +0 -2
  969. package/dist/atomic/p-e9dc8e90.entry.js.map +0 -1
  970. package/dist/atomic/p-f02d1e6e.entry.js +0 -2
  971. package/dist/atomic/p-f917dce9.entry.js +0 -2
  972. package/dist/atomic/p-fa9d8ab7.entry.js +0 -2
  973. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +0 -76
  974. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +0 -1
  975. package/dist/cjs/item-template-provider-e82736d7.js.map +0 -1
  976. package/dist/cjs/result-template-decorators-432d11a9.js.map +0 -1
  977. package/dist/cjs/stencil-button-a114783e.js.map +0 -1
  978. package/dist/cjs/stencil-query-suggestions-03268ecc.js +0 -38
  979. package/dist/cjs/stencil-query-suggestions-03268ecc.js.map +0 -1
  980. package/dist/cjs/stencil-radio-button-cbcc483e.js.map +0 -1
  981. package/dist/esm/atomic-search-box-query-suggestions.entry.js +0 -72
  982. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +0 -1
  983. package/dist/esm/item-template-provider-6e736120.js.map +0 -1
  984. package/dist/esm/result-template-decorators-2ed76ea9.js.map +0 -1
  985. package/dist/esm/stencil-button-5f84efcc.js.map +0 -1
  986. package/dist/esm/stencil-query-suggestions-5d6a46d7.js +0 -33
  987. package/dist/esm/stencil-query-suggestions-5d6a46d7.js.map +0 -1
  988. package/dist/esm/stencil-radio-button-4b36e45d.js.map +0 -1
  989. package/dist/types/decorators/commerce/product-template-decorators.d.ts +0 -68
  990. /package/dist/atomic/{p-3f0e7549.js.map → p-037eee11.js.map} +0 -0
  991. /package/dist/atomic/{p-534aa5f7.entry.js.map → p-044de1f9.entry.js.map} +0 -0
  992. /package/dist/atomic/{p-7bf809eb.entry.js.map → p-05f1ff6f.entry.js.map} +0 -0
  993. /package/dist/atomic/{p-d2107c93.entry.js.map → p-14bad769.entry.js.map} +0 -0
  994. /package/dist/atomic/{p-0fb39501.js.map → p-16f4ce98.js.map} +0 -0
  995. /package/dist/atomic/{p-d8d346f3.entry.js.map → p-1c8bcadf.entry.js.map} +0 -0
  996. /package/dist/atomic/{p-d365883e.js.map → p-20cbcfb9.js.map} +0 -0
  997. /package/dist/atomic/{p-d1fbb20a.entry.js.map → p-229018fa.entry.js.map} +0 -0
  998. /package/dist/atomic/{p-dbc08e9e.entry.js.map → p-26e0c1f8.entry.js.map} +0 -0
  999. /package/dist/atomic/{p-d4cbd9b1.js.map → p-2c6f895f.js.map} +0 -0
  1000. /package/dist/atomic/{p-f654697b.entry.js.map → p-2e13e2c0.entry.js.map} +0 -0
  1001. /package/dist/atomic/{p-e3bd190a.entry.js.map → p-326c1f55.entry.js.map} +0 -0
  1002. /package/dist/atomic/{p-0fb717b5.entry.js.map → p-3272a04b.entry.js.map} +0 -0
  1003. /package/dist/atomic/{p-9c556664.entry.js.map → p-3291adda.entry.js.map} +0 -0
  1004. /package/dist/atomic/{p-8d1f7884.entry.js.map → p-44d96103.entry.js.map} +0 -0
  1005. /package/dist/atomic/{p-a94386b5.entry.js.map → p-47b41b27.entry.js.map} +0 -0
  1006. /package/dist/atomic/{p-20fc8a6c.js.map → p-5a2ef889.js.map} +0 -0
  1007. /package/dist/atomic/{p-e8180b21.entry.js.map → p-5b8cc4bc.entry.js.map} +0 -0
  1008. /package/dist/atomic/{p-76cf6545.js.map → p-5c73ebc4.js.map} +0 -0
  1009. /package/dist/atomic/{p-0ab0ceaa.js.map → p-5d0a3045.js.map} +0 -0
  1010. /package/dist/atomic/{p-68013132.js.map → p-60498b8e.js.map} +0 -0
  1011. /package/dist/atomic/{p-3f3f6b14.entry.js.map → p-6819f12c.entry.js.map} +0 -0
  1012. /package/dist/atomic/{p-0e6f1e14.js.map → p-74862002.js.map} +0 -0
  1013. /package/dist/atomic/{p-ca0e9cd6.js.map → p-8a488991.js.map} +0 -0
  1014. /package/dist/atomic/{p-06c22903.entry.js.map → p-a0ebbbdf.entry.js.map} +0 -0
  1015. /package/dist/atomic/{p-9dcd5606.js.map → p-a428960a.js.map} +0 -0
  1016. /package/dist/atomic/{p-1365c7d0.js.map → p-b29d121c.js.map} +0 -0
  1017. /package/dist/atomic/{p-25660266.js.map → p-baff6c43.js.map} +0 -0
  1018. /package/dist/atomic/{p-118db20a.entry.js.map → p-bc43df67.entry.js.map} +0 -0
  1019. /package/dist/atomic/{p-4ecabf56.js.map → p-c619df9b.js.map} +0 -0
  1020. /package/dist/atomic/{p-a9e250f8.js.map → p-ca37969c.js.map} +0 -0
  1021. /package/dist/atomic/{p-134b7370.js.map → p-d2e8a2d4.js.map} +0 -0
  1022. /package/dist/atomic/{p-90ace4cd.entry.js.map → p-d8caa4d8.entry.js.map} +0 -0
  1023. /package/dist/atomic/{p-340130de.js.map → p-dbc09018.js.map} +0 -0
  1024. /package/dist/atomic/{p-15580d9e.js.map → p-ef78082a.js.map} +0 -0
  1025. /package/dist/atomic/{p-1936bfc8.entry.js.map → p-f4818e53.entry.js.map} +0 -0
  1026. /package/dist/atomic/{p-609d0550.entry.js.map → p-f65ca329.entry.js.map} +0 -0
  1027. /package/dist/atomic/{p-4bf14d26.js.map → p-f8b608ba.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-result-image.js","mappings":"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","names":["AtomicResultImage"],"sources":["src/components/search/result-template-components/atomic-result-image/atomic-result-image.pcss?tag=atomic-result-image","src/components/search/result-template-components/atomic-result-image/atomic-result-image.tsx"],"sourcesContent":["atomic-result-image {\n display: grid;\n place-items: center;\n grid-template-rows: 100%;\n width: 100%;\n height: 100%;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, h, Prop, Element, State} from '@stencil/core';\nimport {\n InitializeBindings,\n InitializableComponent,\n} from '../../../../utils/initialization-utils';\nimport {filterProtocol} from '../../../../utils/xss-utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-image` component renders an image from a result field.\n */\n@Component({\n tag: 'atomic-result-image',\n styleUrl: 'atomic-result-image.pcss',\n shadow: false,\n})\nexport class AtomicResultImage implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() private host!: HTMLElement;\n @State() private useFallback = false;\n\n /**\n * The result field which the component should use. This will look for the field in the Result object first, then in the Result.raw object. It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n /**\n * The result field that contains the alt text for the image. This will look for the field in the Result object first, then in the Result.raw object\n *\n * If the field is not specified, or does not contain a valid value, the alt text will be set to \"Image for {productName}\".\n */\n @Prop({reflect: true}) imageAltField?: string;\n\n /**\n * An optional fallback image URL that will be used in case the specified image field is not available or encounters an error.\n */\n @Prop({reflect: true}) fallback?: string;\n\n public error!: Error;\n\n public get url() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n return Array.isArray(value) ? value[0] : value;\n }\n\n private get altText(): string {\n if (this.imageAltField) {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.imageAltField\n );\n\n if (Array.isArray(value) && typeof value[0] === 'string') {\n return value[0];\n }\n\n if (typeof value === 'string') {\n return value;\n }\n }\n\n return this.bindings.i18n.t('image-alt-fallback', {\n itemName: this.result.title,\n });\n }\n\n private logWarning(message: string) {\n this.bindings.engine.logger.warn(message, this.host);\n }\n\n private handleImageError() {\n const message = `The image url \"${this.url}\" is not valid or could not be loaded. You might want to add a \"fallback\" property.`;\n\n this.fallback ? (this.useFallback = true) : this.logWarning(message);\n }\n\n private handleMissingFallback(message: string) {\n if (!this.fallback) {\n this.logWarning(message);\n this.host.remove();\n return null;\n }\n return this.fallback;\n }\n\n private validateUrl(url: string) {\n if (!url) {\n const message = `\"${this.field}\" is missing. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n if (typeof url !== 'string') {\n const message = `Expected \"${this.field}\" to be a text field. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n return url;\n }\n\n public render() {\n let url = this.useFallback ? this.fallback : this.url;\n\n if (!this.useFallback) {\n url = this.validateUrl(url);\n if (!url) {\n return;\n }\n }\n\n return (\n <img\n alt={this.altText}\n src={filterProtocol(url)}\n onError={() => this.handleImageError()}\n loading=\"lazy\"\n />\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-image.js","mappings":"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","names":["AtomicResultImage"],"sources":["src/components/search/result-template-components/atomic-result-image/atomic-result-image.pcss?tag=atomic-result-image","src/components/search/result-template-components/atomic-result-image/atomic-result-image.tsx"],"sourcesContent":["atomic-result-image {\n display: grid;\n place-items: center;\n grid-template-rows: 100%;\n width: 100%;\n height: 100%;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: contain;\n }\n}\n","import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, h, Prop, Element, State} from '@stencil/core';\nimport {\n InitializeBindings,\n InitializableComponent,\n} from '../../../../utils/initialization-utils';\nimport {filterProtocol} from '../../../../utils/xss-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-image` component renders an image from a result field.\n */\n@Component({\n tag: 'atomic-result-image',\n styleUrl: 'atomic-result-image.pcss',\n shadow: false,\n})\nexport class AtomicResultImage implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() private host!: HTMLElement;\n @State() private useFallback = false;\n\n /**\n * The result field which the component should use. This will look for the field in the Result object first, then in the Result.raw object. It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n /**\n * The result field that contains the alt text for the image. This will look for the field in the Result object first, then in the Result.raw object\n *\n * If the field is not specified, or does not contain a valid value, the alt text will be set to \"Image for {productName}\".\n */\n @Prop({reflect: true}) imageAltField?: string;\n\n /**\n * An optional fallback image URL that will be used in case the specified image field is not available or encounters an error.\n */\n @Prop({reflect: true}) fallback?: string;\n\n public error!: Error;\n\n public get url() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n return Array.isArray(value) ? value[0] : value;\n }\n\n private get altText(): string {\n if (this.imageAltField) {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.imageAltField\n );\n\n if (Array.isArray(value) && typeof value[0] === 'string') {\n return value[0];\n }\n\n if (typeof value === 'string') {\n return value;\n }\n }\n\n return this.bindings.i18n.t('image-alt-fallback', {\n itemName: this.result.title,\n });\n }\n\n private logWarning(message: string) {\n this.bindings.engine.logger.warn(message, this.host);\n }\n\n private handleImageError() {\n const message = `The image url \"${this.url}\" is not valid or could not be loaded. You might want to add a \"fallback\" property.`;\n\n this.fallback ? (this.useFallback = true) : this.logWarning(message);\n }\n\n private handleMissingFallback(message: string) {\n if (!this.fallback) {\n this.logWarning(message);\n this.host.remove();\n return null;\n }\n return this.fallback;\n }\n\n private validateUrl(url: string) {\n if (!url) {\n const message = `\"${this.field}\" is missing. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n if (typeof url !== 'string') {\n const message = `Expected \"${this.field}\" to be a text field. Please review your indexation. You might want to add a \"fallback\" property.`;\n return this.handleMissingFallback(message);\n }\n\n return url;\n }\n\n public render() {\n let url = this.useFallback ? this.fallback : this.url;\n\n if (!this.useFallback) {\n url = this.validateUrl(url);\n if (!url) {\n return;\n }\n }\n\n return (\n <img\n alt={this.altText}\n src={filterProtocol(url)}\n onError={() => this.handleImageError()}\n loading=\"lazy\"\n />\n );\n }\n}\n"],"version":3}
@@ -6,7 +6,7 @@ import { a as buildStringTemplateFromResult } from './result-utils.js';
6
6
  import { g as getDefaultSlotFromHost } from './slot-utils.js';
7
7
  import { g as getAttributesFromLinkSlot } from './attributes-slot.js';
8
8
  import { L as LinkWithItemAnalytics } from './stencil-item-link.js';
9
- import { R as ResultContext, I as InteractiveResultContext } from './result-template-decorators.js';
9
+ import { R as ResultContext, I as InteractiveResultContext } from './stencil-result-template-decorators.js';
10
10
  import { d as defineCustomElement$3 } from './atomic-result-text2.js';
11
11
  import { d as defineCustomElement$2 } from './atomic-text2.js';
12
12
 
@@ -43,7 +43,7 @@ const AtomicResultLink$1 = /*@__PURE__*/ proxyCustomElement(class AtomicResultLi
43
43
  const href = isUndefined(this.hrefTemplate)
44
44
  ? this.result.clickUri
45
45
  : buildStringTemplateFromResult(this.hrefTemplate, this.result, this.bindings);
46
- return (h(LinkWithItemAnalytics, { key: '1270d5a72b82ab889c2e2ae2c00e66c7f9d7584e', href: href, onSelect: () => this.interactiveResult.select(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (h("slot", null)) : (h("atomic-result-text", { field: "title", default: "no-title" }))));
46
+ return (h(LinkWithItemAnalytics, { key: '2fb80cc69085cae4810fb109ab615684630d88ba', href: href, onSelect: () => this.interactiveResult.select(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (h("slot", null)) : (h("atomic-result-text", { field: "title", default: "no-title" }))));
47
47
  }
48
48
  get host() { return this; }
49
49
  static get style() { return AtomicResultLinkStyle0; }
@@ -1 +1 @@
1
- {"file":"atomic-result-link.js","mappings":";;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,g5kEAAg5kE,CAAC;AAC76kE,+BAAe,mBAAmB;;;;;;;;;;;;MC4BrBA,kBAAgB;;;;;;IA0BpB,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,CACrB,gBAAgB,CACd,+BAA+B,EAC/B,CAAC,eAAwB;YACvB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SACxC,CACF,CACF,CAAC;KACH;IAEM,iBAAiB;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACtE;IAEM,MAAM;QACX,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;cACvC,IAAI,CAAC,MAAM,CAAC,QAAQ;cACpB,6BAA6B,CAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CACd,CAAC;QAEN,QACE,EAAC,qBAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAC/C,oBAAoB,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,EACvE,qBAAqB,EAAE,MACrB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,EAE9C,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,IAEpC,IAAI,CAAC,cAAc,IAClB,eAAQ,KAER,0BACE,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,UAAU,GACE,CACvB,CACqB,EACxB;KACH;;;;;;AAxE4B;IAA5B,kBAAkB,EAAE;oDAA4B;AAGxB;IAAxB,aAAa,EAAE;kDAAkC;AACd;IAAnC,wBAAwB,EAAE;6DAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultLink"],"sources":["src/components/search/result-template-components/atomic-result-link/atomic-result-link.pcss?tag=atomic-result-link","src/components/search/result-template-components/atomic-result-link/atomic-result-link.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\natomic-result-link {\n a {\n @apply link-style;\n }\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {InteractiveResult} from '@coveo/headless';\nimport {Component, h, Prop, Element} from '@stencil/core';\nimport {buildCustomEvent} from '../../../../utils/event-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {buildStringTemplateFromResult} from '../../../../utils/result-utils';\nimport {getDefaultSlotFromHost} from '../../../../utils/slot-utils';\nimport {AnyUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {getAttributesFromLinkSlot} from '../../../common/item-link/attributes-slot';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {\n InteractiveResultContext,\n ResultContext,\n} from '../result-template-decorators';\n\n/**\n * The `atomic-result-link` component automatically transforms a search result title into a clickable link that points to the original item.\n * @slot default - Lets you display alternative content inside the link\n * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to the link element, overriding other attributes, to be used exclusively with an \"a\" tag such as `<a slot=\"attributes\" target=\"_blank\" download></a>`.\n */\n@Component({\n tag: 'atomic-result-link',\n styleUrl: 'atomic-result-link.pcss',\n shadow: false,\n})\nexport class AtomicResultLink implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public error!: Error;\n\n @ResultContext() private result!: AnyUnfoldedItem;\n @InteractiveResultContext() private interactiveResult!: InteractiveResult;\n\n @Element() private host!: HTMLElement;\n\n /**\n * Specifies a template literal from which to generate the `href` attribute value (see\n * [Template literals](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals)).\n *\n * The template literal can reference any number of result properties from the parent result. It can also reference the window object.\n *\n * For example, the following markup generates an `href` value such as `http://uri.com?id=itemTitle`, using the result's `clickUri` and `itemtitle` fields.\n * ```html\n * <atomic-result-link href-template='${clickUri}?id=${raw.itemtitle}'></atomic-result-link>\n * ```\n */\n @Prop({reflect: true}) hrefTemplate?: string;\n\n private hasDefaultSlot!: boolean;\n private linkAttributes?: Attr[];\n private stopPropagation?: boolean;\n\n public initialize() {\n this.host.dispatchEvent(\n buildCustomEvent(\n 'atomic/resolveStopPropagation',\n (stopPropagation: boolean) => {\n this.stopPropagation = stopPropagation;\n }\n )\n );\n }\n\n public connectedCallback() {\n const slotName = 'attributes';\n this.hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n this.linkAttributes = getAttributesFromLinkSlot(this.host, slotName);\n }\n\n public render() {\n const href = isUndefined(this.hrefTemplate)\n ? this.result.clickUri\n : buildStringTemplateFromResult(\n this.hrefTemplate,\n this.result,\n this.bindings\n );\n\n return (\n <LinkWithItemAnalytics\n href={href}\n onSelect={() => this.interactiveResult.select()}\n onBeginDelayedSelect={() => this.interactiveResult.beginDelayedSelect()}\n onCancelPendingSelect={() =>\n this.interactiveResult.cancelPendingSelect()\n }\n attributes={this.linkAttributes}\n stopPropagation={this.stopPropagation}\n >\n {this.hasDefaultSlot ? (\n <slot />\n ) : (\n <atomic-result-text\n field=\"title\"\n default=\"no-title\"\n ></atomic-result-text>\n )}\n </LinkWithItemAnalytics>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-link.js","mappings":";;;;;;;;;;;;AAAA,MAAM,mBAAmB,GAAG,g5kEAAg5kE,CAAC;AAC76kE,+BAAe,mBAAmB;;;;;;;;;;;;MC4BrBA,kBAAgB;;;;;;IA0BpB,UAAU;QACf,IAAI,CAAC,IAAI,CAAC,aAAa,CACrB,gBAAgB,CACd,+BAA+B,EAC/B,CAAC,eAAwB;YACvB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;SACxC,CACF,CACF,CAAC;KACH;IAEM,iBAAiB;QACtB,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC9B,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc,GAAG,yBAAyB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACtE;IAEM,MAAM;QACX,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC;cACvC,IAAI,CAAC,MAAM,CAAC,QAAQ;cACpB,6BAA6B,CAC3B,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,QAAQ,CACd,CAAC;QAEN,QACE,EAAC,qBAAqB,qDACpB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,EAC/C,oBAAoB,EAAE,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,EACvE,qBAAqB,EAAE,MACrB,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,EAAE,EAE9C,UAAU,EAAE,IAAI,CAAC,cAAc,EAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,IAEpC,IAAI,CAAC,cAAc,IAClB,eAAQ,KAER,0BACE,KAAK,EAAC,OAAO,EACb,OAAO,EAAC,UAAU,GACE,CACvB,CACqB,EACxB;KACH;;;;;;AAxE4B;IAA5B,kBAAkB,EAAE;oDAA4B;AAGxB;IAAxB,aAAa,EAAE;kDAAkC;AACd;IAAnC,wBAAwB,EAAE;6DAA+C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultLink"],"sources":["src/components/search/result-template-components/atomic-result-link/atomic-result-link.pcss?tag=atomic-result-link","src/components/search/result-template-components/atomic-result-link/atomic-result-link.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\natomic-result-link {\n a {\n @apply link-style;\n }\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {InteractiveResult} from '@coveo/headless';\nimport {Component, h, Prop, Element} from '@stencil/core';\nimport {buildCustomEvent} from '../../../../utils/event-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {buildStringTemplateFromResult} from '../../../../utils/result-utils';\nimport {getDefaultSlotFromHost} from '../../../../utils/slot-utils';\nimport {AnyUnfoldedItem} from '../../../common/item-list/unfolded-item';\nimport {getAttributesFromLinkSlot} from '../../../common/item-link/attributes-slot';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {\n InteractiveResultContext,\n ResultContext,\n} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-result-link` component automatically transforms a search result title into a clickable link that points to the original item.\n * @slot default - Lets you display alternative content inside the link\n * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to the link element, overriding other attributes, to be used exclusively with an \"a\" tag such as `<a slot=\"attributes\" target=\"_blank\" download></a>`.\n */\n@Component({\n tag: 'atomic-result-link',\n styleUrl: 'atomic-result-link.pcss',\n shadow: false,\n})\nexport class AtomicResultLink implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public error!: Error;\n\n @ResultContext() private result!: AnyUnfoldedItem;\n @InteractiveResultContext() private interactiveResult!: InteractiveResult;\n\n @Element() private host!: HTMLElement;\n\n /**\n * Specifies a template literal from which to generate the `href` attribute value (see\n * [Template literals](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals)).\n *\n * The template literal can reference any number of result properties from the parent result. It can also reference the window object.\n *\n * For example, the following markup generates an `href` value such as `http://uri.com?id=itemTitle`, using the result's `clickUri` and `itemtitle` fields.\n * ```html\n * <atomic-result-link href-template='${clickUri}?id=${raw.itemtitle}'></atomic-result-link>\n * ```\n */\n @Prop({reflect: true}) hrefTemplate?: string;\n\n private hasDefaultSlot!: boolean;\n private linkAttributes?: Attr[];\n private stopPropagation?: boolean;\n\n public initialize() {\n this.host.dispatchEvent(\n buildCustomEvent(\n 'atomic/resolveStopPropagation',\n (stopPropagation: boolean) => {\n this.stopPropagation = stopPropagation;\n }\n )\n );\n }\n\n public connectedCallback() {\n const slotName = 'attributes';\n this.hasDefaultSlot = !!getDefaultSlotFromHost(this.host);\n this.linkAttributes = getAttributesFromLinkSlot(this.host, slotName);\n }\n\n public render() {\n const href = isUndefined(this.hrefTemplate)\n ? this.result.clickUri\n : buildStringTemplateFromResult(\n this.hrefTemplate,\n this.result,\n this.bindings\n );\n\n return (\n <LinkWithItemAnalytics\n href={href}\n onSelect={() => this.interactiveResult.select()}\n onBeginDelayedSelect={() => this.interactiveResult.beginDelayedSelect()}\n onCancelPendingSelect={() =>\n this.interactiveResult.cancelPendingSelect()\n }\n attributes={this.linkAttributes}\n stopPropagation={this.stopPropagation}\n >\n {this.hasDefaultSlot ? (\n <slot />\n ) : (\n <atomic-result-text\n field=\"title\"\n default=\"no-title\"\n ></atomic-result-text>\n )}\n </LinkWithItemAnalytics>\n );\n }\n}\n"],"version":3}
@@ -4,10 +4,11 @@ import { H as Hidden, I as InitializeBindings, B as BindStateToController } from
4
4
  import { A as ArrayProp } from './props-utils.js';
5
5
  import { F as FocusTargetController } from './stencil-accessibility-utils.js';
6
6
  import { r as randomID } from './utils.js';
7
- import { I as ItemTemplateProvider, R as ResultsPlaceholdersGuard } from './item-template-provider.js';
7
+ import { R as ResultsPlaceholdersGuard } from './stencil-placeholders.js';
8
8
  import { c as createAppLoadedListener } from './store.js';
9
9
  import { D as DisplayWrapper, I as ItemDisplayGuard } from './stencil-display-wrapper.js';
10
10
  import { I as ItemListGuard } from './item-list-guard.js';
11
+ import { I as ItemTemplateProvider } from './item-template-provider.js';
11
12
  import { D as DisplayGrid } from './stencil-display-grid.js';
12
13
  import { t as tableElementTagName } from './table-element-utils.js';
13
14
  import { I as ItemListCommon } from './stencil-item-list-common.js';
@@ -193,7 +194,7 @@ const AtomicResultList$1 = /*@__PURE__*/ proxyCustomElement(class AtomicResultLi
193
194
  render() {
194
195
  this.resultListCommon.updateBreakpoints();
195
196
  const listClasses = this.computeListDisplayClasses();
196
- return (h(TabGuard, { key: '008e393381053be8d85a19fd0d96de76d848848e', tabsIncluded: this.tabsIncluded, tabsExcluded: this.tabsExcluded, activeTab: this.tabManagerState.activeTab }, h(ItemListGuard, { key: 'eedb9584a68bb65a86e991a5ac42c72661733adb', hasError: this.resultListState.hasError, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, h(DisplayWrapper, { key: '851a6cc415a8d1b972b0a153f27ce84065dcc04b', display: this.display, listClasses: listClasses }, h(ResultsPlaceholdersGuard, { key: '9d5bfe81f64ec4bc917356612b327e604c6797eb', density: this.density, display: this.display, imageSize: this.imageSize, displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults }), h(ItemDisplayGuard, { key: '60fceb73bdd988a88970e0d9c8700f5f7c9489f9', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.display === 'table'
197
+ return (h(TabGuard, { key: '7c731e8e044622441143bc088da30fa1d2ef8cc4', tabsIncluded: this.tabsIncluded, tabsExcluded: this.tabsExcluded, activeTab: this.tabManagerState.activeTab }, h(ItemListGuard, { key: 'a7d167d6cda630934f97dde5668e30234f23caee', hasError: this.resultListState.hasError, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, h(DisplayWrapper, { key: '0e21486e08e5923648c1b766a6f8aded7b0cbdfd', display: this.display, listClasses: listClasses }, h(ResultsPlaceholdersGuard, { key: '51d058449614726969e153e7eede019faa369a4c', density: this.density, display: this.display, imageSize: this.imageSize, displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults }), h(ItemDisplayGuard, { key: '0de15a52bc8b05b4d722139611d9d5becf448c05', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.display === 'table'
197
198
  ? this.renderAsTable()
198
199
  : this.display === 'grid'
199
200
  ? this.renderAsGrid()
@@ -1 +1 @@
1
- {"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\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 this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\nexport interface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\nexport interface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\nexport interface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\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 this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
@@ -1,9 +1,9 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { isNullOrUndefined } from '@coveo/bueno';
3
3
  import { ResultTemplatesHelpers } from '@coveo/headless';
4
+ import { R as ResultContext } from './stencil-result-template-decorators.js';
4
5
  import { I as InitializeBindings } from './initialization-utils.js';
5
6
  import { M as MapProp } from './props-utils.js';
6
- import { R as ResultContext } from './result-template-decorators.js';
7
7
 
8
8
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
9
9
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-result-localized-text.js","mappings":";;;;;;;;;;;;;;;;;MA+BaA,2BAAyB;;;;;;;QAYjB,UAAK,GAA2B,EAAE,CAAC;;;qBAAH,EAAE;;;IAMrD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YAC1C,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,GAAG,IAAI,CAAC,eAAe,EAAE;SAC1B,CAAC,CAAC;KACJ;IAEO,gBAAgB;QACtB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC;YAC5D,MAAM,aAAa,GAAG,sBAAsB,CAAC,iBAAiB,CAC5D,IAAI,CAAC,MAAM,EACX,SAAS,CACV,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;gBACrC,GAAG,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;aACpC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;KACZ;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QACD,OAAO;YACL,KAAK,EACF,sBAAsB,CAAC,iBAAiB,CACvC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAW,CACN,IAAI,CAAC;SACpB,CAAC;KACH;;;;;;;AArD4B;IAA5B,kBAAkB,EAAE;6DAA4B;AAGxB;IAAxB,aAAa,EAAE;2DAAyB;AAQtB;IAAV,OAAO,EAAE;0DAAoC;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultLocalizedText"],"sources":["src/components/search/result-template-components/atomic-result-localized-text/atomic-result-localized-text.ts"],"sourcesContent":["import {isNullOrUndefined} from '@coveo/bueno';\nimport {type Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, State} from '@stencil/core';\nimport {\n type InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {MapProp} from '../../../../utils/props-utils';\nimport type {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-localized-text` component renders a target i18n localized string using the values of a target field.\n *\n * Given this i18n configuration:\n * ```\n * searchInterface.i18n.addResourceBundle('en', 'translation', {\n * classic_book_advert: 'Classic book from {{name}}',\n * });\n * ```\n *\n * The component could be configured in such a way to replace `{{name}}` with the `author` field value from the result item:\n * ```\n * <atomic-result-localized-text locale-key=\"classic_book_advert\" field-author=\"name\"></atomic-result-localized-text>\n * ```\n *\n * @MapProp name: field;attr: field;docs: The field from which to extract the target string and the variable used to map it to the target i18n parameter. For example, the following configuration extracts the value of `author` from a result, and assign it to the i18n parameter `name`: `field-author=\"name\"`;type: Record<string, string> ;default: {}\n */\n@Component({\n tag: 'atomic-result-localized-text',\n})\nexport class AtomicResultLocalizedText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @ResultContext() private result!: Result;\n /**\n * The i18n translation key.\n */\n @Prop() localeKey!: string;\n /**\n * The field value to dynamically evaluate.\n */\n @Prop() @MapProp() field: Record<string, string> = {};\n /**\n * The numerical field value used to determine whether to use the singular or plural value of a translation.\n * */\n @Prop() fieldCount?: string;\n\n render() {\n return this.bindings.i18n.t(this.localeKey, {\n ...this.parseFieldValues(),\n ...this.parseFieldCount(),\n });\n }\n\n private parseFieldValues() {\n const ret: Record<string, unknown> = {};\n if (Object.keys(this.field).length === 0) {\n return ret;\n }\n Object.entries(this.field).forEach(([fieldName, i18nParameter]) => {\n const fieldValueRaw = ResultTemplatesHelpers.getResultProperty(\n this.result,\n fieldName\n );\n if (!isNullOrUndefined(fieldValueRaw)) {\n ret[i18nParameter] = fieldValueRaw;\n }\n });\n\n return ret;\n }\n\n private parseFieldCount() {\n if (!this.fieldCount) {\n return {};\n }\n return {\n count:\n (ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.fieldCount!\n ) as number) ?? 1,\n };\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-localized-text.js","mappings":";;;;;;;;;;;;;;;;;MA+BaA,2BAAyB;;;;;;;QAYjB,UAAK,GAA2B,EAAE,CAAC;;;qBAAH,EAAE;;;IAMrD,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE;YAC1C,GAAG,IAAI,CAAC,gBAAgB,EAAE;YAC1B,GAAG,IAAI,CAAC,eAAe,EAAE;SAC1B,CAAC,CAAC;KACJ;IAEO,gBAAgB;QACtB,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;YACxC,OAAO,GAAG,CAAC;SACZ;QACD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC;YAC5D,MAAM,aAAa,GAAG,sBAAsB,CAAC,iBAAiB,CAC5D,IAAI,CAAC,MAAM,EACX,SAAS,CACV,CAAC;YACF,IAAI,CAAC,iBAAiB,CAAC,aAAa,CAAC,EAAE;gBACrC,GAAG,CAAC,aAAa,CAAC,GAAG,aAAa,CAAC;aACpC;SACF,CAAC,CAAC;QAEH,OAAO,GAAG,CAAC;KACZ;IAEO,eAAe;QACrB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO,EAAE,CAAC;SACX;QACD,OAAO;YACL,KAAK,EACF,sBAAsB,CAAC,iBAAiB,CACvC,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,UAAW,CACN,IAAI,CAAC;SACpB,CAAC;KACH;;;;;;;AArD4B;IAA5B,kBAAkB,EAAE;6DAA4B;AAGxB;IAAxB,aAAa,EAAE;2DAAyB;AAQtB;IAAV,OAAO,EAAE;0DAAoC;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultLocalizedText"],"sources":["src/components/search/result-template-components/atomic-result-localized-text/atomic-result-localized-text.ts"],"sourcesContent":["import {isNullOrUndefined} from '@coveo/bueno';\nimport {type Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, State} from '@stencil/core';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\nimport {\n type InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {MapProp} from '../../../../utils/props-utils';\nimport type {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-localized-text` component renders a target i18n localized string using the values of a target field.\n *\n * Given this i18n configuration:\n * ```\n * searchInterface.i18n.addResourceBundle('en', 'translation', {\n * classic_book_advert: 'Classic book from {{name}}',\n * });\n * ```\n *\n * The component could be configured in such a way to replace `{{name}}` with the `author` field value from the result item:\n * ```\n * <atomic-result-localized-text locale-key=\"classic_book_advert\" field-author=\"name\"></atomic-result-localized-text>\n * ```\n *\n * @MapProp name: field;attr: field;docs: The field from which to extract the target string and the variable used to map it to the target i18n parameter. For example, the following configuration extracts the value of `author` from a result, and assign it to the i18n parameter `name`: `field-author=\"name\"`;type: Record<string, string> ;default: {}\n */\n@Component({\n tag: 'atomic-result-localized-text',\n})\nexport class AtomicResultLocalizedText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @ResultContext() private result!: Result;\n /**\n * The i18n translation key.\n */\n @Prop() localeKey!: string;\n /**\n * The field value to dynamically evaluate.\n */\n @Prop() @MapProp() field: Record<string, string> = {};\n /**\n * The numerical field value used to determine whether to use the singular or plural value of a translation.\n * */\n @Prop() fieldCount?: string;\n\n render() {\n return this.bindings.i18n.t(this.localeKey, {\n ...this.parseFieldValues(),\n ...this.parseFieldCount(),\n });\n }\n\n private parseFieldValues() {\n const ret: Record<string, unknown> = {};\n if (Object.keys(this.field).length === 0) {\n return ret;\n }\n Object.entries(this.field).forEach(([fieldName, i18nParameter]) => {\n const fieldValueRaw = ResultTemplatesHelpers.getResultProperty(\n this.result,\n fieldName\n );\n if (!isNullOrUndefined(fieldValueRaw)) {\n ret[i18nParameter] = fieldValueRaw;\n }\n });\n\n return ret;\n }\n\n private parseFieldCount() {\n if (!this.fieldCount) {\n return {};\n }\n return {\n count:\n (ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.fieldCount!\n ) as number) ?? 1,\n };\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@ import { buildBreadcrumbManager, ResultTemplatesHelpers } from '@coveo/headless'
3
3
  import { g as getFieldValueCaption } from './field-utils.js';
4
4
  import { I as InitializeBindings } from './initialization-utils.js';
5
5
  import { t as titleToKebab } from './utils.js';
6
- import { R as ResultContext } from './result-template-decorators.js';
6
+ import { R as ResultContext } from './stencil-result-template-decorators.js';
7
7
 
8
8
  const atomicResultMultiValueTextCss = ":host>ul{display:flex;list-style:none;margin:0;padding:0}:host>ul li{display:inline-block}.separator::before{display:inline;content:',\\00a0'}";
9
9
  const AtomicResultMultiValueTextStyle0 = atomicResultMultiValueTextCss;
@@ -1 +1 @@
1
- {"file":"atomic-result-multi-value-text.js","mappings":"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","names":["AtomicResultMultiValueText"],"sources":["src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.pcss?tag=atomic-result-multi-value-text&encapsulation=shadow","src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.tsx"],"sourcesContent":[":host {\n > ul {\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n\n li {\n display: inline-block;\n }\n }\n}\n\n.separator {\n &::before {\n display: inline;\n content: ',\\00a0';\n }\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n Result,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Element, Prop, h, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {titleToKebab} from '../../../../utils/utils';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-multi-value-text` component renders the values of a multi-value string field.\n * @part result-multi-value-text-list - The list of field values.\n * @part result-multi-value-text-separator - The separator to display between each of the field values.\n * @part result-multi-value-text-value - A field value.\n * @part result-multi-value-text-value-more - A label indicating some values were omitted.\n * @slot result-multi-value-text-value-* - A custom caption value that's specified for a given part of a multi-text field value. For example, if you want to use `Off-Campus Resident` as a caption value for `Off-campus apartment` in `Off-campus apartment;On-campus apartment`, you'd use `<span slot=\"result-multi-value-text-value-off-campus-apartment\">Off-Campus Resident</span>`). The suffix of this slot corresponds with the field value, written in kebab case.\n */\n@Component({\n tag: 'atomic-result-multi-value-text',\n styleUrl: 'atomic-result-multi-value-text.pcss',\n shadow: true,\n})\nexport class AtomicResultMultiValueText {\n public breadcrumbManager!: BreadcrumbManager;\n\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n\n /**\n * The maximum number of field values to display.\n * If there are _n_ more values than the specified maximum, the last displayed value will be \"_n_ more...\".\n */\n @Prop({reflect: true}) public maxValuesToDisplay = 3;\n\n /**\n * The delimiter used to separate values when the field isn't indexed as a multi value field.\n */\n @Prop({reflect: true}) public delimiter: string | null = null;\n\n private sortedValues: string[] | null = null;\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n }\n\n private get resultValues() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((v) => `${v}`.trim());\n }\n\n if (typeof value !== 'string' || value.trim() === '') {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a string array.`\n );\n return null;\n }\n\n return this.delimiter\n ? value.split(this.delimiter).map((value) => value.trim())\n : [value];\n }\n\n private get facetSelectedValues() {\n return this.breadcrumbManager.state.facetBreadcrumbs\n .filter((facet) => facet.field === this.field)\n .reduce(\n (values, facet) => [\n ...values,\n ...facet.values.map(({value}) => value.value),\n ],\n [] as string[]\n );\n }\n\n private updateSortedValues() {\n const allValues = this.resultValues;\n if (allValues === null) {\n this.sortedValues = null;\n return;\n }\n const allValuesSet = new Set(allValues);\n const firstValues = this.facetSelectedValues.filter((value) =>\n allValuesSet.has(value)\n );\n this.sortedValues = Array.from(\n allValues.reduce((set, value) => set.add(value), new Set(firstValues))\n );\n }\n\n private getShouldDisplayLabel(values: string[]) {\n return (\n this.maxValuesToDisplay > 0 && values.length > this.maxValuesToDisplay\n );\n }\n\n private getNumberOfValuesToDisplay(values: string[]) {\n return Math.min(values.length, this.maxValuesToDisplay);\n }\n\n private renderValue(value: string) {\n const label = getFieldValueCaption(this.field, value, this.bindings.i18n);\n const kebabValue = titleToKebab(value);\n return (\n <li key={value} part=\"result-multi-value-text-value\">\n <slot name={`result-multi-value-text-value-${kebabValue}`}>\n {label}\n </slot>\n </li>\n );\n }\n\n private renderSeparator(beforeValue: string, afterValue: string) {\n return (\n <li\n aria-hidden=\"true\"\n part=\"result-multi-value-text-separator\"\n key={`${beforeValue}~${afterValue}`}\n class=\"separator\"\n ></li>\n );\n }\n\n private renderMoreLabel(value: number) {\n return (\n <li key=\"more-field-values\" part=\"result-multi-value-text-value-more\">\n {this.bindings.i18n.t('n-more', {value})}\n </li>\n );\n }\n\n private renderListItems(values: string[]) {\n const numberOfValuesToDisplay = this.getNumberOfValuesToDisplay(values);\n\n const nodes: VNode[] = [];\n for (let i = 0; i < numberOfValuesToDisplay; i++) {\n if (i > 0) {\n nodes.push(this.renderSeparator(values[i - 1], values[i]));\n }\n nodes.push(this.renderValue(values[i]));\n }\n if (this.getShouldDisplayLabel(values)) {\n nodes.push(\n this.renderSeparator(\n values[numberOfValuesToDisplay - 1],\n 'more-field-values'\n )\n );\n nodes.push(this.renderMoreLabel(values.length - numberOfValuesToDisplay));\n }\n return nodes;\n }\n\n public componentWillRender() {\n this.updateSortedValues();\n }\n\n public render() {\n if (this.sortedValues === null) {\n this.host.remove();\n return;\n }\n return (\n <ul part=\"result-multi-value-text-list\">\n {...this.renderListItems(this.sortedValues)}\n </ul>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-multi-value-text.js","mappings":"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","names":["AtomicResultMultiValueText"],"sources":["src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.pcss?tag=atomic-result-multi-value-text&encapsulation=shadow","src/components/search/result-template-components/atomic-result-multi-value-text/atomic-result-multi-value-text.tsx"],"sourcesContent":[":host {\n > ul {\n display: flex;\n list-style: none;\n margin: 0;\n padding: 0;\n\n li {\n display: inline-block;\n }\n }\n}\n\n.separator {\n &::before {\n display: inline;\n content: ',\\00a0';\n }\n}\n","import {\n BreadcrumbManager,\n buildBreadcrumbManager,\n Result,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Element, Prop, h, State, VNode} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {titleToKebab} from '../../../../utils/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-multi-value-text` component renders the values of a multi-value string field.\n * @part result-multi-value-text-list - The list of field values.\n * @part result-multi-value-text-separator - The separator to display between each of the field values.\n * @part result-multi-value-text-value - A field value.\n * @part result-multi-value-text-value-more - A label indicating some values were omitted.\n * @slot result-multi-value-text-value-* - A custom caption value that's specified for a given part of a multi-text field value. For example, if you want to use `Off-Campus Resident` as a caption value for `Off-campus apartment` in `Off-campus apartment;On-campus apartment`, you'd use `<span slot=\"result-multi-value-text-value-off-campus-apartment\">Off-Campus Resident</span>`). The suffix of this slot corresponds with the field value, written in kebab case.\n */\n@Component({\n tag: 'atomic-result-multi-value-text',\n styleUrl: 'atomic-result-multi-value-text.pcss',\n shadow: true,\n})\nexport class AtomicResultMultiValueText {\n public breadcrumbManager!: BreadcrumbManager;\n\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n\n /**\n * The maximum number of field values to display.\n * If there are _n_ more values than the specified maximum, the last displayed value will be \"_n_ more...\".\n */\n @Prop({reflect: true}) public maxValuesToDisplay = 3;\n\n /**\n * The delimiter used to separate values when the field isn't indexed as a multi value field.\n */\n @Prop({reflect: true}) public delimiter: string | null = null;\n\n private sortedValues: string[] | null = null;\n\n public initialize() {\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n }\n\n private get resultValues() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n\n if (value === null) {\n return null;\n }\n\n if (Array.isArray(value)) {\n return value.map((v) => `${v}`.trim());\n }\n\n if (typeof value !== 'string' || value.trim() === '') {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a string array.`\n );\n return null;\n }\n\n return this.delimiter\n ? value.split(this.delimiter).map((value) => value.trim())\n : [value];\n }\n\n private get facetSelectedValues() {\n return this.breadcrumbManager.state.facetBreadcrumbs\n .filter((facet) => facet.field === this.field)\n .reduce(\n (values, facet) => [\n ...values,\n ...facet.values.map(({value}) => value.value),\n ],\n [] as string[]\n );\n }\n\n private updateSortedValues() {\n const allValues = this.resultValues;\n if (allValues === null) {\n this.sortedValues = null;\n return;\n }\n const allValuesSet = new Set(allValues);\n const firstValues = this.facetSelectedValues.filter((value) =>\n allValuesSet.has(value)\n );\n this.sortedValues = Array.from(\n allValues.reduce((set, value) => set.add(value), new Set(firstValues))\n );\n }\n\n private getShouldDisplayLabel(values: string[]) {\n return (\n this.maxValuesToDisplay > 0 && values.length > this.maxValuesToDisplay\n );\n }\n\n private getNumberOfValuesToDisplay(values: string[]) {\n return Math.min(values.length, this.maxValuesToDisplay);\n }\n\n private renderValue(value: string) {\n const label = getFieldValueCaption(this.field, value, this.bindings.i18n);\n const kebabValue = titleToKebab(value);\n return (\n <li key={value} part=\"result-multi-value-text-value\">\n <slot name={`result-multi-value-text-value-${kebabValue}`}>\n {label}\n </slot>\n </li>\n );\n }\n\n private renderSeparator(beforeValue: string, afterValue: string) {\n return (\n <li\n aria-hidden=\"true\"\n part=\"result-multi-value-text-separator\"\n key={`${beforeValue}~${afterValue}`}\n class=\"separator\"\n ></li>\n );\n }\n\n private renderMoreLabel(value: number) {\n return (\n <li key=\"more-field-values\" part=\"result-multi-value-text-value-more\">\n {this.bindings.i18n.t('n-more', {value})}\n </li>\n );\n }\n\n private renderListItems(values: string[]) {\n const numberOfValuesToDisplay = this.getNumberOfValuesToDisplay(values);\n\n const nodes: VNode[] = [];\n for (let i = 0; i < numberOfValuesToDisplay; i++) {\n if (i > 0) {\n nodes.push(this.renderSeparator(values[i - 1], values[i]));\n }\n nodes.push(this.renderValue(values[i]));\n }\n if (this.getShouldDisplayLabel(values)) {\n nodes.push(\n this.renderSeparator(\n values[numberOfValuesToDisplay - 1],\n 'more-field-values'\n )\n );\n nodes.push(this.renderMoreLabel(values.length - numberOfValuesToDisplay));\n }\n return nodes;\n }\n\n public componentWillRender() {\n this.updateSortedValues();\n }\n\n public render() {\n if (this.sortedValues === null) {\n this.host.remove();\n return;\n }\n return (\n <ul part=\"result-multi-value-text-list\">\n {...this.renderListItems(this.sortedValues)}\n </ul>\n );\n }\n}\n"],"version":3}
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { ResultTemplatesHelpers } from '@coveo/headless';
3
3
  import { I as InitializeBindings } from './initialization-utils.js';
4
4
  import { b as defaultNumberFormatter } from './format-common.js';
5
- import { R as ResultContext } from './result-template-decorators.js';
5
+ import { R as ResultContext } from './stencil-result-template-decorators.js';
6
6
 
7
7
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8
8
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-result-number.js","mappings":";;;;;;;;;;;;;;;;MAmBaA,oBAAkB;;;;QAepB,cAAS,GAAoB,sBAAsB,CAAC;QAEpD,mBAAc,GAAkB,IAAI,CAAC;;;yBAFR,sBAAsB;8BAEnB,IAAI;;IAGtC,SAAS,CAAC,KAAmC;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;KAC/B;IAEO,UAAU;QAChB,MAAM,KAAK,GAAG,sBAAsB,CAAC,iBAAiB,CACpD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,oBAAoB,KAAK,iBAAiB,IAAI,CAAC,KAAK,gBAAgB,CACrE,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,aAAa,CAAC;KACtB;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAqB,CAAC,CAAC;SACxE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;YAC5B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SACzB;KACF;IAEO,oBAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC/C;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;SACR;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;;;;;AArE4B;IAA5B,kBAAkB,EAAE;sDAA4B;AACxB;IAAxB,aAAa,EAAE;oDAAyB;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultNumber"],"sources":["src/components/search/result-template-components/atomic-result-number/atomic-result-number.tsx"],"sourcesContent":["import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State, Listen} from '@stencil/core';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-number` component renders the value of a number result field.\n *\n * @slot default - The number can be formatted by adding a `atomic-format-number`, `atomic-format-currency` or `atomic-format-unit` component into this component.\n */\n@Component({\n tag: 'atomic-result-number',\n shadow: false,\n})\nexport class AtomicResultNumber {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n @State() formatter: NumberFormatter = defaultNumberFormatter;\n\n @State() valueToDisplay: string | null = null;\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n private parseValue() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a number.`\n );\n return null;\n }\n return valueAsNumber;\n }\n\n private formatValue(value: number) {\n try {\n return this.formatter(value, this.bindings.i18n.languages as string[]);\n } catch (error) {\n this.error = error as Error;\n return value.toString();\n }\n }\n\n private updateValueToDisplay() {\n const value = this.parseValue();\n if (value !== null) {\n this.valueToDisplay = this.formatValue(value);\n }\n }\n\n componentWillRender() {\n this.updateValueToDisplay();\n }\n\n public render() {\n if (this.valueToDisplay === null) {\n this.host.remove();\n return;\n }\n return this.valueToDisplay;\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-number.js","mappings":";;;;;;;;;;;;;;;;MAmBaA,oBAAkB;;;;QAepB,cAAS,GAAoB,sBAAsB,CAAC;QAEpD,mBAAc,GAAkB,IAAI,CAAC;;;yBAFR,sBAAsB;8BAEnB,IAAI;;IAGtC,SAAS,CAAC,KAAmC;QAClD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC;KAC/B;IAEO,UAAU;QAChB,MAAM,KAAK,GAAG,sBAAsB,CAAC,iBAAiB,CACpD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QACF,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QACD,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;QAC7C,IAAI,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CACpB,oBAAoB,KAAK,iBAAiB,IAAI,CAAC,KAAK,gBAAgB,CACrE,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,OAAO,aAAa,CAAC;KACtB;IAEO,WAAW,CAAC,KAAa;QAC/B,IAAI;YACF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAqB,CAAC,CAAC;SACxE;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;YAC5B,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;SACzB;KACF;IAEO,oBAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAChC,IAAI,KAAK,KAAK,IAAI,EAAE;YAClB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SAC/C;KACF;IAED,mBAAmB;QACjB,IAAI,CAAC,oBAAoB,EAAE,CAAC;KAC7B;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,cAAc,KAAK,IAAI,EAAE;YAChC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACnB,OAAO;SACR;QACD,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;;;;;;;;AArE4B;IAA5B,kBAAkB,EAAE;sDAA4B;AACxB;IAAxB,aAAa,EAAE;oDAAyB;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultNumber"],"sources":["src/components/search/result-template-components/atomic-result-number/atomic-result-number.tsx"],"sourcesContent":["import {Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, Element, State, Listen} from '@stencil/core';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {\n defaultNumberFormatter,\n NumberFormatter,\n} from '../../../common/formats/format-common';\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-number` component renders the value of a number result field.\n *\n * @slot default - The number can be formatted by adding a `atomic-format-number`, `atomic-format-currency` or `atomic-format-unit` component into this component.\n */\n@Component({\n tag: 'atomic-result-number',\n shadow: false,\n})\nexport class AtomicResultNumber {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The field that the component should use.\n * The component will try to find this field in the `Result.raw` object unless it finds it in the `Result` object first.\n * Make sure this field is present in the `fieldsToInclude` property of the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) field!: string;\n\n @State() formatter: NumberFormatter = defaultNumberFormatter;\n\n @State() valueToDisplay: string | null = null;\n\n @Listen('atomic/numberFormat')\n public setFormat(event: CustomEvent<NumberFormatter>) {\n event.preventDefault();\n event.stopPropagation();\n this.formatter = event.detail;\n }\n\n private parseValue() {\n const value = ResultTemplatesHelpers.getResultProperty(\n this.result,\n this.field\n );\n if (value === null) {\n return null;\n }\n const valueAsNumber = parseFloat(`${value}`);\n if (Number.isNaN(valueAsNumber)) {\n this.error = new Error(\n `Could not parse \"${value}\" from field \"${this.field}\" as a number.`\n );\n return null;\n }\n return valueAsNumber;\n }\n\n private formatValue(value: number) {\n try {\n return this.formatter(value, this.bindings.i18n.languages as string[]);\n } catch (error) {\n this.error = error as Error;\n return value.toString();\n }\n }\n\n private updateValueToDisplay() {\n const value = this.parseValue();\n if (value !== null) {\n this.valueToDisplay = this.formatValue(value);\n }\n }\n\n componentWillRender() {\n this.updateValueToDisplay();\n }\n\n public render() {\n if (this.valueToDisplay === null) {\n this.host.remove();\n return;\n }\n return this.valueToDisplay;\n }\n}\n"],"version":3}
@@ -27,9 +27,9 @@ const AtomicResultPlaceholder = /*@__PURE__*/ proxyCustomElement(class AtomicRes
27
27
  } }, h("div", { class: placeholderClasses, style: { height: 'var(--font-size)' } })));
28
28
  }
29
29
  render() {
30
- return (h("div", { key: '25a8eee88a46f58289708a8371781a8a433d2de4', class: `result-root placeholder with-sections animate-pulse ${getItemDisplayClasses(this.display, this.density, this.imageSize)
30
+ return (h("div", { key: '8610d22227581ee232c3c38968ddd862f9953431', class: `result-root placeholder with-sections animate-pulse ${getItemDisplayClasses(this.display, this.density, this.imageSize)
31
31
  .join(' ')
32
- .trim()}` }, h("atomic-result-section-visual", { key: '184b4a6c202e1d9c0d5e115d5e25cfd9f33a07c8' }, h("div", { key: '5691545d8b9fde7a89e8b4ded36d715422f39fb4', class: placeholderClasses })), h("atomic-result-section-badges", { key: '15175f6bad851fca99468888962cebcb7f50f9e5' }, h("div", { key: '1180d739b4b6cfc38e253f0b0494845467d99332', class: `badge ${placeholderClasses}` })), h("atomic-result-section-actions", { key: '362aaeec3c8313044443f71354d9ced765132a4d' }, h("div", { key: 'bdc417b32b7a101992dbc1f27b174e739e5dc71f', class: `action ${placeholderClasses}` })), h("atomic-result-section-title", { key: 'd6bfc1868d3866f007588c42e2045be46927c976' }, h("div", { key: 'ab1b76555ff7dd38b9950594f995e75c76b4b25b', class: `title ${placeholderClasses}` })), h("atomic-result-section-excerpt", { key: '88ebcdeb629f75e56a1934ccfb0a7e44b8e9b64b' }, this.renderExcerptLine('100%'), this.renderExcerptLine('95%'), this.renderExcerptLine('98%')), h("atomic-result-section-bottom-metadata", { key: 'fc835f4e83ac3ac4aea4151928e35a155086529d' }, h("div", { key: 'caff73e97cbd7b20b02da54bc0b9869d78283f01', class: "fields-placeholder" }, Array.from({ length: 4 }, () => (h("div", { class: `field-value-placeholder ${placeholderClasses}` })))))));
32
+ .trim()}` }, h("atomic-result-section-visual", { key: '662175696d7086fe86aa1694b8ada13be85ccc8d' }, h("div", { key: '7b7f4198f4f37ef717b888b5a5f8372f535351c9', class: placeholderClasses })), h("atomic-result-section-badges", { key: '5aa4beb463e626877e9577b869b6d295c3bc652c' }, h("div", { key: '6c6022322036a16ccaafd56d3f5c640346e9dc54', class: `badge ${placeholderClasses}` })), h("atomic-result-section-actions", { key: '1d31fbd72181c17d6132885e6400fd2fc6baa0a1' }, h("div", { key: 'fb2f203f72862776eb3e72a25f0e8ade39959d22', class: `action ${placeholderClasses}` })), h("atomic-result-section-title", { key: 'a4e8b10a295b4fdf0e81773d32459a621a5c7fe9' }, h("div", { key: '6d66ca1eedcd24c4e262ac178bc4bb2c83bdc4f2', class: `title ${placeholderClasses}` })), h("atomic-result-section-excerpt", { key: '186b956cad5e8348c1e5a9ac7fb448467c193f3f' }, this.renderExcerptLine('100%'), this.renderExcerptLine('95%'), this.renderExcerptLine('98%')), h("atomic-result-section-bottom-metadata", { key: 'bd8c1d67e88e98997d5828a30f0783e4d8265531' }, h("div", { key: 'a91ed4c4304129afd2e0a1d4c626d3e7885a6452', class: "fields-placeholder" }, Array.from({ length: 4 }, () => (h("div", { class: `field-value-placeholder ${placeholderClasses}` })))))));
33
33
  }
34
34
  static get style() { return AtomicResultPlaceholderStyle0; }
35
35
  }, [1, "atomic-result-placeholder", {
@@ -7,7 +7,7 @@ import { F as FocusTargetController } from './stencil-accessibility-utils.js';
7
7
  import { p as parseXML } from './utils.js';
8
8
  import { g as getAttributesFromLinkSlot } from './attributes-slot.js';
9
9
  import { L as LinkWithItemAnalytics } from './stencil-item-link.js';
10
- import { R as ResultContext } from './result-template-decorators.js';
10
+ import { R as ResultContext } from './stencil-result-template-decorators.js';
11
11
  import { d as defineCustomElement$3 } from './atomic-result-text2.js';
12
12
  import { d as defineCustomElement$2 } from './atomic-text2.js';
13
13
 
@@ -1 +1 @@
1
- {"file":"atomic-result-printable-uri.js","mappings":"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","names":["AtomicResultPrintableUri","Arrow"],"sources":["src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.pcss?tag=atomic-result-printable-uri","src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\natomic-result-printable-uri {\n max-width: 100%;\n word-break: break-word;\n\n a,\n button {\n @apply text-primary;\n\n &:hover,\n &:focus-visible {\n text-decoration: underline;\n @apply text-primary;\n }\n\n &:focus {\n outline: none;\n }\n\n &:visited {\n @apply text-visited;\n }\n }\n\n ul {\n display: flex;\n flex-wrap: wrap;\n }\n\n li {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n\n a {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n white-space: nowrap;\n &:last-child {\n white-space: normal;\n\n &::after {\n content: none;\n }\n }\n\n .result-printable-uri-separator {\n display: inline-block;\n margin: 0 0.5rem;\n vertical-align: middle;\n width: 0.75rem;\n height: 0.75rem;\n @apply text-neutral-dark;\n }\n }\n}\n","import {Schema, NumberValue} from '@coveo/bueno';\nimport {\n buildInteractiveResult,\n InteractiveResult,\n Result,\n} from '@coveo/headless';\nimport {Component, Element, h, Prop, State, VNode} from '@stencil/core';\nimport Arrow from '../../../../images/arrow-right.svg';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {parseXML} from '../../../../utils/utils';\nimport {getAttributesFromLinkSlot} from '../../../common/item-link/attributes-slot';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-printable-uri` component displays the URI, or path, to access a result.\n *\n * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to anchor elements, overriding other attributes.\n * To be used exclusively in anchor elements, such as: `<a slot=\"attributes\" target=\"_blank\" download></a>`.\n */\n@Component({\n tag: 'atomic-result-printable-uri',\n styleUrl: 'atomic-result-printable-uri.pcss',\n shadow: false,\n})\nexport class AtomicResultPrintableUri {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() public host!: HTMLElement;\n\n @State() listExpanded = false;\n @State() error!: Error;\n\n /**\n * The maximum number of Uri parts to display. This has to be over the minimum of `3` in order to be effective. Putting `Infinity` will disable the ellipsis.\n */\n @Prop({reflect: true}) maxNumberOfParts = 5;\n\n private expandedPartFocus?: FocusTargetController;\n\n private interactiveResult!: InteractiveResult;\n private linkAttributes?: Attr[];\n\n private get focusTarget() {\n if (!this.expandedPartFocus) {\n this.expandedPartFocus = new FocusTargetController(this);\n }\n return this.expandedPartFocus;\n }\n\n public connectedCallback() {\n try {\n new Schema({\n maxNumberOfParts: new NumberValue({min: 3}),\n }).validate({maxNumberOfParts: this.maxNumberOfParts});\n } catch (error) {\n this.error = error as Error;\n }\n const slotName = 'attributes';\n this.linkAttributes = getAttributesFromLinkSlot(this.host, slotName);\n }\n\n public initialize() {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n }\n\n private getIndexOfEllipsis(parentsCount: number) {\n const valuesToHide = Math.max(2, parentsCount - this.maxNumberOfParts);\n const valuesToShowBeforeEllipsis = parentsCount - valuesToHide - 1;\n return valuesToShowBeforeEllipsis;\n }\n\n private renderEllipsis() {\n return (\n <li>\n <button\n aria-label={this.bindings.i18n.t('collapsed-uri-parts')}\n onClick={(e) => {\n e.stopPropagation();\n this.focusTarget.focusOnNextTarget();\n this.listExpanded = true;\n }}\n >\n ...\n </button>\n {this.renderSeparator()}\n </li>\n );\n }\n\n private get allParents() {\n const parentsXml = parseXML(`${this.result.raw.parents}`);\n const parents = Array.from(parentsXml.getElementsByTagName('parent'));\n const ellipsisIndex = this.getIndexOfEllipsis(parents.length);\n return parents.map((parent, i) => {\n const name = parent.getAttribute('name');\n const uri = parent.getAttribute('uri')!;\n return (\n <li>\n {this.renderLink(name, uri, i === ellipsisIndex)}\n {i === parents.length - 1 ? null : this.renderSeparator()}\n </li>\n );\n });\n }\n\n private renderSeparator() {\n return (\n <atomic-icon\n class=\"result-printable-uri-separator\"\n icon={Arrow}\n role=\"separator\"\n ></atomic-icon>\n );\n }\n\n private renderParents() {\n const parents = this.allParents;\n if (this.listExpanded || parents.length <= this.maxNumberOfParts) {\n return parents;\n }\n\n return [\n parents.slice(0, this.getIndexOfEllipsis(parents.length)),\n this.renderEllipsis(),\n parents.slice(-1),\n ];\n }\n\n private renderLink(\n content: VNode | string | null,\n uri: string,\n shouldSetTarget: boolean\n ) {\n return (\n <LinkWithItemAnalytics\n href={uri}\n title={typeof content === 'string' ? content : undefined}\n onSelect={() => this.interactiveResult.select()}\n onBeginDelayedSelect={() => this.interactiveResult.beginDelayedSelect()}\n onCancelPendingSelect={() =>\n this.interactiveResult.cancelPendingSelect()\n }\n attributes={this.linkAttributes}\n ref={\n shouldSetTarget\n ? (el?: HTMLAnchorElement) => this.focusTarget.setTarget(el)\n : undefined\n }\n >\n {content}\n </LinkWithItemAnalytics>\n );\n }\n\n public render() {\n const parents = this.renderParents();\n if (parents.length) {\n return (\n <ul aria-label={this.bindings.i18n.t('printable-uri')}>{parents}</ul>\n );\n }\n\n return this.renderLink(\n <atomic-result-text field=\"printableUri\"></atomic-result-text>,\n this.result.clickUri,\n false\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-printable-uri.js","mappings":"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","names":["AtomicResultPrintableUri","Arrow"],"sources":["src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.pcss?tag=atomic-result-printable-uri","src/components/search/result-template-components/atomic-result-printable-uri/atomic-result-printable-uri.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n\natomic-result-printable-uri {\n max-width: 100%;\n word-break: break-word;\n\n a,\n button {\n @apply text-primary;\n\n &:hover,\n &:focus-visible {\n text-decoration: underline;\n @apply text-primary;\n }\n\n &:focus {\n outline: none;\n }\n\n &:visited {\n @apply text-visited;\n }\n }\n\n ul {\n display: flex;\n flex-wrap: wrap;\n }\n\n li {\n display: inline-flex;\n align-items: center;\n max-width: 100%;\n\n a {\n display: inline-block;\n vertical-align: middle;\n max-width: 100%;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n\n white-space: nowrap;\n &:last-child {\n white-space: normal;\n\n &::after {\n content: none;\n }\n }\n\n .result-printable-uri-separator {\n display: inline-block;\n margin: 0 0.5rem;\n vertical-align: middle;\n width: 0.75rem;\n height: 0.75rem;\n @apply text-neutral-dark;\n }\n }\n}\n","import {Schema, NumberValue} from '@coveo/bueno';\nimport {\n buildInteractiveResult,\n InteractiveResult,\n Result,\n} from '@coveo/headless';\nimport {Component, Element, h, Prop, State, VNode} from '@stencil/core';\nimport Arrow from '../../../../images/arrow-right.svg';\nimport {InitializeBindings} from '../../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {parseXML} from '../../../../utils/utils';\nimport {getAttributesFromLinkSlot} from '../../../common/item-link/attributes-slot';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\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-printable-uri` component displays the URI, or path, to access a result.\n *\n * @slot attributes - Lets you pass [attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attributes) down to anchor elements, overriding other attributes.\n * To be used exclusively in anchor elements, such as: `<a slot=\"attributes\" target=\"_blank\" download></a>`.\n */\n@Component({\n tag: 'atomic-result-printable-uri',\n styleUrl: 'atomic-result-printable-uri.pcss',\n shadow: false,\n})\nexport class AtomicResultPrintableUri {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n @Element() public host!: HTMLElement;\n\n @State() listExpanded = false;\n @State() error!: Error;\n\n /**\n * The maximum number of Uri parts to display. This has to be over the minimum of `3` in order to be effective. Putting `Infinity` will disable the ellipsis.\n */\n @Prop({reflect: true}) maxNumberOfParts = 5;\n\n private expandedPartFocus?: FocusTargetController;\n\n private interactiveResult!: InteractiveResult;\n private linkAttributes?: Attr[];\n\n private get focusTarget() {\n if (!this.expandedPartFocus) {\n this.expandedPartFocus = new FocusTargetController(this);\n }\n return this.expandedPartFocus;\n }\n\n public connectedCallback() {\n try {\n new Schema({\n maxNumberOfParts: new NumberValue({min: 3}),\n }).validate({maxNumberOfParts: this.maxNumberOfParts});\n } catch (error) {\n this.error = error as Error;\n }\n const slotName = 'attributes';\n this.linkAttributes = getAttributesFromLinkSlot(this.host, slotName);\n }\n\n public initialize() {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n }\n\n private getIndexOfEllipsis(parentsCount: number) {\n const valuesToHide = Math.max(2, parentsCount - this.maxNumberOfParts);\n const valuesToShowBeforeEllipsis = parentsCount - valuesToHide - 1;\n return valuesToShowBeforeEllipsis;\n }\n\n private renderEllipsis() {\n return (\n <li>\n <button\n aria-label={this.bindings.i18n.t('collapsed-uri-parts')}\n onClick={(e) => {\n e.stopPropagation();\n this.focusTarget.focusOnNextTarget();\n this.listExpanded = true;\n }}\n >\n ...\n </button>\n {this.renderSeparator()}\n </li>\n );\n }\n\n private get allParents() {\n const parentsXml = parseXML(`${this.result.raw.parents}`);\n const parents = Array.from(parentsXml.getElementsByTagName('parent'));\n const ellipsisIndex = this.getIndexOfEllipsis(parents.length);\n return parents.map((parent, i) => {\n const name = parent.getAttribute('name');\n const uri = parent.getAttribute('uri')!;\n return (\n <li>\n {this.renderLink(name, uri, i === ellipsisIndex)}\n {i === parents.length - 1 ? null : this.renderSeparator()}\n </li>\n );\n });\n }\n\n private renderSeparator() {\n return (\n <atomic-icon\n class=\"result-printable-uri-separator\"\n icon={Arrow}\n role=\"separator\"\n ></atomic-icon>\n );\n }\n\n private renderParents() {\n const parents = this.allParents;\n if (this.listExpanded || parents.length <= this.maxNumberOfParts) {\n return parents;\n }\n\n return [\n parents.slice(0, this.getIndexOfEllipsis(parents.length)),\n this.renderEllipsis(),\n parents.slice(-1),\n ];\n }\n\n private renderLink(\n content: VNode | string | null,\n uri: string,\n shouldSetTarget: boolean\n ) {\n return (\n <LinkWithItemAnalytics\n href={uri}\n title={typeof content === 'string' ? content : undefined}\n onSelect={() => this.interactiveResult.select()}\n onBeginDelayedSelect={() => this.interactiveResult.beginDelayedSelect()}\n onCancelPendingSelect={() =>\n this.interactiveResult.cancelPendingSelect()\n }\n attributes={this.linkAttributes}\n ref={\n shouldSetTarget\n ? (el?: HTMLAnchorElement) => this.focusTarget.setTarget(el)\n : undefined\n }\n >\n {content}\n </LinkWithItemAnalytics>\n );\n }\n\n public render() {\n const parents = this.renderParents();\n if (parents.length) {\n return (\n <ul aria-label={this.bindings.i18n.t('printable-uri')}>{parents}</ul>\n );\n }\n\n return this.renderLink(\n <atomic-result-text field=\"printableUri\"></atomic-result-text>,\n this.result.clickUri,\n false\n );\n }\n}\n"],"version":3}