@coveo/atomic 3.34.0-pre.616c4e348b → 3.34.0-pre.61b8e221e3

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 (894) 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 +18 -6
  4. package/dist/atomic/components/_index.js +9 -3
  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-focus-trap2.js +1 -1
  10. package/dist/atomic/components/atomic-folded-result-list.js +40 -4
  11. package/dist/atomic/components/atomic-folded-result-list.js.map +1 -1
  12. package/dist/atomic/components/atomic-format-currency.js +1 -1
  13. package/dist/atomic/components/atomic-format-number.js +1 -1
  14. package/dist/atomic/components/atomic-format-unit.js +1 -1
  15. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  16. package/dist/atomic/components/atomic-html2.js +1 -1
  17. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  18. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  19. package/dist/atomic/components/atomic-insight-folded-result-list.js +41 -5
  20. package/dist/atomic/components/atomic-insight-folded-result-list.js.map +1 -1
  21. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  22. package/dist/atomic/components/atomic-insight-history-toggle.js +2 -2
  23. package/dist/atomic/components/atomic-insight-history-toggle.js.map +1 -1
  24. package/dist/atomic/components/atomic-insight-layout.js +82 -1
  25. package/dist/atomic/components/atomic-insight-layout.js.map +1 -1
  26. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  27. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  28. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  29. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  30. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  31. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  32. package/dist/atomic/components/atomic-insight-result-action-bar.js +1 -5
  33. package/dist/atomic/components/atomic-insight-result-action-bar.js.map +1 -1
  34. package/dist/atomic/components/atomic-insight-result-action.js +1 -1
  35. package/dist/atomic/components/atomic-insight-result-attach-to-case-action.js +1 -1
  36. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  37. package/dist/atomic/components/atomic-insight-result-children.js +41 -5
  38. package/dist/atomic/components/atomic-insight-result-children.js.map +1 -1
  39. package/dist/atomic/components/atomic-insight-result-list.js +41 -5
  40. package/dist/atomic/components/atomic-insight-result-list.js.map +1 -1
  41. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  42. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  43. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  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 +2 -2
  48. package/dist/atomic/components/atomic-insight-user-actions-toggle.js.map +1 -1
  49. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  50. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  51. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  52. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  53. package/dist/atomic/components/atomic-ipx-recs-list.js +41 -5
  54. package/dist/atomic/components/atomic-ipx-recs-list.js.map +1 -1
  55. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  56. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  57. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  58. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  59. package/dist/atomic/components/{sections.js → atomic-layout-section-utils.js} +1 -1
  60. package/dist/atomic/components/atomic-layout-section-utils.js.map +1 -0
  61. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  62. package/dist/atomic/components/atomic-no-results.js +1 -1
  63. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  64. package/dist/atomic/components/atomic-query-error.js +1 -1
  65. package/dist/atomic/components/atomic-quickview-modal2.js +23 -23
  66. package/dist/atomic/components/atomic-quickview-modal2.js.map +1 -1
  67. package/dist/atomic/components/atomic-quickview.js +1 -1
  68. package/dist/atomic/components/atomic-recs-error.js +1 -1
  69. package/dist/atomic/components/atomic-recs-interface.js +2915 -3
  70. package/dist/atomic/components/atomic-recs-interface.js.map +1 -1
  71. package/dist/atomic/components/atomic-recs-list.js +41 -5
  72. package/dist/atomic/components/atomic-recs-list.js.map +1 -1
  73. package/dist/atomic/components/atomic-refine-modal2.js +3 -3
  74. package/dist/atomic/components/atomic-refine-modal2.js.map +1 -1
  75. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  76. package/dist/atomic/components/atomic-result-children.js +41 -5
  77. package/dist/atomic/components/atomic-result-children.js.map +1 -1
  78. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  79. package/dist/atomic/components/atomic-result-link.js +1 -1
  80. package/dist/atomic/components/atomic-result-list.js +41 -5
  81. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  82. package/dist/atomic/components/atomic-result-placeholder2.js +39 -3
  83. package/dist/atomic/components/atomic-result-placeholder2.js.map +1 -1
  84. package/dist/atomic/components/atomic-result-section-actions.d.ts +11 -0
  85. package/dist/atomic/components/atomic-result-section-actions.js +8 -0
  86. package/dist/atomic/components/atomic-result-section-actions.js.map +1 -0
  87. package/dist/atomic/components/atomic-result-section-actions2.js +30 -0
  88. package/dist/atomic/components/atomic-result-section-actions2.js.map +1 -0
  89. package/dist/atomic/components/atomic-result-section-badges.d.ts +11 -0
  90. package/dist/atomic/components/atomic-result-section-badges.js +8 -0
  91. package/dist/atomic/components/atomic-result-section-badges.js.map +1 -0
  92. package/dist/atomic/components/atomic-result-section-badges2.js +30 -0
  93. package/dist/atomic/components/atomic-result-section-badges2.js.map +1 -0
  94. package/dist/atomic/components/atomic-result-section-bottom-metadata.d.ts +11 -0
  95. package/dist/atomic/components/atomic-result-section-bottom-metadata.js +8 -0
  96. package/dist/atomic/components/atomic-result-section-bottom-metadata.js.map +1 -0
  97. package/dist/atomic/components/atomic-result-section-bottom-metadata2.js +30 -0
  98. package/dist/atomic/components/atomic-result-section-bottom-metadata2.js.map +1 -0
  99. package/dist/atomic/components/atomic-result-section-children.d.ts +11 -0
  100. package/dist/atomic/components/atomic-result-section-children.js +33 -0
  101. package/dist/atomic/components/atomic-result-section-children.js.map +1 -0
  102. package/dist/atomic/components/atomic-result-section-emphasized.d.ts +11 -0
  103. package/dist/atomic/components/atomic-result-section-emphasized.js +33 -0
  104. package/dist/atomic/components/atomic-result-section-emphasized.js.map +1 -0
  105. package/dist/atomic/components/atomic-result-section-excerpt.d.ts +11 -0
  106. package/dist/atomic/components/atomic-result-section-excerpt.js +8 -0
  107. package/dist/atomic/components/atomic-result-section-excerpt.js.map +1 -0
  108. package/dist/atomic/components/atomic-result-section-excerpt2.js +30 -0
  109. package/dist/atomic/components/atomic-result-section-excerpt2.js.map +1 -0
  110. package/dist/atomic/components/atomic-result-section-title-metadata.d.ts +11 -0
  111. package/dist/atomic/components/atomic-result-section-title-metadata.js +33 -0
  112. package/dist/atomic/components/atomic-result-section-title-metadata.js.map +1 -0
  113. package/dist/atomic/components/atomic-result-section-title.d.ts +11 -0
  114. package/dist/atomic/components/atomic-result-section-title.js +8 -0
  115. package/dist/atomic/components/atomic-result-section-title.js.map +1 -0
  116. package/dist/atomic/components/atomic-result-section-title2.js +30 -0
  117. package/dist/atomic/components/atomic-result-section-title2.js.map +1 -0
  118. package/dist/atomic/components/atomic-result-section-visual.d.ts +11 -0
  119. package/dist/atomic/components/atomic-result-section-visual.js +8 -0
  120. package/dist/atomic/components/atomic-result-section-visual.js.map +1 -0
  121. package/dist/atomic/components/atomic-result-section-visual2.js +33 -0
  122. package/dist/atomic/components/atomic-result-section-visual2.js.map +1 -0
  123. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  124. package/dist/atomic/components/atomic-search-box-instant-results.js +1 -1
  125. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  126. package/dist/atomic/components/atomic-search-box.js +5 -11
  127. package/dist/atomic/components/atomic-search-box.js.map +1 -1
  128. package/dist/atomic/components/atomic-smart-snippet-answer2.js +2 -2
  129. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  130. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  131. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  132. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  133. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  134. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  135. package/dist/atomic/components/atomic-stencil-facet-date-input.js +3 -3
  136. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  137. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  138. package/dist/atomic/components/clock.js +2 -2
  139. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +17 -32
  140. package/dist/atomic/components/components/commerce/atomic-product/atomic-product.js +26 -58
  141. package/dist/atomic/components/components/common/atomic-layout-section/layout.js +1 -1
  142. package/dist/atomic/components/components/common/layout/custom-render-controller.js +37 -0
  143. package/dist/atomic/components/components/common/layout/display-options.js +1 -1
  144. package/dist/atomic/components/components/common/layout/item-layout-controller.js +103 -0
  145. package/dist/atomic/components/components/common/layout/{sections.js → item-layout-sections.js} +1 -1
  146. package/dist/atomic/components/components/common/product-template/product-template-common.js +1 -1
  147. package/dist/atomic/components/components/common/validate-props-controller/validate-props-controller.js +50 -0
  148. package/dist/atomic/components/components/insight/atomic-insight-interface/analytics-config.js +31 -0
  149. package/dist/atomic/components/components/insight/atomic-insight-interface/atomic-insight-interface.js +258 -0
  150. package/dist/atomic/components/components/insight/atomic-insight-layout/insight-layout.js +1 -1
  151. package/dist/atomic/components/components/insight/index.js +2 -1
  152. package/dist/atomic/components/components/insight/lazy-index.js +3 -1
  153. package/dist/atomic/components/components/search/atomic-relevance-inspector/atomic-relevance-inspector.js +100 -0
  154. package/dist/atomic/components/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.js +137 -0
  155. package/dist/atomic/components/components/search/atomic-search-interface/atomic-search-interface.js +11 -24
  156. package/dist/atomic/components/components/search/index.js +2 -9
  157. package/dist/atomic/components/components/search/lazy-index.js +2 -9
  158. package/dist/atomic/components/display-options.js +1 -1
  159. package/dist/atomic/components/display-options.js.map +1 -1
  160. package/dist/atomic/components/facet-number-input.js +2 -2
  161. package/dist/atomic/components/global/environment.js +1 -1
  162. package/dist/atomic/components/index.js.map +1 -1
  163. package/dist/atomic/components/{sections2.js → item-layout-sections.js} +2 -2
  164. package/dist/atomic/components/item-layout-sections.js.map +1 -0
  165. package/dist/atomic/components/item-section-utils.js +9 -0
  166. package/dist/atomic/components/item-section-utils.js.map +1 -0
  167. package/dist/atomic/components/props-utils.js +1 -1
  168. package/dist/atomic/components/replace-breakpoint-utils.js +1 -1
  169. package/dist/atomic/components/replace-breakpoint-utils.js.map +1 -1
  170. package/dist/atomic/components/result-template-common.js +2 -2
  171. package/dist/atomic/components/result-template-common.js.map +1 -1
  172. package/dist/atomic/components/store.js +2 -30
  173. package/dist/atomic/components/store.js.map +1 -1
  174. package/dist/atomic/components/tab-button.js +1 -1
  175. package/dist/atomic/components/tab-popover.js +1 -1
  176. package/dist/atomic/components/utils/compare-utils.js +49 -0
  177. package/dist/atomic/components/utils.js +1 -17
  178. package/dist/atomic/components/utils.js.map +1 -1
  179. package/dist/atomic/{p-27cf779a.js → p-025a346a.js} +2 -2
  180. package/dist/atomic/{p-3cbab25b.entry.js → p-044de1f9.entry.js} +2 -2
  181. package/dist/atomic/{p-fe59fb2d.entry.js → p-0535b93d.entry.js} +2 -2
  182. package/dist/atomic/{p-31a13850.js → p-0580b866.js} +2 -2
  183. package/dist/atomic/{p-0edea6f9.entry.js → p-05f1ff6f.entry.js} +2 -2
  184. package/dist/atomic/{p-3e9db2b5.entry.js → p-088d634c.entry.js} +2 -2
  185. package/dist/atomic/{p-4bdc6d5a.entry.js → p-0ee7cab8.entry.js} +2 -2
  186. package/dist/atomic/{p-0f449e9d.entry.js → p-14bad769.entry.js} +2 -2
  187. package/dist/atomic/{p-475124d2.entry.js → p-15547bd5.entry.js} +2 -2
  188. package/dist/atomic/{p-8fdef8a3.entry.js → p-182f9112.entry.js} +2 -2
  189. package/dist/atomic/{p-00069a4b.entry.js → p-1910eb7f.entry.js} +2 -2
  190. package/dist/atomic/{p-85145c88.entry.js → p-1c8bcadf.entry.js} +2 -2
  191. package/dist/atomic/p-1fca38e1.js +2 -0
  192. package/dist/atomic/{p-26598ee0.js.map → p-1fca38e1.js.map} +1 -1
  193. package/dist/atomic/{p-cafa4083.entry.js → p-21ab7750.entry.js} +2 -2
  194. package/dist/atomic/p-229018fa.entry.js +2 -0
  195. package/dist/atomic/p-229018fa.entry.js.map +1 -0
  196. package/dist/atomic/{p-89d8bb0d.entry.js → p-22b76c96.entry.js} +2 -2
  197. package/dist/atomic/{p-36f63642.entry.js → p-26e0c1f8.entry.js} +2 -2
  198. package/dist/atomic/{p-577d34ba.entry.js → p-2e13e2c0.entry.js} +2 -2
  199. package/dist/atomic/{p-6098b906.entry.js → p-2f437b47.entry.js} +2 -2
  200. package/dist/atomic/{p-998393ec.entry.js → p-2f517a54.entry.js} +2 -2
  201. package/dist/atomic/{p-06284430.entry.js → p-318c96f5.entry.js} +2 -2
  202. package/dist/atomic/{p-60800b2f.entry.js → p-3272a04b.entry.js} +2 -2
  203. package/dist/atomic/{p-a5714bc4.entry.js → p-3291adda.entry.js} +2 -2
  204. package/dist/atomic/{p-dbc0ce5c.entry.js → p-33245038.entry.js} +2 -2
  205. package/dist/atomic/{p-fa658ef2.entry.js → p-35c2ee5f.entry.js} +2 -2
  206. package/dist/atomic/p-36270a85.entry.js +2 -0
  207. package/dist/atomic/p-36270a85.entry.js.map +1 -0
  208. package/dist/atomic/p-36e2c945.entry.js +2 -0
  209. package/dist/atomic/p-36e2c945.entry.js.map +1 -0
  210. package/dist/atomic/{p-4601eb93.entry.js → p-36ff2bc3.entry.js} +2 -2
  211. package/dist/atomic/{p-7ec6dd3e.entry.js → p-3bd8469f.entry.js} +2 -2
  212. package/dist/atomic/{p-27b8404c.js → p-3ef52afa.js} +2 -2
  213. package/dist/atomic/p-3ef52afa.js.map +1 -0
  214. package/dist/atomic/{p-5f706e3d.entry.js → p-400c28b6.entry.js} +2 -2
  215. package/dist/atomic/{p-fafd5042.entry.js → p-448091f7.entry.js} +2 -2
  216. package/dist/atomic/{p-fe3cd55b.entry.js → p-44d96103.entry.js} +2 -2
  217. package/dist/atomic/p-463336ca.entry.js +2 -0
  218. package/dist/atomic/p-463336ca.entry.js.map +1 -0
  219. package/dist/atomic/{p-f9dd14b2.entry.js → p-479cb38a.entry.js} +2 -2
  220. package/dist/atomic/{p-a9383817.entry.js → p-47b41b27.entry.js} +2 -2
  221. package/dist/atomic/{p-97ce3384.entry.js → p-48bab1a6.entry.js} +2 -2
  222. package/dist/atomic/{p-0c8e7d5f.entry.js → p-4cb91ee7.entry.js} +2 -2
  223. package/dist/atomic/{p-23d4dc54.entry.js → p-558f2191.entry.js} +2 -2
  224. package/dist/atomic/p-55c41e00.entry.js +2 -0
  225. package/dist/atomic/p-55c41e00.entry.js.map +1 -0
  226. package/dist/atomic/{p-2e4628bb.entry.js → p-57049cd2.entry.js} +2 -2
  227. package/dist/atomic/{p-edd4d5f7.js → p-5a2ef889.js} +2 -2
  228. package/dist/atomic/{p-9faad55b.entry.js → p-5a83b7e5.entry.js} +2 -2
  229. package/dist/atomic/{p-10b5e0f3.entry.js → p-5b8cc4bc.entry.js} +2 -2
  230. package/dist/atomic/{p-dbcef3a9.entry.js → p-5cab535b.entry.js} +2 -2
  231. package/dist/atomic/p-5d0fc7e2.js +2 -0
  232. package/dist/atomic/p-5d0fc7e2.js.map +1 -0
  233. package/dist/atomic/{p-740cd5bc.entry.js → p-6439156c.entry.js} +2 -2
  234. package/dist/atomic/{p-7e9a1a1a.entry.js → p-66166975.entry.js} +2 -2
  235. package/dist/atomic/{p-97538903.entry.js → p-6698d5e9.entry.js} +2 -2
  236. package/dist/atomic/{p-0610b3e7.entry.js → p-6819f12c.entry.js} +2 -2
  237. package/dist/atomic/p-6b11c149.entry.js +2 -0
  238. package/dist/atomic/p-6b11c149.entry.js.map +1 -0
  239. package/dist/atomic/p-6b3429d3.js +2 -0
  240. package/dist/atomic/{p-406a288c.entry.js → p-7045745d.entry.js} +2 -2
  241. package/dist/atomic/{p-a130b00b.entry.js → p-70747efa.entry.js} +2 -2
  242. package/dist/atomic/{p-4830b9bb.entry.js → p-7242b46e.entry.js} +2 -2
  243. package/dist/atomic/{p-3af2fca0.js → p-7427daa3.js} +2 -2
  244. package/dist/atomic/{p-b320f270.entry.js → p-76c14d82.entry.js} +2 -2
  245. package/dist/atomic/{p-1435fb6f.entry.js → p-7741124a.entry.js} +2 -2
  246. package/dist/atomic/{p-cdeb5f2a.entry.js → p-77d00da1.entry.js} +2 -2
  247. package/dist/atomic/p-7fd58269.entry.js +2 -0
  248. package/dist/atomic/p-7fd58269.entry.js.map +1 -0
  249. package/dist/atomic/p-7fe23afc.entry.js +2 -0
  250. package/dist/atomic/{p-c7af4b9e.entry.js.map → p-7fe23afc.entry.js.map} +1 -1
  251. package/dist/atomic/{p-f76b7ac3.entry.js → p-80290dd3.entry.js} +2 -2
  252. package/dist/atomic/{p-0bdd730f.entry.js → p-81bdbd07.entry.js} +2 -2
  253. package/dist/atomic/{p-97748161.js → p-828ab4ff.js} +2 -2
  254. package/dist/{esm/sections-d787040b.js.map → atomic/p-828ab4ff.js.map} +1 -1
  255. package/dist/atomic/{p-723f76a1.entry.js → p-82cd6398.entry.js} +2 -2
  256. package/dist/atomic/{p-fdcd187d.entry.js → p-851b9735.entry.js} +2 -2
  257. package/dist/atomic/{p-88af4470.entry.js → p-874f0a4c.entry.js} +2 -2
  258. package/dist/atomic/{p-d6e04719.entry.js → p-8b0cf1d4.entry.js} +2 -2
  259. package/dist/atomic/{p-bd3542d2.entry.js → p-8b0d881e.entry.js} +2 -2
  260. package/dist/atomic/p-8b0d881e.entry.js.map +1 -0
  261. package/dist/atomic/{p-ee957926.entry.js → p-8d5228da.entry.js} +2 -2
  262. package/dist/atomic/{p-c25f1437.entry.js → p-955092ed.entry.js} +2 -2
  263. package/dist/atomic/{p-47ab6c9f.entry.js → p-99d4c4bf.entry.js} +2 -2
  264. package/dist/atomic/{p-edede7d1.entry.js → p-9aad555a.entry.js} +2 -2
  265. package/dist/atomic/{p-7709fba4.js → p-9ae68e86.js} +2 -2
  266. package/dist/atomic/p-9ae68e86.js.map +1 -0
  267. package/dist/atomic/{p-00a6ab8c.entry.js → p-a0ebbbdf.entry.js} +2 -2
  268. package/dist/atomic/{p-a4d277c7.entry.js → p-a1798150.entry.js} +2 -2
  269. package/dist/atomic/{p-6289adc7.entry.js → p-a54f3f24.entry.js} +2 -2
  270. package/dist/atomic/{p-24fd7df6.entry.js → p-a6dde0f6.entry.js} +2 -2
  271. package/dist/atomic/{p-0b5efb51.entry.js → p-a78cbb80.entry.js} +2 -2
  272. package/dist/atomic/p-aaa5a853.js +2 -0
  273. package/dist/atomic/p-aaa5a853.js.map +1 -0
  274. package/dist/atomic/{p-59b15bd6.entry.js → p-ae69f519.entry.js} +2 -2
  275. package/dist/atomic/{p-ed8e5c4d.entry.js → p-b06de6f8.entry.js} +2 -2
  276. package/dist/atomic/{p-fdd0aa42.entry.js → p-b1b583a0.entry.js} +2 -2
  277. package/dist/atomic/{p-3c9289b5.js → p-b29d121c.js} +2 -2
  278. package/dist/atomic/p-b628ed03.entry.js +2 -0
  279. package/dist/atomic/{p-a1ee594f.entry.js.map → p-b628ed03.entry.js.map} +1 -1
  280. package/dist/atomic/{p-cb3fd0f4.entry.js → p-b84108f3.entry.js} +2 -2
  281. package/dist/atomic/{p-fb1a1e2e.entry.js → p-b85c2c46.entry.js} +2 -2
  282. package/dist/atomic/p-b9eeac20.entry.js +2 -0
  283. package/dist/atomic/{p-e398835b.entry.js → p-bc43df67.entry.js} +2 -2
  284. package/dist/atomic/{p-93601dc0.entry.js → p-bd01acd5.entry.js} +2 -2
  285. package/dist/atomic/{p-416d088e.entry.js → p-be011bd1.entry.js} +2 -2
  286. package/dist/atomic/{p-7c3c5f07.entry.js → p-c2a5dac0.entry.js} +2 -2
  287. package/dist/atomic/p-c2a5dac0.entry.js.map +1 -0
  288. package/dist/atomic/{p-93f1d551.entry.js → p-c5164dbf.entry.js} +2 -2
  289. package/dist/atomic/{p-3622ed6c.js → p-c619df9b.js} +2 -2
  290. package/dist/atomic/{p-3857d6a3.entry.js → p-c8190eb9.entry.js} +2 -2
  291. package/dist/atomic/p-ca1425cc.entry.js +2 -0
  292. package/dist/atomic/{p-a1522fe5.entry.js.map → p-ca1425cc.entry.js.map} +1 -1
  293. package/dist/atomic/{p-5ca21deb.js → p-ca37969c.js} +2 -2
  294. package/dist/atomic/{p-9c7dbbdf.js → p-cc2b2231.js} +1 -1
  295. package/dist/atomic/p-cc2b2231.js.map +1 -0
  296. package/dist/atomic/{p-7cced247.entry.js → p-d0ab0125.entry.js} +2 -2
  297. package/dist/atomic/{p-16f6c1f3.entry.js → p-d8caa4d8.entry.js} +2 -2
  298. package/dist/atomic/p-da87ef51.entry.js +2 -0
  299. package/dist/atomic/{p-367ec37d.entry.js → p-db2d92c5.entry.js} +2 -2
  300. package/dist/atomic/{p-dbf0c5a3.entry.js → p-db3b11ca.entry.js} +2 -2
  301. package/dist/atomic/{p-4723ffa5.entry.js → p-dd24c66a.entry.js} +2 -2
  302. package/dist/atomic/{p-0f39889d.entry.js → p-dea22a8d.entry.js} +2 -2
  303. package/dist/atomic/{p-3a7a1a00.entry.js → p-df8d38ca.entry.js} +2 -2
  304. package/dist/atomic/{p-c280cd05.js → p-e1cc5150.js} +1 -1
  305. package/dist/atomic/{p-f9608731.entry.js → p-e276c7e0.entry.js} +2 -2
  306. package/dist/atomic/{p-ce5b896e.entry.js → p-e455330c.entry.js} +2 -2
  307. package/dist/atomic/{p-59f043a0.entry.js → p-e49ad083.entry.js} +2 -2
  308. package/dist/atomic/{p-30c09377.entry.js → p-e6871a3f.entry.js} +2 -2
  309. package/dist/atomic/{p-c9f1790d.entry.js → p-e6dc9de7.entry.js} +2 -2
  310. package/dist/atomic/p-e8176ac8.entry.js +2 -0
  311. package/dist/atomic/p-e8176ac8.entry.js.map +1 -0
  312. package/dist/atomic/{p-20764605.entry.js → p-ed413091.entry.js} +2 -2
  313. package/dist/atomic/p-ef8f2239.entry.js +2 -0
  314. package/dist/atomic/{p-345c425d.entry.js.map → p-ef8f2239.entry.js.map} +1 -1
  315. package/dist/atomic/{p-13391e75.entry.js → p-f0c657f4.entry.js} +2 -2
  316. package/dist/atomic/{p-f936f55e.entry.js → p-f1241140.entry.js} +2 -2
  317. package/dist/atomic/p-f37dea9e.entry.js +2 -0
  318. package/dist/atomic/{p-b6415814.entry.js.map → p-f37dea9e.entry.js.map} +1 -1
  319. package/dist/atomic/p-f4818e53.entry.js +2 -0
  320. package/dist/atomic/p-f537c5af.js +2 -0
  321. package/dist/atomic/p-f537c5af.js.map +1 -0
  322. package/dist/atomic/{p-dd35e7ad.entry.js → p-f65ca329.entry.js} +2 -2
  323. package/dist/atomic/{p-93da1f4e.entry.js → p-f800678c.entry.js} +2 -2
  324. package/dist/atomic/{p-d1795580.entry.js → p-fb517fba.entry.js} +2 -2
  325. package/dist/atomic/{p-97829295.entry.js → p-fc71835d.entry.js} +2 -2
  326. package/dist/atomic/{p-1db20a4a.entry.js → p-fd1ef9e3.entry.js} +2 -2
  327. package/dist/cjs/_loader.cjs.js +1 -1
  328. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +3 -3
  329. package/dist/cjs/atomic-breadbox.cjs.entry.js +2 -2
  330. package/dist/cjs/atomic-category-facet.cjs.entry.js +4 -4
  331. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  332. package/dist/cjs/atomic-color-facet.cjs.entry.js +3 -3
  333. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  334. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  335. package/dist/cjs/atomic-facet.cjs.entry.js +6 -6
  336. package/dist/cjs/atomic-field-condition.cjs.entry.js +4 -4
  337. package/dist/cjs/atomic-focus-trap.cjs.entry.js +2 -2
  338. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +8 -8
  339. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  340. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  341. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  342. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +3 -3
  343. package/dist/cjs/atomic-generated-answer.cjs.entry.js +3 -3
  344. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  345. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  346. package/dist/cjs/atomic-insight-facet.cjs.entry.js +5 -5
  347. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +8 -8
  348. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +2 -2
  350. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +2 -2
  351. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js.map +1 -1
  352. package/dist/cjs/atomic-insight-layout.cjs.entry.js +85 -5
  353. package/dist/cjs/atomic-insight-layout.cjs.entry.js.map +1 -1
  354. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +3 -3
  355. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -6
  356. package/dist/cjs/atomic-insight-pager.cjs.entry.js +4 -4
  357. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +3 -3
  358. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +2 -2
  359. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +4 -5
  360. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js.map +1 -1
  361. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  362. package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js +3 -6
  363. package/dist/cjs/atomic-insight-result-action-bar.cjs.entry.js.map +1 -1
  364. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +1 -1
  365. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +1 -1
  366. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  367. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +4 -4
  368. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +2 -2
  369. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +8 -8
  370. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +3 -3
  371. package/dist/cjs/atomic-insight-result-template.cjs.entry.js +4 -4
  372. package/dist/cjs/atomic-insight-result.cjs.entry.js +7 -7
  373. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +4 -4
  374. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  375. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +1 -1
  376. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +1 -1
  377. package/dist/cjs/atomic-insight-tab.cjs.entry.js +2 -2
  378. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  379. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +4 -4
  380. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  381. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +2 -2
  382. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  383. package/dist/cjs/atomic-ipx-body.cjs.entry.js +4 -4
  384. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  385. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +3 -3
  386. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +4 -4
  387. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +8 -8
  388. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +3 -4
  389. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js.map +1 -1
  390. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  391. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  392. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +1 -2
  393. package/dist/cjs/atomic-ipx-tab.cjs.entry.js.map +1 -1
  394. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  395. package/dist/cjs/{sections-4b4af2f8.js → atomic-layout-section-utils-08b4fbcd.js} +1 -1
  396. package/dist/cjs/atomic-layout-section-utils-08b4fbcd.js.map +1 -0
  397. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -3
  398. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  399. package/dist/cjs/atomic-no-results.cjs.entry.js +3 -3
  400. package/dist/cjs/atomic-notifications.cjs.entry.js +2 -2
  401. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -6
  402. package/dist/cjs/atomic-query-error.cjs.entry.js +3 -3
  403. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +23 -23
  404. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  405. package/dist/cjs/atomic-quickview.cjs.entry.js +3 -3
  406. package/dist/cjs/atomic-rating-facet.cjs.entry.js +4 -4
  407. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +3 -3
  408. package/dist/cjs/atomic-recs-error.cjs.entry.js +3 -3
  409. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2927 -18
  410. package/dist/cjs/atomic-recs-interface.cjs.entry.js.map +1 -1
  411. package/dist/cjs/atomic-recs-list.cjs.entry.js +8 -8
  412. package/dist/cjs/atomic-recs-result-template.cjs.entry.js +4 -4
  413. package/dist/cjs/atomic-recs-result.cjs.entry.js +6 -6
  414. package/dist/cjs/atomic-refine-modal.cjs.entry.js +6 -6
  415. package/dist/cjs/atomic-refine-modal.cjs.entry.js.map +1 -1
  416. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  417. package/dist/cjs/atomic-result-children-template.cjs.entry.js +4 -4
  418. package/dist/cjs/atomic-result-children.cjs.entry.js +2 -2
  419. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  420. package/dist/cjs/atomic-result-icon.cjs.entry.js +1 -1
  421. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  422. package/dist/cjs/atomic-result-list.cjs.entry.js +9 -9
  423. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +2 -2
  424. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +1 -1
  425. package/dist/cjs/{atomic-result-placeholder_2.cjs.entry.js → atomic-result-placeholder_8.cjs.entry.js} +75 -7
  426. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -0
  427. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +2 -2
  428. package/dist/cjs/atomic-result-section-children.cjs.entry.js +23 -0
  429. package/dist/cjs/atomic-result-section-children.cjs.entry.js.map +1 -0
  430. package/dist/cjs/atomic-result-section-emphasized.cjs.entry.js +23 -0
  431. package/dist/cjs/atomic-result-section-emphasized.cjs.entry.js.map +1 -0
  432. package/dist/cjs/atomic-result-section-title-metadata.cjs.entry.js +23 -0
  433. package/dist/cjs/atomic-result-section-title-metadata.cjs.entry.js.map +1 -0
  434. package/dist/cjs/atomic-result-template.cjs.entry.js +4 -4
  435. package/dist/cjs/atomic-result.cjs.entry.js +6 -6
  436. package/dist/cjs/atomic-search-box-instant-results.cjs.entry.js +1 -1
  437. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js +76 -0
  438. package/dist/cjs/atomic-search-box-query-suggestions.cjs.entry.js.map +1 -0
  439. package/dist/cjs/atomic-search-box.cjs.entry.js +6 -6
  440. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +2 -2
  441. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +3 -3
  442. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  443. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  444. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +1 -1
  445. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +2 -2
  446. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +3 -3
  447. package/dist/cjs/atomic-sort-expression.cjs.entry.js +3 -3
  448. package/dist/cjs/atomic-stencil-facet-date-input.cjs.entry.js +3 -3
  449. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  450. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  451. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  452. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  453. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +4 -4
  454. package/dist/cjs/atomic.cjs.js +1 -1
  455. package/dist/cjs/clock-7aeb19d0.js +7 -0
  456. package/dist/cjs/clock-7aeb19d0.js.map +1 -0
  457. package/dist/cjs/{cloned-facet-elements-70cd1601.js → cloned-facet-elements-3c7ea837.js} +2 -2
  458. package/dist/cjs/{cloned-facet-elements-70cd1601.js.map → cloned-facet-elements-3c7ea837.js.map} +1 -1
  459. package/dist/cjs/{display-options-14f05862.js → display-options-10f84088.js} +4 -4
  460. package/dist/cjs/display-options-10f84088.js.map +1 -0
  461. package/dist/cjs/index-757bc886.js +16 -12
  462. package/dist/cjs/{sections-fbb93b53.js → item-layout-sections-73e27d24.js} +2 -2
  463. package/dist/cjs/item-layout-sections-73e27d24.js.map +1 -0
  464. package/dist/cjs/item-section-utils-37848715.js +11 -0
  465. package/dist/cjs/item-section-utils-37848715.js.map +1 -0
  466. package/dist/cjs/{props-utils-1e4ba1b0.js → props-utils-15a042f3.js} +2 -2
  467. package/dist/cjs/{props-utils-1e4ba1b0.js.map → props-utils-15a042f3.js.map} +1 -1
  468. package/dist/cjs/{replace-breakpoint-utils-7a084f54.js → replace-breakpoint-utils-47f2eaa4.js} +1 -2
  469. package/dist/cjs/replace-breakpoint-utils-47f2eaa4.js.map +1 -0
  470. package/dist/cjs/{result-template-common-88359dad.js → result-template-common-bc03b2ad.js} +4 -4
  471. package/dist/cjs/result-template-common-bc03b2ad.js.map +1 -0
  472. package/dist/cjs/{stencil-accessibility-utils-aa4c9f6c.js → stencil-accessibility-utils-86cc7071.js} +2 -2
  473. package/dist/cjs/{stencil-accessibility-utils-aa4c9f6c.js.map → stencil-accessibility-utils-86cc7071.js.map} +1 -1
  474. package/dist/cjs/{stencil-facet-value-e67c9332.js → stencil-facet-value-5957b403.js} +2 -2
  475. package/dist/cjs/{stencil-facet-value-e67c9332.js.map → stencil-facet-value-5957b403.js.map} +1 -1
  476. package/dist/cjs/{stencil-facet-value-checkbox-62f07459.js → stencil-facet-value-checkbox-fed178ad.js} +2 -2
  477. package/dist/cjs/{stencil-facet-value-checkbox-62f07459.js.map → stencil-facet-value-checkbox-fed178ad.js.map} +1 -1
  478. package/dist/cjs/{stencil-item-list-common-17bd1046.js → stencil-item-list-common-b08abf21.js} +4 -4
  479. package/dist/cjs/{stencil-item-list-common-17bd1046.js.map → stencil-item-list-common-b08abf21.js.map} +1 -1
  480. package/dist/cjs/{stencil-values-container-9f50ec1a.js → stencil-values-container-d20f9b28.js} +2 -2
  481. package/dist/cjs/{stencil-values-container-9f50ec1a.js.map → stencil-values-container-d20f9b28.js.map} +1 -1
  482. package/dist/cjs/{store-82abd941.js → store-7927ea61.js} +2 -33
  483. package/dist/cjs/store-7927ea61.js.map +1 -0
  484. package/dist/cjs/{timeframe-facet-common-b5535cca.js → timeframe-facet-common-4ea96ccb.js} +2 -2
  485. package/dist/cjs/{timeframe-facet-common-b5535cca.js.map → timeframe-facet-common-4ea96ccb.js.map} +1 -1
  486. package/dist/cjs/{utils-7153ae6b.js → utils-12b49e87.js} +1 -18
  487. package/dist/cjs/utils-12b49e87.js.map +1 -0
  488. package/dist/cjs/version.cjs.js +2 -2
  489. package/dist/esm/_loader.js +1 -1
  490. package/dist/esm/atomic-automatic-facet_2.entry.js +3 -3
  491. package/dist/esm/atomic-breadbox.entry.js +2 -2
  492. package/dist/esm/atomic-category-facet.entry.js +4 -4
  493. package/dist/esm/atomic-citation.entry.js +1 -1
  494. package/dist/esm/atomic-color-facet.entry.js +3 -3
  495. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  496. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  497. package/dist/esm/atomic-facet.entry.js +6 -6
  498. package/dist/esm/atomic-field-condition.entry.js +4 -4
  499. package/dist/esm/atomic-focus-trap.entry.js +2 -2
  500. package/dist/esm/atomic-folded-result-list.entry.js +8 -8
  501. package/dist/esm/atomic-format-currency.entry.js +1 -1
  502. package/dist/esm/atomic-format-number.entry.js +1 -1
  503. package/dist/esm/atomic-format-unit.entry.js +1 -1
  504. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +3 -3
  505. package/dist/esm/atomic-generated-answer.entry.js +3 -3
  506. package/dist/esm/atomic-html.entry.js +1 -1
  507. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  508. package/dist/esm/atomic-insight-facet.entry.js +5 -5
  509. package/dist/esm/atomic-insight-folded-result-list.entry.js +8 -8
  510. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  511. package/dist/esm/atomic-insight-generated-answer.entry.js +2 -2
  512. package/dist/esm/atomic-insight-history-toggle.entry.js +2 -2
  513. package/dist/esm/atomic-insight-history-toggle.entry.js.map +1 -1
  514. package/dist/esm/atomic-insight-layout.entry.js +83 -3
  515. package/dist/esm/atomic-insight-layout.entry.js.map +1 -1
  516. package/dist/esm/atomic-insight-no-results.entry.js +3 -3
  517. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -6
  518. package/dist/esm/atomic-insight-pager.entry.js +4 -4
  519. package/dist/esm/atomic-insight-query-error.entry.js +3 -3
  520. package/dist/esm/atomic-insight-query-summary.entry.js +2 -2
  521. package/dist/esm/atomic-insight-refine-modal.entry.js +4 -5
  522. package/dist/esm/atomic-insight-refine-modal.entry.js.map +1 -1
  523. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  524. package/dist/esm/atomic-insight-result-action-bar.entry.js +2 -5
  525. package/dist/esm/atomic-insight-result-action-bar.entry.js.map +1 -1
  526. package/dist/esm/atomic-insight-result-action.entry.js +1 -1
  527. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +1 -1
  528. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  529. package/dist/esm/atomic-insight-result-children-template.entry.js +4 -4
  530. package/dist/esm/atomic-insight-result-children.entry.js +2 -2
  531. package/dist/esm/atomic-insight-result-list.entry.js +8 -8
  532. package/dist/esm/atomic-insight-result-quickview-action.entry.js +3 -3
  533. package/dist/esm/atomic-insight-result-template.entry.js +4 -4
  534. package/dist/esm/atomic-insight-result.entry.js +7 -7
  535. package/dist/esm/atomic-insight-search-box.entry.js +4 -4
  536. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -4
  537. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +1 -1
  538. package/dist/esm/atomic-insight-smart-snippet.entry.js +1 -1
  539. package/dist/esm/atomic-insight-tab.entry.js +2 -2
  540. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  541. package/dist/esm/atomic-insight-timeframe-facet.entry.js +4 -4
  542. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  543. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +2 -2
  544. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  545. package/dist/esm/atomic-ipx-body.entry.js +4 -4
  546. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  547. package/dist/esm/atomic-ipx-embedded.entry.js +3 -3
  548. package/dist/esm/atomic-ipx-modal.entry.js +4 -4
  549. package/dist/esm/atomic-ipx-recs-list.entry.js +8 -8
  550. package/dist/esm/atomic-ipx-refine-modal.entry.js +3 -4
  551. package/dist/esm/atomic-ipx-refine-modal.entry.js.map +1 -1
  552. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  553. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  554. package/dist/esm/atomic-ipx-tab.entry.js +1 -2
  555. package/dist/esm/atomic-ipx-tab.entry.js.map +1 -1
  556. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  557. package/dist/esm/{sections-ae00b53a.js → atomic-layout-section-utils-c8ca7445.js} +1 -1
  558. package/dist/esm/atomic-layout-section-utils-c8ca7445.js.map +1 -0
  559. package/dist/esm/atomic-load-more-results.entry.js +2 -3
  560. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  561. package/dist/esm/atomic-no-results.entry.js +3 -3
  562. package/dist/esm/atomic-notifications.entry.js +2 -2
  563. package/dist/esm/atomic-numeric-facet.entry.js +6 -6
  564. package/dist/esm/atomic-query-error.entry.js +3 -3
  565. package/dist/esm/atomic-quickview-modal.entry.js +23 -23
  566. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  567. package/dist/esm/atomic-quickview.entry.js +3 -3
  568. package/dist/esm/atomic-rating-facet.entry.js +4 -4
  569. package/dist/esm/atomic-rating-range-facet.entry.js +3 -3
  570. package/dist/esm/atomic-recs-error.entry.js +3 -3
  571. package/dist/esm/atomic-recs-interface.entry.js +2919 -10
  572. package/dist/esm/atomic-recs-interface.entry.js.map +1 -1
  573. package/dist/esm/atomic-recs-list.entry.js +8 -8
  574. package/dist/esm/atomic-recs-result-template.entry.js +4 -4
  575. package/dist/esm/atomic-recs-result.entry.js +6 -6
  576. package/dist/esm/atomic-refine-modal.entry.js +4 -4
  577. package/dist/esm/atomic-refine-modal.entry.js.map +1 -1
  578. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  579. package/dist/esm/atomic-result-children-template.entry.js +4 -4
  580. package/dist/esm/atomic-result-children.entry.js +2 -2
  581. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  582. package/dist/esm/atomic-result-icon.entry.js +1 -1
  583. package/dist/esm/atomic-result-link.entry.js +1 -1
  584. package/dist/esm/atomic-result-list.entry.js +9 -9
  585. package/dist/esm/atomic-result-localized-text.entry.js +2 -2
  586. package/dist/esm/atomic-result-multi-value-text.entry.js +1 -1
  587. package/dist/esm/{atomic-result-placeholder_2.entry.js → atomic-result-placeholder_8.entry.js} +71 -9
  588. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -0
  589. package/dist/esm/atomic-result-printable-uri.entry.js +2 -2
  590. package/dist/esm/atomic-result-section-children.entry.js +19 -0
  591. package/dist/esm/atomic-result-section-children.entry.js.map +1 -0
  592. package/dist/esm/atomic-result-section-emphasized.entry.js +19 -0
  593. package/dist/esm/atomic-result-section-emphasized.entry.js.map +1 -0
  594. package/dist/esm/atomic-result-section-title-metadata.entry.js +19 -0
  595. package/dist/esm/atomic-result-section-title-metadata.entry.js.map +1 -0
  596. package/dist/esm/atomic-result-template.entry.js +4 -4
  597. package/dist/esm/atomic-result.entry.js +6 -6
  598. package/dist/esm/atomic-search-box-instant-results.entry.js +1 -1
  599. package/dist/esm/atomic-search-box-query-suggestions.entry.js +72 -0
  600. package/dist/esm/atomic-search-box-query-suggestions.entry.js.map +1 -0
  601. package/dist/esm/atomic-search-box.entry.js +6 -6
  602. package/dist/esm/atomic-segmented-facet.entry.js +2 -2
  603. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +3 -3
  604. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  605. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -4
  606. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +1 -1
  607. package/dist/esm/atomic-smart-snippet.entry.js +2 -2
  608. package/dist/esm/atomic-sort-dropdown.entry.js +3 -3
  609. package/dist/esm/atomic-sort-expression.entry.js +3 -3
  610. package/dist/esm/atomic-stencil-facet-date-input.entry.js +3 -3
  611. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  612. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  613. package/dist/esm/atomic-tab-button.entry.js +1 -1
  614. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  615. package/dist/esm/atomic-timeframe-facet.entry.js +4 -4
  616. package/dist/esm/atomic.js +1 -1
  617. package/dist/esm/clock-b1f5d7f7.js +5 -0
  618. package/dist/esm/clock-b1f5d7f7.js.map +1 -0
  619. package/dist/esm/{cloned-facet-elements-807b566b.js → cloned-facet-elements-82071d0c.js} +2 -2
  620. package/dist/esm/{cloned-facet-elements-807b566b.js.map → cloned-facet-elements-82071d0c.js.map} +1 -1
  621. package/dist/esm/{display-options-c16840c6.js → display-options-b7c33617.js} +2 -2
  622. package/dist/esm/display-options-b7c33617.js.map +1 -0
  623. package/dist/esm/index-3f35faca.js +16 -12
  624. package/dist/esm/{sections-d787040b.js → item-layout-sections-26123790.js} +2 -2
  625. package/dist/esm/item-layout-sections-26123790.js.map +1 -0
  626. package/dist/esm/item-section-utils-d8aa24b7.js +9 -0
  627. package/dist/esm/item-section-utils-d8aa24b7.js.map +1 -0
  628. package/dist/esm/{props-utils-e97ad6bd.js → props-utils-6040b5d2.js} +2 -2
  629. package/dist/esm/{props-utils-e97ad6bd.js.map → props-utils-6040b5d2.js.map} +1 -1
  630. package/dist/esm/{replace-breakpoint-utils-7a336631.js → replace-breakpoint-utils-13ff9ca5.js} +2 -2
  631. package/dist/esm/replace-breakpoint-utils-13ff9ca5.js.map +1 -0
  632. package/dist/esm/{result-template-common-ac9fecab.js → result-template-common-47799c7c.js} +3 -3
  633. package/dist/esm/result-template-common-47799c7c.js.map +1 -0
  634. package/dist/esm/{stencil-accessibility-utils-196a08f3.js → stencil-accessibility-utils-ae75044b.js} +2 -2
  635. package/dist/esm/{stencil-accessibility-utils-196a08f3.js.map → stencil-accessibility-utils-ae75044b.js.map} +1 -1
  636. package/dist/esm/{stencil-facet-value-30dc9b6c.js → stencil-facet-value-9deafe8e.js} +2 -2
  637. package/dist/esm/{stencil-facet-value-30dc9b6c.js.map → stencil-facet-value-9deafe8e.js.map} +1 -1
  638. package/dist/esm/{stencil-facet-value-checkbox-0637f7f8.js → stencil-facet-value-checkbox-c0df7c4e.js} +2 -2
  639. package/dist/esm/{stencil-facet-value-checkbox-0637f7f8.js.map → stencil-facet-value-checkbox-c0df7c4e.js.map} +1 -1
  640. package/dist/esm/{stencil-item-list-common-fc95e16b.js → stencil-item-list-common-d2833d51.js} +4 -4
  641. package/dist/esm/{stencil-item-list-common-fc95e16b.js.map → stencil-item-list-common-d2833d51.js.map} +1 -1
  642. package/dist/esm/{stencil-values-container-55a7e816.js → stencil-values-container-9b9cd73f.js} +2 -2
  643. package/dist/esm/{stencil-values-container-55a7e816.js.map → stencil-values-container-9b9cd73f.js.map} +1 -1
  644. package/dist/esm/{store-015afa83.js → store-7d2c2a8c.js} +3 -31
  645. package/dist/esm/store-7d2c2a8c.js.map +1 -0
  646. package/dist/esm/{timeframe-facet-common-eb1016d2.js → timeframe-facet-common-55fc72f3.js} +2 -2
  647. package/dist/esm/{timeframe-facet-common-eb1016d2.js.map → timeframe-facet-common-55fc72f3.js.map} +1 -1
  648. package/dist/esm/{utils-7161486d.js → utils-6400ebde.js} +2 -18
  649. package/dist/esm/utils-6400ebde.js.map +1 -0
  650. package/dist/esm/version.js +2 -2
  651. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +2 -3
  652. package/dist/types/components/commerce/atomic-product/atomic-product.d.ts +4 -16
  653. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +1 -1
  654. package/dist/types/components/common/facets/facet-search/facet-search-input-guard.d.ts +1 -1
  655. package/dist/types/components/common/layout/custom-render-controller.d.ts +25 -0
  656. package/dist/types/components/common/layout/item-layout-controller.d.ts +47 -0
  657. package/dist/types/components/common/layout/item-layout-sections.d.ts +6 -0
  658. package/dist/types/components/common/no-items/guard.d.ts +1 -1
  659. package/dist/types/components/common/refine-modal/guard.d.ts +1 -1
  660. package/dist/types/components/common/sort/sort-guard.d.ts +1 -1
  661. package/dist/types/components/common/validate-props-controller/validate-props-controller.d.ts +32 -0
  662. package/dist/types/components/insight/atomic-insight-interface/atomic-insight-interface.d.ts +35 -42
  663. package/dist/types/components/insight/index.d.ts +1 -1
  664. package/dist/types/components/search/atomic-relevance-inspector/atomic-relevance-inspector.d.ts +18 -8
  665. package/dist/types/components/search/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +45 -0
  666. package/dist/types/components/search/atomic-search-interface/atomic-search-interface.d.ts +5 -3
  667. package/dist/types/components/search/index.d.ts +2 -9
  668. package/dist/types/components/search/{atomic-result-section-actions → result-template-components/atomic-result-sections}/atomic-result-section-actions.d.ts +3 -9
  669. package/dist/types/components/search/{atomic-result-section-badges → result-template-components/atomic-result-sections}/atomic-result-section-badges.d.ts +3 -9
  670. package/dist/types/components/search/{atomic-result-section-bottom-metadata → result-template-components/atomic-result-sections}/atomic-result-section-bottom-metadata.d.ts +3 -9
  671. package/dist/types/components/search/result-template-components/atomic-result-sections/atomic-result-section-children.d.ts +10 -0
  672. package/dist/types/components/search/result-template-components/atomic-result-sections/atomic-result-section-emphasized.d.ts +12 -0
  673. package/dist/types/components/search/{atomic-result-section-excerpt → result-template-components/atomic-result-sections}/atomic-result-section-excerpt.d.ts +3 -9
  674. package/dist/types/components/search/result-template-components/atomic-result-sections/atomic-result-section-title-metadata.d.ts +13 -0
  675. package/dist/types/components/search/{atomic-result-section-title → result-template-components/atomic-result-sections}/atomic-result-section-title.d.ts +3 -9
  676. package/dist/types/components/search/result-template-components/atomic-result-sections/atomic-result-section-visual.d.ts +20 -0
  677. package/dist/types/components.d.ts +417 -215
  678. package/dist/types/directives/hierarchical-path.d.ts +1 -1
  679. package/dist/types/utils/compare-utils.d.ts +9 -0
  680. package/docs/atomic-docs.json +391 -716
  681. package/package.json +7 -7
  682. package/dist/atomic/components/analytics-config.js +0 -2918
  683. package/dist/atomic/components/analytics-config.js.map +0 -1
  684. package/dist/atomic/components/atomic-insight-interface.d.ts +0 -11
  685. package/dist/atomic/components/atomic-insight-interface.js +0 -332
  686. package/dist/atomic/components/atomic-insight-interface.js.map +0 -1
  687. package/dist/atomic/components/atomic-relevance-inspector.d.ts +0 -11
  688. package/dist/atomic/components/atomic-relevance-inspector.js +0 -53
  689. package/dist/atomic/components/atomic-relevance-inspector.js.map +0 -1
  690. package/dist/atomic/components/atomic-search-box-recent-queries.d.ts +0 -11
  691. package/dist/atomic/components/atomic-search-box-recent-queries.js +0 -8
  692. package/dist/atomic/components/atomic-search-box-recent-queries.js.map +0 -1
  693. package/dist/atomic/components/atomic-search-box-recent-queries2.js +0 -183
  694. package/dist/atomic/components/atomic-search-box-recent-queries2.js.map +0 -1
  695. package/dist/atomic/components/components/search/atomic-result-section-actions/atomic-result-section-actions.js +0 -25
  696. package/dist/atomic/components/components/search/atomic-result-section-badges/atomic-result-section-badges.js +0 -24
  697. package/dist/atomic/components/components/search/atomic-result-section-bottom-metadata/atomic-result-section-bottom-metadata.js +0 -25
  698. package/dist/atomic/components/components/search/atomic-result-section-children/atomic-result-section-children.js +0 -21
  699. package/dist/atomic/components/components/search/atomic-result-section-emphasized/atomic-result-section-emphasized.js +0 -23
  700. package/dist/atomic/components/components/search/atomic-result-section-excerpt/atomic-result-section-excerpt.js +0 -24
  701. package/dist/atomic/components/components/search/atomic-result-section-title/atomic-result-section-title.js +0 -24
  702. package/dist/atomic/components/components/search/atomic-result-section-title-metadata/atomic-result-section-title-metadata.js +0 -24
  703. package/dist/atomic/components/components/search/atomic-result-section-visual/atomic-result-section-visual.js +0 -29
  704. package/dist/atomic/components/insight-layout.js +0 -87
  705. package/dist/atomic/components/insight-layout.js.map +0 -1
  706. package/dist/atomic/components/sections.js.map +0 -1
  707. package/dist/atomic/components/sections2.js.map +0 -1
  708. package/dist/atomic/p-0a31d0fe.entry.js +0 -2
  709. package/dist/atomic/p-0a31d0fe.entry.js.map +0 -1
  710. package/dist/atomic/p-0c0b8d41.entry.js +0 -2
  711. package/dist/atomic/p-0c0b8d41.entry.js.map +0 -1
  712. package/dist/atomic/p-250f34d4.entry.js +0 -2
  713. package/dist/atomic/p-26598ee0.js +0 -2
  714. package/dist/atomic/p-27b8404c.js.map +0 -1
  715. package/dist/atomic/p-28e882e8.js +0 -2
  716. package/dist/atomic/p-2caa1859.js +0 -2
  717. package/dist/atomic/p-2caa1859.js.map +0 -1
  718. package/dist/atomic/p-345c425d.entry.js +0 -2
  719. package/dist/atomic/p-7709fba4.js.map +0 -1
  720. package/dist/atomic/p-7c3c5f07.entry.js.map +0 -1
  721. package/dist/atomic/p-8de99e50.entry.js +0 -2
  722. package/dist/atomic/p-8de99e50.entry.js.map +0 -1
  723. package/dist/atomic/p-97748161.js.map +0 -1
  724. package/dist/atomic/p-9c7dbbdf.js.map +0 -1
  725. package/dist/atomic/p-a12e1c59.js +0 -2
  726. package/dist/atomic/p-a12e1c59.js.map +0 -1
  727. package/dist/atomic/p-a1522fe5.entry.js +0 -2
  728. package/dist/atomic/p-a1ee594f.entry.js +0 -2
  729. package/dist/atomic/p-a71f04f4.entry.js +0 -2
  730. package/dist/atomic/p-a71f04f4.entry.js.map +0 -1
  731. package/dist/atomic/p-b6415814.entry.js +0 -2
  732. package/dist/atomic/p-ba5b3f06.entry.js +0 -2
  733. package/dist/atomic/p-ba5b3f06.entry.js.map +0 -1
  734. package/dist/atomic/p-bd3542d2.entry.js.map +0 -1
  735. package/dist/atomic/p-c2b4b401.entry.js +0 -2
  736. package/dist/atomic/p-c7af4b9e.entry.js +0 -2
  737. package/dist/atomic/p-cc0bf58b.js +0 -2
  738. package/dist/atomic/p-cc0bf58b.js.map +0 -1
  739. package/dist/atomic/p-de687bed.entry.js +0 -2
  740. package/dist/atomic/p-de687bed.entry.js.map +0 -1
  741. package/dist/atomic/p-df4397ab.entry.js +0 -2
  742. package/dist/atomic/p-df4397ab.entry.js.map +0 -1
  743. package/dist/atomic/p-f2000522.js +0 -2
  744. package/dist/atomic/p-f2000522.js.map +0 -1
  745. package/dist/atomic/p-f71b14b2.entry.js +0 -2
  746. package/dist/cjs/analytics-config-77341865.js +0 -2927
  747. package/dist/cjs/analytics-config-77341865.js.map +0 -1
  748. package/dist/cjs/atomic-insight-interface.cjs.entry.js +0 -307
  749. package/dist/cjs/atomic-insight-interface.cjs.entry.js.map +0 -1
  750. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +0 -38
  751. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +0 -1
  752. package/dist/cjs/atomic-result-placeholder_2.cjs.entry.js.map +0 -1
  753. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +0 -234
  754. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js.map +0 -1
  755. package/dist/cjs/clock-f03ff827.js +0 -7
  756. package/dist/cjs/clock-f03ff827.js.map +0 -1
  757. package/dist/cjs/display-options-14f05862.js.map +0 -1
  758. package/dist/cjs/insight-layout-355a94dd.js +0 -90
  759. package/dist/cjs/insight-layout-355a94dd.js.map +0 -1
  760. package/dist/cjs/replace-breakpoint-utils-7a084f54.js.map +0 -1
  761. package/dist/cjs/result-template-common-88359dad.js.map +0 -1
  762. package/dist/cjs/sections-4b4af2f8.js.map +0 -1
  763. package/dist/cjs/sections-fbb93b53.js.map +0 -1
  764. package/dist/cjs/store-82abd941.js.map +0 -1
  765. package/dist/cjs/utils-7153ae6b.js.map +0 -1
  766. package/dist/esm/analytics-config-2c22562c.js +0 -2918
  767. package/dist/esm/analytics-config-2c22562c.js.map +0 -1
  768. package/dist/esm/atomic-insight-interface.entry.js +0 -303
  769. package/dist/esm/atomic-insight-interface.entry.js.map +0 -1
  770. package/dist/esm/atomic-relevance-inspector.entry.js +0 -34
  771. package/dist/esm/atomic-relevance-inspector.entry.js.map +0 -1
  772. package/dist/esm/atomic-result-placeholder_2.entry.js.map +0 -1
  773. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +0 -229
  774. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js.map +0 -1
  775. package/dist/esm/clock-add3e9a5.js +0 -5
  776. package/dist/esm/clock-add3e9a5.js.map +0 -1
  777. package/dist/esm/display-options-c16840c6.js.map +0 -1
  778. package/dist/esm/insight-layout-776b87f2.js +0 -87
  779. package/dist/esm/insight-layout-776b87f2.js.map +0 -1
  780. package/dist/esm/replace-breakpoint-utils-7a336631.js.map +0 -1
  781. package/dist/esm/result-template-common-ac9fecab.js.map +0 -1
  782. package/dist/esm/sections-ae00b53a.js.map +0 -1
  783. package/dist/esm/store-015afa83.js.map +0 -1
  784. package/dist/esm/utils-7161486d.js.map +0 -1
  785. package/dist/types/components/common/layout/sections.d.ts +0 -6
  786. package/dist/types/components/search/atomic-result-section-children/atomic-result-section-children.d.ts +0 -16
  787. package/dist/types/components/search/atomic-result-section-emphasized/atomic-result-section-emphasized.d.ts +0 -18
  788. package/dist/types/components/search/atomic-result-section-title-metadata/atomic-result-section-title-metadata.d.ts +0 -19
  789. package/dist/types/components/search/atomic-result-section-visual/atomic-result-section-visual.d.ts +0 -26
  790. package/dist/types/components/search/search-box-suggestions/atomic-search-box-recent-queries/atomic-search-box-recent-queries.d.ts +0 -37
  791. /package/dist/atomic/components/components/common/atomic-layout-section/{sections.js → atomic-layout-section-utils.js} +0 -0
  792. /package/dist/atomic/{p-27cf779a.js.map → p-025a346a.js.map} +0 -0
  793. /package/dist/atomic/{p-3cbab25b.entry.js.map → p-044de1f9.entry.js.map} +0 -0
  794. /package/dist/atomic/{p-fe59fb2d.entry.js.map → p-0535b93d.entry.js.map} +0 -0
  795. /package/dist/atomic/{p-31a13850.js.map → p-0580b866.js.map} +0 -0
  796. /package/dist/atomic/{p-0edea6f9.entry.js.map → p-05f1ff6f.entry.js.map} +0 -0
  797. /package/dist/atomic/{p-3e9db2b5.entry.js.map → p-088d634c.entry.js.map} +0 -0
  798. /package/dist/atomic/{p-4bdc6d5a.entry.js.map → p-0ee7cab8.entry.js.map} +0 -0
  799. /package/dist/atomic/{p-0f449e9d.entry.js.map → p-14bad769.entry.js.map} +0 -0
  800. /package/dist/atomic/{p-475124d2.entry.js.map → p-15547bd5.entry.js.map} +0 -0
  801. /package/dist/atomic/{p-8fdef8a3.entry.js.map → p-182f9112.entry.js.map} +0 -0
  802. /package/dist/atomic/{p-00069a4b.entry.js.map → p-1910eb7f.entry.js.map} +0 -0
  803. /package/dist/atomic/{p-85145c88.entry.js.map → p-1c8bcadf.entry.js.map} +0 -0
  804. /package/dist/atomic/{p-cafa4083.entry.js.map → p-21ab7750.entry.js.map} +0 -0
  805. /package/dist/atomic/{p-89d8bb0d.entry.js.map → p-22b76c96.entry.js.map} +0 -0
  806. /package/dist/atomic/{p-36f63642.entry.js.map → p-26e0c1f8.entry.js.map} +0 -0
  807. /package/dist/atomic/{p-577d34ba.entry.js.map → p-2e13e2c0.entry.js.map} +0 -0
  808. /package/dist/atomic/{p-6098b906.entry.js.map → p-2f437b47.entry.js.map} +0 -0
  809. /package/dist/atomic/{p-998393ec.entry.js.map → p-2f517a54.entry.js.map} +0 -0
  810. /package/dist/atomic/{p-06284430.entry.js.map → p-318c96f5.entry.js.map} +0 -0
  811. /package/dist/atomic/{p-60800b2f.entry.js.map → p-3272a04b.entry.js.map} +0 -0
  812. /package/dist/atomic/{p-a5714bc4.entry.js.map → p-3291adda.entry.js.map} +0 -0
  813. /package/dist/atomic/{p-dbc0ce5c.entry.js.map → p-33245038.entry.js.map} +0 -0
  814. /package/dist/atomic/{p-fa658ef2.entry.js.map → p-35c2ee5f.entry.js.map} +0 -0
  815. /package/dist/atomic/{p-4601eb93.entry.js.map → p-36ff2bc3.entry.js.map} +0 -0
  816. /package/dist/atomic/{p-7ec6dd3e.entry.js.map → p-3bd8469f.entry.js.map} +0 -0
  817. /package/dist/atomic/{p-5f706e3d.entry.js.map → p-400c28b6.entry.js.map} +0 -0
  818. /package/dist/atomic/{p-fafd5042.entry.js.map → p-448091f7.entry.js.map} +0 -0
  819. /package/dist/atomic/{p-fe3cd55b.entry.js.map → p-44d96103.entry.js.map} +0 -0
  820. /package/dist/atomic/{p-f9dd14b2.entry.js.map → p-479cb38a.entry.js.map} +0 -0
  821. /package/dist/atomic/{p-a9383817.entry.js.map → p-47b41b27.entry.js.map} +0 -0
  822. /package/dist/atomic/{p-97ce3384.entry.js.map → p-48bab1a6.entry.js.map} +0 -0
  823. /package/dist/atomic/{p-0c8e7d5f.entry.js.map → p-4cb91ee7.entry.js.map} +0 -0
  824. /package/dist/atomic/{p-23d4dc54.entry.js.map → p-558f2191.entry.js.map} +0 -0
  825. /package/dist/atomic/{p-2e4628bb.entry.js.map → p-57049cd2.entry.js.map} +0 -0
  826. /package/dist/atomic/{p-edd4d5f7.js.map → p-5a2ef889.js.map} +0 -0
  827. /package/dist/atomic/{p-9faad55b.entry.js.map → p-5a83b7e5.entry.js.map} +0 -0
  828. /package/dist/atomic/{p-10b5e0f3.entry.js.map → p-5b8cc4bc.entry.js.map} +0 -0
  829. /package/dist/atomic/{p-dbcef3a9.entry.js.map → p-5cab535b.entry.js.map} +0 -0
  830. /package/dist/atomic/{p-740cd5bc.entry.js.map → p-6439156c.entry.js.map} +0 -0
  831. /package/dist/atomic/{p-7e9a1a1a.entry.js.map → p-66166975.entry.js.map} +0 -0
  832. /package/dist/atomic/{p-97538903.entry.js.map → p-6698d5e9.entry.js.map} +0 -0
  833. /package/dist/atomic/{p-0610b3e7.entry.js.map → p-6819f12c.entry.js.map} +0 -0
  834. /package/dist/atomic/{p-28e882e8.js.map → p-6b3429d3.js.map} +0 -0
  835. /package/dist/atomic/{p-406a288c.entry.js.map → p-7045745d.entry.js.map} +0 -0
  836. /package/dist/atomic/{p-a130b00b.entry.js.map → p-70747efa.entry.js.map} +0 -0
  837. /package/dist/atomic/{p-4830b9bb.entry.js.map → p-7242b46e.entry.js.map} +0 -0
  838. /package/dist/atomic/{p-3af2fca0.js.map → p-7427daa3.js.map} +0 -0
  839. /package/dist/atomic/{p-b320f270.entry.js.map → p-76c14d82.entry.js.map} +0 -0
  840. /package/dist/atomic/{p-1435fb6f.entry.js.map → p-7741124a.entry.js.map} +0 -0
  841. /package/dist/atomic/{p-cdeb5f2a.entry.js.map → p-77d00da1.entry.js.map} +0 -0
  842. /package/dist/atomic/{p-f76b7ac3.entry.js.map → p-80290dd3.entry.js.map} +0 -0
  843. /package/dist/atomic/{p-0bdd730f.entry.js.map → p-81bdbd07.entry.js.map} +0 -0
  844. /package/dist/atomic/{p-723f76a1.entry.js.map → p-82cd6398.entry.js.map} +0 -0
  845. /package/dist/atomic/{p-fdcd187d.entry.js.map → p-851b9735.entry.js.map} +0 -0
  846. /package/dist/atomic/{p-88af4470.entry.js.map → p-874f0a4c.entry.js.map} +0 -0
  847. /package/dist/atomic/{p-d6e04719.entry.js.map → p-8b0cf1d4.entry.js.map} +0 -0
  848. /package/dist/atomic/{p-ee957926.entry.js.map → p-8d5228da.entry.js.map} +0 -0
  849. /package/dist/atomic/{p-c25f1437.entry.js.map → p-955092ed.entry.js.map} +0 -0
  850. /package/dist/atomic/{p-47ab6c9f.entry.js.map → p-99d4c4bf.entry.js.map} +0 -0
  851. /package/dist/atomic/{p-edede7d1.entry.js.map → p-9aad555a.entry.js.map} +0 -0
  852. /package/dist/atomic/{p-00a6ab8c.entry.js.map → p-a0ebbbdf.entry.js.map} +0 -0
  853. /package/dist/atomic/{p-a4d277c7.entry.js.map → p-a1798150.entry.js.map} +0 -0
  854. /package/dist/atomic/{p-6289adc7.entry.js.map → p-a54f3f24.entry.js.map} +0 -0
  855. /package/dist/atomic/{p-24fd7df6.entry.js.map → p-a6dde0f6.entry.js.map} +0 -0
  856. /package/dist/atomic/{p-0b5efb51.entry.js.map → p-a78cbb80.entry.js.map} +0 -0
  857. /package/dist/atomic/{p-59b15bd6.entry.js.map → p-ae69f519.entry.js.map} +0 -0
  858. /package/dist/atomic/{p-ed8e5c4d.entry.js.map → p-b06de6f8.entry.js.map} +0 -0
  859. /package/dist/atomic/{p-fdd0aa42.entry.js.map → p-b1b583a0.entry.js.map} +0 -0
  860. /package/dist/atomic/{p-3c9289b5.js.map → p-b29d121c.js.map} +0 -0
  861. /package/dist/atomic/{p-cb3fd0f4.entry.js.map → p-b84108f3.entry.js.map} +0 -0
  862. /package/dist/atomic/{p-fb1a1e2e.entry.js.map → p-b85c2c46.entry.js.map} +0 -0
  863. /package/dist/atomic/{p-f71b14b2.entry.js.map → p-b9eeac20.entry.js.map} +0 -0
  864. /package/dist/atomic/{p-e398835b.entry.js.map → p-bc43df67.entry.js.map} +0 -0
  865. /package/dist/atomic/{p-93601dc0.entry.js.map → p-bd01acd5.entry.js.map} +0 -0
  866. /package/dist/atomic/{p-416d088e.entry.js.map → p-be011bd1.entry.js.map} +0 -0
  867. /package/dist/atomic/{p-93f1d551.entry.js.map → p-c5164dbf.entry.js.map} +0 -0
  868. /package/dist/atomic/{p-3622ed6c.js.map → p-c619df9b.js.map} +0 -0
  869. /package/dist/atomic/{p-3857d6a3.entry.js.map → p-c8190eb9.entry.js.map} +0 -0
  870. /package/dist/atomic/{p-5ca21deb.js.map → p-ca37969c.js.map} +0 -0
  871. /package/dist/atomic/{p-7cced247.entry.js.map → p-d0ab0125.entry.js.map} +0 -0
  872. /package/dist/atomic/{p-16f6c1f3.entry.js.map → p-d8caa4d8.entry.js.map} +0 -0
  873. /package/dist/atomic/{p-250f34d4.entry.js.map → p-da87ef51.entry.js.map} +0 -0
  874. /package/dist/atomic/{p-367ec37d.entry.js.map → p-db2d92c5.entry.js.map} +0 -0
  875. /package/dist/atomic/{p-dbf0c5a3.entry.js.map → p-db3b11ca.entry.js.map} +0 -0
  876. /package/dist/atomic/{p-4723ffa5.entry.js.map → p-dd24c66a.entry.js.map} +0 -0
  877. /package/dist/atomic/{p-0f39889d.entry.js.map → p-dea22a8d.entry.js.map} +0 -0
  878. /package/dist/atomic/{p-3a7a1a00.entry.js.map → p-df8d38ca.entry.js.map} +0 -0
  879. /package/dist/atomic/{p-c280cd05.js.map → p-e1cc5150.js.map} +0 -0
  880. /package/dist/atomic/{p-f9608731.entry.js.map → p-e276c7e0.entry.js.map} +0 -0
  881. /package/dist/atomic/{p-ce5b896e.entry.js.map → p-e455330c.entry.js.map} +0 -0
  882. /package/dist/atomic/{p-59f043a0.entry.js.map → p-e49ad083.entry.js.map} +0 -0
  883. /package/dist/atomic/{p-30c09377.entry.js.map → p-e6871a3f.entry.js.map} +0 -0
  884. /package/dist/atomic/{p-c9f1790d.entry.js.map → p-e6dc9de7.entry.js.map} +0 -0
  885. /package/dist/atomic/{p-20764605.entry.js.map → p-ed413091.entry.js.map} +0 -0
  886. /package/dist/atomic/{p-13391e75.entry.js.map → p-f0c657f4.entry.js.map} +0 -0
  887. /package/dist/atomic/{p-f936f55e.entry.js.map → p-f1241140.entry.js.map} +0 -0
  888. /package/dist/atomic/{p-c2b4b401.entry.js.map → p-f4818e53.entry.js.map} +0 -0
  889. /package/dist/atomic/{p-dd35e7ad.entry.js.map → p-f65ca329.entry.js.map} +0 -0
  890. /package/dist/atomic/{p-93da1f4e.entry.js.map → p-f800678c.entry.js.map} +0 -0
  891. /package/dist/atomic/{p-d1795580.entry.js.map → p-fb517fba.entry.js.map} +0 -0
  892. /package/dist/atomic/{p-97829295.entry.js.map → p-fc71835d.entry.js.map} +0 -0
  893. /package/dist/atomic/{p-1db20a4a.entry.js.map → p-fd1ef9e3.entry.js.map} +0 -0
  894. /package/dist/types/components/common/atomic-layout-section/{sections.d.ts → atomic-layout-section-utils.d.ts} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-ipx-recs-list.js","mappings":"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","names":["buildRecsInteractiveResult"],"sources":["src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.pcss?tag=atomic-ipx-recs-list&encapsulation=shadow","src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/mixins.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n IPXActionsHistoryActionCreators,\n loadIPXActionsHistoryActions,\n} from '@coveo/headless';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n Result as RecsResult,\n buildInteractiveResult as buildRecsInteractiveResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n BindStateToController,\n} from '../../../../utils/initialization-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 {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\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 getItemListDisplayClasses,\n ItemDisplayBasicLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../../../common/layout/display-options';\nimport {Carousel} from '../../../common/stencil-carousel';\nimport {Heading} from '../../../common/stencil-heading';\nimport {RecsBindings} from '../../../recommendations/atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-ipx-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @internal\n */\n@Component({\n tag: 'atomic-ipx-recs-list',\n styleUrl: 'atomic-ipx-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicIPXRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private actionsHistoryActions?: IPXActionsHistoryActionCreators;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-ipx-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = '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 * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\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 /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-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.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.actionsHistoryActions = loadIPXActionsHistoryActions(\n this.bindings.engine\n );\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-ipx-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-ipx-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return !!this.numberOfRecommendationsPerPage;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private async onSelect(\n recommendation: RecsResult,\n originalSelect: () => void\n ) {\n if (recommendation.raw.permanentid && this.actionsHistoryActions) {\n const action =\n this.actionsHistoryActions.addPageViewEntryInActionsHistory(\n recommendation.raw.permanentid\n );\n this.bindings.engine.dispatch(action);\n }\n originalSelect();\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const interactiveResult = buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n });\n const originalSelect = interactiveResult.select;\n interactiveResult.select = () => {\n this.onSelect(recommendation, originalSelect);\n };\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult,\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-ipx-recs-list.js","mappings":"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","names":["buildRecsInteractiveResult"],"sources":["src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.pcss?tag=atomic-ipx-recs-list&encapsulation=shadow","src/components/ipx/atomic-ipx-recs-list/atomic-recs-list/atomic-ipx-recs-list.tsx"],"sourcesContent":["@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/mixins.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n\n:host {\n @apply atomic-grid-clickable-elements;\n @apply atomic-grid-display-common;\n display: block;\n\n /**\n * @prop --atomic-recs-number-of-columns: Number of columns for the recommendation list.\n */\n .list-root {\n @apply atomic-grid-with-cards;\n grid-template-columns: repeat(var(--atomic-recs-number-of-columns, 1), minmax(0, 1fr));\n }\n\n [part='label'] {\n @apply font-sans text-2xl font-bold;\n }\n\n atomic-result:not(.hydrated) {\n visibility: hidden;\n }\n}\n","import {NumberValue} from '@coveo/bueno';\nimport {\n IPXActionsHistoryActionCreators,\n loadIPXActionsHistoryActions,\n} from '@coveo/headless';\nimport {\n buildRecommendationList,\n RecommendationList,\n RecommendationListState,\n loadConfigurationActions,\n Result as RecsResult,\n buildInteractiveResult as buildRecsInteractiveResult,\n} from '@coveo/headless/recommendation';\nimport {\n Component,\n State,\n Element,\n Prop,\n Method,\n h,\n Fragment,\n Watch,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n BindStateToController,\n} from '../../../../utils/initialization-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 {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\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 getItemListDisplayClasses,\n ItemDisplayBasicLayout,\n ItemDisplayDensity,\n ItemDisplayImageSize,\n} from '../../../common/layout/display-options';\nimport {Carousel} from '../../../common/stencil-carousel';\nimport {Heading} from '../../../common/stencil-heading';\nimport {RecsBindings} from '../../../recommendations/atomic-recs-interface/atomic-recs-interface';\n\n/**\n * The `atomic-ipx-recs-list` component displays recommendations by applying one or more result templates.\n *\n * @part result-list - The element containing the list of results.\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it.\n * @part result-list-grid-clickable - The clickable link encompassing the result.\n * @part label - The label of the result list.\n * @part previous-button - The previous button.\n * @part next-button - The next button.\n * @part indicators - The list of indicators.\n * @part indicator - A single indicator.\n * @part active-indicator - The active indicator.\n * @internal\n */\n@Component({\n tag: 'atomic-ipx-recs-list',\n styleUrl: 'atomic-ipx-recs-list.pcss',\n shadow: true,\n})\nexport class AtomicIPXRecsList implements InitializableComponent<RecsBindings> {\n @InitializeBindings() public bindings!: RecsBindings;\n public recommendationList!: RecommendationList;\n private loadingFlag = randomID('firstRecommendationLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private itemTemplateProvider!: ItemTemplateProvider;\n private nextNewResultTarget?: FocusTargetController;\n private itemListCommon!: ItemListCommon;\n private actionsHistoryActions?: IPXActionsHistoryActionCreators;\n\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n @State() private resultTemplateRegistered = false;\n @State() private templateHasError = false;\n @State() private currentPage = 0;\n @BindStateToController('recommendationList')\n @State()\n public recommendationListState!: RecommendationListState;\n\n /**\n * The Recommendation identifier used by the Coveo platform to retrieve recommended documents.\n * Make sure to set a different value for each atomic-ipx-recs-list in your page.\n */\n @Prop({reflect: true}) public recommendation = 'Recommendation';\n\n /**\n * The layout to apply when displaying results themselves. This does not affect the display of the surrounding list itself.\n * To modify the number of recommendations per column, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public display: ItemDisplayBasicLayout = '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 * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true})\n public imageSize: ItemDisplayImageSize = 'small';\n\n /**\n * The total number of recommendations to display.\n * This does not modify the number of recommendations per column. To do so, modify the --atomic-recs-number-of-columns CSS variable.\n */\n @Prop({reflect: true}) public numberOfRecommendations = 10;\n\n /**\n * The number of recommendations to display, per page.\n * Setting a value greater than and lower than the numberOfRecommendations value activates the carousel.\n * This does not affect the display of the list itself, only the number of recommendation pages.\n */\n @Prop({reflect: true}) public numberOfRecommendationsPerPage?: number;\n\n /**\n * The non-localized label for the list of recommendations.\n */\n @Prop({reflect: true}) public label?: string;\n\n /**\n * The [heading level](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/Heading_Elements) to use for the heading label, from 1 to 6.\n */\n @Prop({reflect: true}) public headingLevel = 0;\n\n @Watch('numberOfRecommendationsPerPage')\n public async watchNumberOfRecommendationsPerPage() {\n this.currentPage = 0;\n }\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 /**\n * Moves to the previous page, when the carousel is activated.\n */\n @Method() public async previousPage() {\n this.currentPage =\n this.currentPage - 1 < 0 ? this.numberOfPages - 1 : this.currentPage - 1;\n }\n\n /**\n * Moves to the next page, when the carousel is activated.\n */\n @Method() public async nextPage() {\n this.currentPage = (this.currentPage + 1) % this.numberOfPages;\n }\n\n public initialize() {\n this.validateNumberOfRecommendationsPerPage();\n this.validateRecommendationIdentifier();\n this.updateOriginLevel2();\n this.recommendationList = buildRecommendationList(this.bindings.engine, {\n options: {\n id: this.recommendation,\n numberOfRecommendations: this.numberOfRecommendations,\n },\n });\n\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-recs-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.itemListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () =>\n this.recommendationListState.recommendations.length,\n getIsLoading: () => this.recommendationListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n this.actionsHistoryActions = loadIPXActionsHistoryActions(\n this.bindings.engine\n );\n\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n private get recommendationListStateWithAugment() {\n return {\n ...this.recommendationListState,\n firstRequestExecuted:\n this.recommendationListState.searchResponseId !== '',\n hasError: this.recommendationListState.error !== null,\n hasItems: this.recommendationListState.recommendations.length !== 0,\n results: this.subsetRecommendations,\n };\n }\n\n private validateNumberOfRecommendationsPerPage() {\n const msg = new NumberValue({\n min: 1,\n max: this.numberOfRecommendations - 1,\n }).validate(this.numberOfRecommendationsPerPage!);\n\n if (msg) {\n this.error = new Error(\n `The \"numberOfRecommendationsPerPage\" is invalid: ${msg}`\n );\n }\n }\n\n private validateRecommendationIdentifier() {\n const recListWithRecommendation = document.querySelectorAll(\n `atomic-ipx-recs-list[recommendation=\"${this.recommendation}\"]`\n );\n\n if (recListWithRecommendation.length > 1) {\n this.bindings.engine.logger.warn(\n `There are multiple atomic-ipx-recs-list in this page with the same recommendation property \"${this.recommendation}\". Make sure to set a different recommendation property for each.`\n );\n }\n }\n\n private updateOriginLevel2() {\n if (this.label) {\n const action = loadConfigurationActions(\n this.bindings.engine\n ).setOriginLevel2({\n originLevel2: this.label,\n });\n\n this.bindings.engine.dispatch(action);\n }\n }\n\n private renderHeading() {\n if (!this.label) {\n return;\n }\n\n if (this.recommendationListStateWithAugment.hasError) {\n return;\n }\n\n if (\n this.recommendationListStateWithAugment.firstRequestExecuted &&\n !this.recommendationListStateWithAugment.hasItems\n ) {\n return;\n }\n\n return (\n <Heading level={this.headingLevel} part=\"label\" class=\"m-0 mb-2\">\n {this.bindings.i18n.t(this.label)}\n </Heading>\n );\n }\n\n private get currentIndex() {\n return Math.abs(\n (this.currentPage * this.numberOfRecommendationsPerPage!) %\n this.recommendationListState.recommendations.length\n );\n }\n\n private get subsetRecommendations() {\n if (!this.numberOfRecommendationsPerPage) {\n return this.recommendationListState.recommendations;\n }\n\n return this.recommendationListState.recommendations.slice(\n this.currentIndex,\n this.currentIndex + this.numberOfRecommendationsPerPage\n );\n }\n\n private get numberOfPages() {\n return Math.ceil(\n this.recommendationListState.recommendations.length /\n this.numberOfRecommendationsPerPage!\n );\n }\n\n private get hasPagination() {\n return !!this.numberOfRecommendationsPerPage;\n }\n\n private get shouldRenderPagination() {\n return (\n this.hasPagination && this.recommendationListStateWithAugment.hasItems\n );\n }\n\n private async onSelect(\n recommendation: RecsResult,\n originalSelect: () => void\n ) {\n if (recommendation.raw.permanentid && this.actionsHistoryActions) {\n const action =\n this.actionsHistoryActions.addPageViewEntryInActionsHistory(\n recommendation.raw.permanentid\n );\n this.bindings.engine.dispatch(action);\n }\n originalSelect();\n }\n\n private getPropsForAtomicRecsResult(recommendation: RecsResult) {\n const interactiveResult = buildRecsInteractiveResult(this.bindings.engine, {\n options: {result: recommendation},\n });\n const originalSelect = interactiveResult.select;\n interactiveResult.select = () => {\n this.onSelect(recommendation, originalSelect);\n };\n const linkContent =\n this.itemTemplateProvider.getLinkTemplateContent(recommendation);\n\n return {\n interactiveResult,\n result: recommendation,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.itemListCommon.getResultId(\n recommendation.uniqueId,\n this.recommendationListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(recommendation),\n linkContent,\n stopPropagation: !!linkContent,\n store: this.bindings.store,\n density: this.density,\n display: this.display,\n imageSize: this.imageSize,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n 'grid',\n this.density,\n this.imageSize,\n this.recommendationListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid(recommendation: RecsResult, i: number) {\n const propsForAtomicRecsResult =\n this.getPropsForAtomicRecsResult(recommendation);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-recs-result\"\n item={recommendation}\n {...propsForAtomicRecsResult.interactiveResult}\n setRef={(element) =>\n element && this.itemListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-recs-result {...propsForAtomicRecsResult}></atomic-recs-result>\n </DisplayGrid>\n );\n }\n\n private renderListOfRecommendations() {\n this.itemListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n if (\n !this.resultTemplateRegistered ||\n this.itemTemplateProvider.hasError ||\n this.error\n ) {\n return;\n }\n\n return (\n <DisplayWrapper listClasses={listClasses} display=\"grid\">\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={\n this.numberOfRecommendationsPerPage ?? this.numberOfRecommendations\n }\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard {...this.recommendationListStateWithAugment}>\n {this.subsetRecommendations.map((recommendation, i) => {\n return this.renderAsGrid(recommendation, i);\n })}\n </ItemDisplayGuard>\n </DisplayWrapper>\n );\n }\n\n public render() {\n return (\n <Fragment>\n {this.renderHeading()}\n {this.shouldRenderPagination ? (\n <Carousel\n bindings={this.bindings}\n currentPage={this.currentPage}\n nextPage={() => this.nextPage()}\n previousPage={() => this.previousPage()}\n numberOfPages={this.numberOfPages}\n >\n {this.renderListOfRecommendations()}\n </Carousel>\n ) : (\n this.renderListOfRecommendations()\n )}\n </Fragment>\n );\n }\n}\n"],"version":3}
@@ -60,7 +60,7 @@ const AtomicIPXRefineModal = /*@__PURE__*/ proxyCustomElement(class AtomicIPXRef
60
60
  return (h("aside", { slot: "body", class: "flex flex-col w-full" }, this.renderHeader(), h("slot", { name: "facets" })));
61
61
  }
62
62
  render() {
63
- return (h(Host, { key: 'e72781b5144f680168456af7a72f181968b9778f' }, h(RefineModal, { key: '69a418fe8ace95e0206be773f27d90d4ab563d60', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
63
+ return (h(Host, { key: 'b36869cd6325b8d37f27466f00cce57d5a3b9a53' }, h(RefineModal, { key: '961860ae6f488cf787643da0de37c33c13b8d041', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
64
64
  }
65
65
  componentDidLoad() {
66
66
  this.host.style.display = '';
@@ -61,7 +61,7 @@ const AtomicIPXRefineToggle = /*@__PURE__*/ proxyCustomElement(class AtomicIPXRe
61
61
  this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;
62
62
  }
63
63
  render() {
64
- return (h(IconButton, { key: '9147bac854255feb759b7b7e002e2e199f724ea6', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
64
+ return (h(IconButton, { key: '49bf2364b70408d4a04fdea40d9f2bcc09930c66', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
65
65
  this.bindings.store.waitUntilAppLoaded(() => {
66
66
  this.enableModal();
67
67
  });
@@ -53,7 +53,7 @@ const AtomicIPXResultLink = /*@__PURE__*/ proxyCustomElement(class AtomicIPXResu
53
53
  const href = isUndefined(this.hrefTemplate)
54
54
  ? this.result.clickUri
55
55
  : buildStringTemplateFromResult(this.hrefTemplate, this.result, this.bindings);
56
- return (h(LinkWithItemAnalytics, { key: 'b1fe73ffc76cf7543f40a400d5e7ae17b01141a8', href: href, onSelect: () => this.onSelect(), 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" }))));
56
+ return (h(LinkWithItemAnalytics, { key: 'f5c87e8855c2f386d5ddcca2d8fa7e543d5f3ac8', href: href, onSelect: () => this.onSelect(), 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" }))));
57
57
  }
58
58
  get host() { return this; }
59
59
  static get style() { return AtomicIpxResultLinkStyle0; }
@@ -20,7 +20,7 @@ const AtomicIPXTabs = /*@__PURE__*/ proxyCustomElement(class AtomicIPXTabs exten
20
20
  this.error = undefined;
21
21
  }
22
22
  render() {
23
- return (h("atomic-tab-bar", { key: '213ba4db0fe06cda854967aec377453090fda5c2' }, h("slot", { key: '957788c0b75593ae52fd3a730ae18ae3abe2f87e' })));
23
+ return (h("atomic-tab-bar", { key: '6da0ae81aecfa30d2e5d878e91aa659e0a32c83b' }, h("slot", { key: 'cbcdba0a0d69a39a8321f8779af3a6192be37fab' })));
24
24
  }
25
25
  }, [4, "atomic-ipx-tabs", {
26
26
  "error": [32]
@@ -7,4 +7,4 @@ function sectionSelector(section) {
7
7
 
8
8
  export { findSection as f, sectionSelector as s };
9
9
 
10
- //# sourceMappingURL=sections.js.map
10
+ //# sourceMappingURL=atomic-layout-section-utils.js.map
@@ -0,0 +1 @@
1
+ {"file":"atomic-layout-section-utils.js","mappings":"SAYgB,WAAW,CAAC,OAAoB,EAAE,OAAgB;IAChE,OAAO,OAAO,CAAC,aAAa,CAC1B,eAAe,CAAC,OAAO,CAAC,CACK,CAAC;AAClC,CAAC;SAEe,eAAe,CAAC,OAAgB;IAC9C,OAAO,kCAAkC,OAAO,IAAI,CAAC;AACvD;;;;","names":[],"sources":["src/components/common/atomic-layout-section/atomic-layout-section-utils.ts"],"sourcesContent":["import type {AtomicLayoutSection} from './atomic-layout-section';\n\nexport type Section =\n | 'search'\n | 'facets'\n | 'main'\n | 'status'\n | 'results'\n | 'horizontal-facets'\n | 'products'\n | 'pagination';\n\nexport function findSection(element: HTMLElement, section: Section) {\n return element.querySelector(\n sectionSelector(section)\n ) as AtomicLayoutSection | null;\n}\n\nexport function sectionSelector(section: Section) {\n return `atomic-layout-section[section=\"${section}\"]`;\n}\n"],"version":3}
@@ -90,7 +90,7 @@ const AtomicLoadMoreResults$1 = /*@__PURE__*/ proxyCustomElement(class AtomicLoa
90
90
  render() {
91
91
  const { lastResult: from, total: to } = this.querySummaryState;
92
92
  const { i18n } = this.bindings;
93
- return (h(LoadMoreGuard, { key: '4fe15341de8a0a1f93ceeddc90405b6a8fe03c09', hasResults: this.querySummaryState.hasResults, isLoaded: this.isAppLoaded }, h(LoadMoreContainer, { key: '0d0e5f28c687d5a0f9c730a8cc19ac67de19945f' }, h(LoadMoreSummary, { key: '587be2ebaef15a36ad8da1082defa1342b22acf9', from: from, to: to, i18n: i18n }), h(LoadMoreProgressBar, { key: '37e321328867badc762a9701a2700803dfa118e5', from: from, to: to }), h(LoadMoreButton, { key: 'ff8640f0efdc363da5c885581a451cad24dc9718', i18n: i18n, moreAvailable: this.resultListState.moreResultsAvailable, onClick: () => this.onClick() }))));
93
+ return (h(LoadMoreGuard, { key: 'c95b368a20c157d3ecee6879e672743cc5b371fd', hasResults: this.querySummaryState.hasResults, isLoaded: this.isAppLoaded }, h(LoadMoreContainer, { key: 'fb39bdb1c098bbce29fee054dcb44577f72a3842' }, h(LoadMoreSummary, { key: '41f37a24be9b0fcc585c6056d1d23906df27ed2a', from: from, to: to, i18n: i18n }), h(LoadMoreProgressBar, { key: '1ec8f1c67702d118cb21ac6039233ab65cefb186', from: from, to: to }), h(LoadMoreButton, { key: '32ba7d3fc11cb451d2337bd8733f5cd48b1a820b', i18n: i18n, moreAvailable: this.resultListState.moreResultsAvailable, onClick: () => this.onClick() }))));
94
94
  }
95
95
  static get style() { return AtomicLoadMoreResultsStyle0; }
96
96
  }, [1, "atomic-load-more-results", {
@@ -59,7 +59,7 @@ const AtomicNoResults$1 = /*@__PURE__*/ proxyCustomElement(class AtomicNoResults
59
59
  render() {
60
60
  const { bindings: { i18n }, } = this;
61
61
  this.ariaMessage = getSummary(i18n, this.querySummaryState.query, this.searchStatusState.hasResults, 'no-results');
62
- return (h(NoItemsGuard, { key: '8bfbd5035a7dcef8269190bbd2d92699f60b40d2', ...this.searchStatusState }, h(NoItemsContainer, { key: '2883ffa2e8624b86ead143a49ec11a4e678f980f' }, h(MagnifyingGlass, { key: '3eadd782f16c9749a429dea559aad60ce4d083af' }), h(NoItems, { key: '89791b3595dff280aea99783c1c5d965e66b43fb', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: '5724380ed5d9eb13e4e7eac36752e14f1207fc24', i18n: i18n }), this.enableCancelLastAction && this.historyState.past.length ? (h(Cancel, { i18n: i18n, onClick: () => this.history.backOnNoResults() })) : null)));
62
+ return (h(NoItemsGuard, { key: '77f1caa3284fac2d3e88f3c5cc12c63eeb6b57b3', ...this.searchStatusState }, h(NoItemsContainer, { key: 'c74c5adb3225bb52786ed8edc19b33a53c6729a2' }, h(MagnifyingGlass, { key: '851e131eb8e4a780b2c54b7c346e2e09ec342498' }), h(NoItems, { key: '3c96b1350045fcfcb7ee87b6d94a26b38d2882fc', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: 'f8e80dca7cd85ac86ec8484952c0e482456b11f8', i18n: i18n }), this.enableCancelLastAction && this.historyState.past.length ? (h(Cancel, { i18n: i18n, onClick: () => this.history.backOnNoResults() })) : null)));
63
63
  }
64
64
  static get style() { return AtomicNoResultsStyle0; }
65
65
  }, [1, "atomic-no-results", {
@@ -289,7 +289,7 @@ const AtomicNumericFacet$1 = /*@__PURE__*/ proxyCustomElement(class AtomicNumeri
289
289
  }
290
290
  render() {
291
291
  const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, } = this;
292
- return (h(FacetGuard, { key: '95f72de0f0123a8c7f6dca33540552016b17fa80', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: this.label, onClearFilters: () => {
292
+ return (h(FacetGuard, { key: 'eb900c42db80de1434426353d6c42d1e49a45b13', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: this.label, onClearFilters: () => {
293
293
  this.focusTarget.focusAfterSearch();
294
294
  if (this.filterState?.range) {
295
295
  this.filter?.clear();
@@ -37,7 +37,7 @@ const AtomicQueryError$1 = /*@__PURE__*/ proxyCustomElement(class AtomicQueryErr
37
37
  if (hasError) {
38
38
  this.ariaMessage = getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
39
39
  }
40
- return (h(QueryErrorGuard, { key: '7ef7df7b13ffb36716015ddcd559a725772905a0', hasError: hasError }, h(QueryErrorContainer, { key: 'de8c0f4c161db29b3b8f410863ea44c7ae16a5b8' }, h(QueryErrorIcon, { key: '1c5270d79647902695223f305f2774580cc6c7b9', errorType: error?.type }), h(QueryErrorTitle, { key: '71cf91d37e4eb1a27ad511f9bd9d6a42058af304', errorType: error?.type, i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: 'd1dc91dcddcb595f530aad1a2bd802cd062deb1c', i18n: i18n, organizationId: organizationId, url: url, errorType: error?.type }), h(QueryErrorShowMore, { key: 'aaf95d510291dd3043da8f4f9a9b22f2bff5fcf8', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: 'ccb1b03edbe743197d239ac365ae0423f103adb0', error: error, show: this.showMoreInfo }))));
40
+ return (h(QueryErrorGuard, { key: '8ac665b8c34b828d4cef96de75d27a1704f90ecb', hasError: hasError }, h(QueryErrorContainer, { key: '352d3e9f6eadb976e1e9327728a30e45396bfcae' }, h(QueryErrorIcon, { key: '862a74b0dd75a37bf877488692f2fd5b708ccb43', errorType: error?.type }), h(QueryErrorTitle, { key: '8a0ba289fbbaf7d8fc0552717ed4548bb00bf080', errorType: error?.type, i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: '56b10f43c4710ca608a9ce9d09c970f7f8ffd5eb', i18n: i18n, organizationId: organizationId, url: url, errorType: error?.type }), h(QueryErrorShowMore, { key: 'b12726ce1711d9b65d9554022691e6e101878735', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: '47a5f956a7bd331066fbbaa60375c85ea424de19', error: error, show: this.showMoreInfo }))));
41
41
  }
42
42
  static get style() { return AtomicQueryErrorStyle0; }
43
43
  }, [1, "atomic-query-error", {
@@ -135,6 +135,28 @@ const QuickviewIframe = ({ title, onSetIframeRef, uniqueIdentifier, content, san
135
135
  } }));
136
136
  };
137
137
 
138
+ const buildQuickviewPreviewBar = (words, highlightKeywords, iframe) => {
139
+ if (!iframe) {
140
+ return;
141
+ }
142
+ const documentWriter = iframe.contentDocument;
143
+ if (!documentWriter) {
144
+ return;
145
+ }
146
+ const bar = buildPreviewBar(documentWriter);
147
+ if (highlightKeywords.highlightNone) {
148
+ bar.remove();
149
+ return;
150
+ }
151
+ const docHeight = documentWriter.body.scrollHeight;
152
+ Object.values(words).forEach((word) => {
153
+ word.elements.forEach((wordElement) => {
154
+ const previewUnit = buildPreviewUnit(documentWriter, word, wordElement, docHeight, highlightKeywords);
155
+ bar.appendChild(previewUnit);
156
+ });
157
+ });
158
+ documentWriter.body.appendChild(bar);
159
+ };
138
160
  const buildPreviewBar = (documentWriter) => {
139
161
  const previewBarId = 'CoveoPreviewBar';
140
162
  const bar = documentWriter.getElementById(previewBarId) ||
@@ -164,28 +186,6 @@ const buildPreviewUnit = (documentWriter, word, wordElement, docHeight, highligh
164
186
  previewUnit.style.backgroundColor = word.color;
165
187
  return previewUnit;
166
188
  };
167
- const buildQuickviewPreviewBar = (words, highlightKeywords, iframe) => {
168
- if (!iframe) {
169
- return;
170
- }
171
- const documentWriter = iframe.contentDocument;
172
- if (!documentWriter) {
173
- return;
174
- }
175
- const bar = buildPreviewBar(documentWriter);
176
- if (highlightKeywords.highlightNone) {
177
- bar.remove();
178
- return;
179
- }
180
- const docHeight = documentWriter.body.scrollHeight;
181
- Object.values(words).forEach((word) => {
182
- word.elements.forEach((wordElement) => {
183
- const previewUnit = buildPreviewUnit(documentWriter, word, wordElement, docHeight, highlightKeywords);
184
- bar.appendChild(previewUnit);
185
- });
186
- });
187
- documentWriter.body.appendChild(bar);
188
- };
189
189
 
190
190
  const rgbToHsv = (r, g, b) => {
191
191
  const max = Math.max(r, g, b);
@@ -582,7 +582,7 @@ const AtomicQuickviewModal = /*@__PURE__*/ proxyCustomElement(class AtomicQuickv
582
582
  });
583
583
  }
584
584
  render() {
585
- return (h("atomic-modal", { key: '84b950ecdc79dd6a1b53d3af44c62219740bc572', fullscreen: this.bindings.store.isMobile(), class: 'atomic-quickview-modal', isOpen: this.isOpen, close: () => this.onClose(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
585
+ return (h("atomic-modal", { key: '112196e88d5418e6a08eee196c96f674f22c0bb4', fullscreen: this.bindings.store.isMobile(), class: 'atomic-quickview-modal', isOpen: this.isOpen, close: () => this.onClose(), exportparts: ATOMIC_MODAL_EXPORT_PARTS }, this.renderHeader(), this.renderBody(), this.renderFooter()));
586
586
  }
587
587
  static get watchers() { return {
588
588
  "highlightKeywords": ["watchHighlightKeywords"]
@@ -1 +1 @@
1
- {"file":"atomic-quickview-modal2.js","mappings":"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","names":["ArrowDown"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.tsx","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\nexport interface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n\nconst MinimizeButton: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'minimized' | 'onMinimize' | 'highlightKeywords'\n > & {wordsLength: number}\n> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n\nconst HighlightKeywordsCheckbox: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'highlightKeywords' | 'onHighlightKeywords' | 'minimized'\n >\n> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => (\n <Fragment>\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>\n {!minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n )}\n </Fragment>\n);\n\nconst Keywords: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'onHighlightKeywords' | 'highlightKeywords'\n > & {\n words: Record<string, QuickviewWordHighlight>;\n }\n> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n const docHeight = documentWriter.body.scrollHeight;\n\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n documentWriter.body.appendChild(bar);\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {TermsToHighlight} from '@coveo/headless';\nimport {hsvToRgb, rgbToHsv} from '../../../../utils/color-utils';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\nexport class QuickviewWordHighlight {\n public text: string;\n public indexIdentifier: string;\n public occurrences = 0;\n public color: string;\n public focusedColor: string;\n public previewBorderColor: string;\n public elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n keywordElementInIframe: HTMLElement\n ) {\n const parsed = this.parseKeywordIdentifier(keywordElementInIframe);\n if (!parsed) {\n throw 'Invalid keyword identifier for quickview';\n }\n\n this.text = this.getText(keywordElementInIframe);\n this.indexIdentifier = `${parsed.keywordIdentifier}`;\n this.color = keywordElementInIframe.style.backgroundColor;\n this.focusedColor = this.computeInvertedColor();\n this.previewBorderColor = this.computeSaturatedColor();\n\n this.addElement(keywordElementInIframe);\n }\n\n public addElement(keywordElementInIframe: HTMLElement) {\n this.occurrences++;\n this.elements.push(keywordElementInIframe);\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n\n private getText(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private parseKeywordIdentifier(element: HTMLElement) {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return {\n keywordIdentifier: parts[1],\n keywordTermPart: parseInt(parts[3], 10),\n };\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private computeInvertedColor() {\n const {r, g, b} = this.extractRgb();\n return `rgb(${255 - r}, ${255 - g}, ${255 - b})`;\n }\n\n private computeSaturatedColor() {\n const {r, g, b} = this.extractRgb();\n const {h, s, v} = rgbToHsv(r, g, b);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {\n r: rSaturated,\n g: gSaturated,\n b: bSaturated,\n } = hsvToRgb(h, newSaturation, v);\n return `rgb(${rSaturated}, ${gSaturated}, ${bSaturated})`;\n }\n\n private extractRgb() {\n const rgbExtracted = this.color.match(/\\d+/g);\n if (!rgbExtracted) {\n return {r: 255, g: 255, b: 255};\n }\n\n return {\n r: parseInt(rgbExtracted[0], 10),\n g: parseInt(rgbExtracted[1], 10),\n b: parseInt(rgbExtracted[2], 10),\n };\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n if (!iframe) {\n return wordsHighlights;\n }\n\n iframe.contentDocument?.body\n .querySelectorAll(`[id^=\"${HIGHLIGHT_PREFIX}\"]`)\n .forEach((el) => {\n const wordHTMLElementToHighlight = el as HTMLElement;\n\n const wordHighlight = new QuickviewWordHighlight(\n stemmingInfoFromIndex,\n wordHTMLElementToHighlight\n );\n\n if (!wordHighlight.text) {\n return;\n }\n\n const alreadyScannedKeyword =\n wordsHighlights[wordHighlight.indexIdentifier];\n\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(wordHTMLElementToHighlight);\n } else {\n wordsHighlights[wordHighlight.indexIdentifier] = wordHighlight;\n }\n });\n\n return wordsHighlights;\n};\n","@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking on a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-quickview-modal2.js","mappings":"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","names":["ArrowDown"],"sources":["src/components/search/result-template-components/atomic-quickview-sidebar/atomic-quickview-sidebar.tsx","src/components/search/result-template-components/quickview-iframe/quickview-iframe.tsx","src/components/search/result-template-components/quickview-preview-bar/quickview-preview-bar.ts","src/utils/color-utils.ts","src/components/search/result-template-components/quickview-word-highlight/quickview-word-highlight.tsx","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.pcss?tag=atomic-quickview-modal&encapsulation=shadow","src/components/search/result-template-components/atomic-quickview-modal/atomic-quickview-modal.tsx"],"sourcesContent":["import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport Add from '../../../../images/add.svg';\nimport ArrowDown from '../../../../images/arrow-bottom-rounded.svg';\nimport ArrowUp from '../../../../images/arrow-top-rounded.svg';\nimport MinimizeIcon from '../../../../images/menu.svg';\nimport Remove from '../../../../images/remove.svg';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {StencilCheckbox} from '../../../common/stencil-checkbox';\nimport {FieldsetGroup} from '../../../common/stencil-fieldset-group';\nimport type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nconst identifierKeywordsSection = 'coveo-quickview-sidebar-keywords';\n\nexport interface QuickviewSidebarProps {\n words: Record<string, QuickviewWordHighlight>;\n i18n: i18n;\n highlightKeywords: HighlightKeywords;\n onHighlightKeywords: (highlight: HighlightKeywords) => void;\n minimized: boolean;\n onMinimize: (minimize: boolean) => void;\n}\n\nexport const QuickviewSidebar: FunctionalComponent<QuickviewSidebarProps> = (\n props\n) => {\n const {words, minimized} = props;\n const numberOfWords = Object.values(words).length;\n\n if (numberOfWords === 0) {\n return;\n }\n\n const minimizeButton = (\n <MinimizeButton {...props} wordsLength={numberOfWords} />\n );\n\n return (\n <div class=\"border-neutral h-full border-r p-4\">\n {minimized && minimizeButton}\n <div class=\"flex items-center justify-between\">\n <div class=\"flex items-center\">\n <HighlightKeywordsCheckbox {...props} />\n </div>\n {!minimized && <div>{minimizeButton}</div>}\n </div>\n\n {!minimized && <Keywords {...props} words={words} />}\n </div>\n );\n};\n\nconst MinimizeButton: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'minimized' | 'onMinimize' | 'highlightKeywords'\n > & {wordsLength: number}\n> = ({i18n, minimized, onMinimize, highlightKeywords, wordsLength}) => (\n <IconButton\n partPrefix=\"sidebar-minimize\"\n icon={MinimizeIcon}\n style=\"text-transparent\"\n title={i18n.t('quickview-toggle-navigation')}\n ariaLabel={i18n.t('quickview-toggle-navigation')}\n onClick={() => onMinimize(!minimized)}\n badge={\n highlightKeywords && minimized ? <slot>{wordsLength}</slot> : undefined\n }\n class={`w-fit ${minimized ? '' : 'ml-auto'}`}\n ariaExpanded={(!minimized).toString()}\n ariaControls={identifierKeywordsSection}\n />\n);\n\nconst HighlightKeywordsCheckbox: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'highlightKeywords' | 'onHighlightKeywords' | 'minimized'\n >\n> = ({i18n, highlightKeywords, onHighlightKeywords, minimized}) => (\n <Fragment>\n <StencilCheckbox\n text={i18n.t('keywords-highlight')}\n class=\"mr-2\"\n id=\"atomic-quickview-sidebar-highlight-keywords\"\n checked={!highlightKeywords.highlightNone}\n onToggle={(checked) =>\n onHighlightKeywords({\n ...highlightKeywords,\n highlightNone: !checked,\n })\n }\n ></StencilCheckbox>\n {!minimized && (\n <label\n class=\"cursor-pointer font-bold whitespace-nowrap\"\n htmlFor=\"atomic-quickview-sidebar-highlight-keywords\"\n >\n {i18n.t('keywords-highlight')}\n </label>\n )}\n </Fragment>\n);\n\nconst Keywords: FunctionalComponent<\n Pick<\n QuickviewSidebarProps,\n 'i18n' | 'onHighlightKeywords' | 'highlightKeywords'\n > & {\n words: Record<string, QuickviewWordHighlight>;\n }\n> = ({words, i18n, highlightKeywords, onHighlightKeywords}) => {\n return (\n <div id={identifierKeywordsSection}>\n {Object.values(words).map((keyword) => {\n const wordIsEnabled =\n !highlightKeywords.highlightNone &&\n (highlightKeywords.keywords[keyword.text] === undefined ||\n highlightKeywords.keywords[keyword.text].enabled === true);\n\n return (\n <div\n key={keyword.text}\n class=\"my-4 flex w-100 items-center justify-between gap-x-2\"\n >\n <div\n class={`bg-background border-neutral flex grow items-center overflow-x-auto rounded-lg border ${\n !wordIsEnabled ? 'pointer-events-none opacity-50' : ''\n }`}\n >\n <div\n class=\"flex grow items-center border-r p-4\"\n aria-hidden=\"true\"\n >\n <div\n class=\"mr-2 h-5 w-5 flex-none\"\n style={{backgroundColor: keyword.color}}\n ></div>\n <div class=\"mr-2 grow whitespace-nowrap\">{keyword.text}</div>\n <div class=\"flex-none\">\n (\n {new Intl.NumberFormat(i18n.language, {\n notation: 'compact',\n }).format(keyword.occurrences)}\n )\n </div>\n </div>\n <FieldsetGroup\n label={i18n.t('quickview-navigate-keywords', {\n occurrences: keyword.occurrences,\n keyword: keyword.text,\n })}\n >\n <div class=\"flex px-2\">\n <IconButton\n partPrefix=\"sidebar-next\"\n icon={ArrowDown}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('next')}\n title={i18n.t('next')}\n onClick={() => keyword.navigateForward()}\n />\n <IconButton\n partPrefix=\"sidebar-previous\"\n icon={ArrowUp}\n disabled={!wordIsEnabled}\n style=\"text-transparent\"\n class=\"border-0\"\n ariaLabel={i18n.t('previous')}\n title={i18n.t('previous')}\n onClick={() => keyword.navigateBackward()}\n />\n </div>\n </FieldsetGroup>\n </div>\n <IconButton\n partPrefix=\"sidebar-remove-word\"\n class={`${\n highlightKeywords.highlightNone\n ? 'pointer-events-none opacity-50'\n : ''\n }`}\n tabIndex={highlightKeywords.highlightNone ? '-1' : '0'}\n ariaPressed={(!wordIsEnabled).toString()}\n style=\"text-transparent\"\n icon={wordIsEnabled ? Remove : Add}\n ariaLabel={i18n.t('quickview-remove-word')}\n onClick={() => {\n onHighlightKeywords({\n ...highlightKeywords,\n keywords: {\n ...highlightKeywords.keywords,\n [keyword.text]: {\n enabled: !wordIsEnabled,\n indexIdentifier: keyword.indexIdentifier,\n },\n },\n });\n }}\n />\n </div>\n );\n })}\n </div>\n );\n};\n","import {SearchEngine} from '@coveo/headless';\nimport {FunctionalComponent, h} from '@stencil/core';\n\nconst documentIdentifierInIframe = 'CoveoDocIdentifier';\n\nconst writeDocument = (documentWriter: Document, content: string) => {\n documentWriter.open();\n documentWriter.write(content);\n documentWriter.close();\n if (documentWriter.scrollingElement) {\n documentWriter.scrollingElement.scrollTop = 0;\n }\n};\n\nconst currentResultAlreadyWrittenToDocument = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const currentDocIdentifier = documentWriter.getElementById(\n documentIdentifierInIframe\n );\n\n return (\n currentDocIdentifier &&\n currentDocIdentifier.textContent === uniqueIdentifier\n );\n};\n\nconst ensureSameResultIsNotOverwritten = (\n documentWriter: Document,\n uniqueIdentifier: string\n) => {\n const docIdentifier = documentWriter.createElement('div');\n docIdentifier.style.display = 'none';\n docIdentifier.setAttribute('aria-hidden', 'true');\n docIdentifier.id = documentIdentifierInIframe;\n docIdentifier.textContent = uniqueIdentifier;\n documentWriter.body.appendChild(docIdentifier);\n};\n\nconst warnAboutLimitedUsageQuickview = (logger?: SearchEngine['logger']) => {\n logger?.warn(\n 'Quickview initialized in restricted mode due to incompatible sandboxing environment. Keywords hit navigation will be disabled.'\n );\n};\n\nexport const QuickviewIframe: FunctionalComponent<{\n title: string;\n content?: string;\n onSetIframeRef: (ref: HTMLIFrameElement) => void;\n uniqueIdentifier?: string;\n sandbox?: string;\n src?: string;\n logger?: SearchEngine['logger'];\n}> = ({title, onSetIframeRef, uniqueIdentifier, content, sandbox, src, logger}) => {\n // When a document is written with document.open/document.write/document.close\n // it is not synchronous and the content of the iframe is only available to be queried at the end of the current call stack.\n // This add a \"wait\" (setTimeout 0) before calling the `onSetIframeRef` from the parent modal quickview\n const waitForIframeContentToBeWritten = () => {\n return new Promise((resolve) => setTimeout(resolve));\n };\n\n return (\n <iframe\n title={title}\n src=\"about:blank\"\n class=\"h-full w-full\"\n sandbox={sandbox}\n ref={async (el) => {\n const iframeRef = el as HTMLIFrameElement;\n\n if (!uniqueIdentifier || !content) {\n return;\n }\n\n const documentWriter = iframeRef.contentDocument;\n if (!documentWriter) {\n if (src) {\n warnAboutLimitedUsageQuickview(logger);\n iframeRef.src = src;\n }\n\n return;\n }\n if (\n currentResultAlreadyWrittenToDocument(\n documentWriter,\n uniqueIdentifier\n )\n ) {\n return;\n }\n\n writeDocument(documentWriter, content);\n ensureSameResultIsNotOverwritten(documentWriter, uniqueIdentifier);\n\n await waitForIframeContentToBeWritten();\n onSetIframeRef(iframeRef);\n }}\n ></iframe>\n );\n};\n","import type {HighlightKeywords} from '../atomic-quickview-modal/atomic-quickview-modal';\nimport type {QuickviewWordHighlight} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport const buildQuickviewPreviewBar = (\n words: Record<string, QuickviewWordHighlight>,\n highlightKeywords: HighlightKeywords,\n iframe?: HTMLIFrameElement\n) => {\n if (!iframe) {\n return;\n }\n\n const documentWriter = iframe.contentDocument;\n if (!documentWriter) {\n return;\n }\n\n const bar = buildPreviewBar(documentWriter);\n if (highlightKeywords.highlightNone) {\n bar.remove();\n return;\n }\n\n const docHeight = documentWriter.body.scrollHeight;\n Object.values(words).forEach((word) => {\n word.elements.forEach((wordElement) => {\n const previewUnit = buildPreviewUnit(\n documentWriter,\n word,\n wordElement,\n docHeight,\n highlightKeywords\n );\n\n bar.appendChild(previewUnit);\n });\n });\n\n documentWriter.body.appendChild(bar);\n};\n\nconst buildPreviewBar = (documentWriter: Document) => {\n const previewBarId = 'CoveoPreviewBar';\n const bar =\n documentWriter.getElementById(previewBarId) ||\n documentWriter.createElement('div');\n\n bar.id = previewBarId;\n bar.innerHTML = '';\n bar.style.position = 'fixed';\n bar.style.top = '0';\n bar.style.right = '0';\n bar.style.width = '15px';\n bar.style.height = '100%';\n bar.setAttribute('aria-hidden', 'true');\n return bar;\n};\n\nconst buildPreviewUnit = (\n documentWriter: Document,\n word: QuickviewWordHighlight,\n wordElement: HTMLElement,\n docHeight: number,\n highlightKeywords: HighlightKeywords\n) => {\n const previewUnit = documentWriter.createElement('div');\n if (highlightKeywords.keywords[word.text]?.enabled === false) {\n previewUnit.style.display = 'none';\n return previewUnit;\n }\n\n const elementPosition = wordElement.getBoundingClientRect().top;\n\n previewUnit.style.position = 'absolute';\n previewUnit.style.top = `${(elementPosition / docHeight) * 100}%`;\n previewUnit.style.width = '100%';\n previewUnit.style.height = '1px';\n previewUnit.style.border = `1px solid ${word.previewBorderColor}`;\n previewUnit.style.backgroundColor = word.color;\n return previewUnit;\n};\n","export const rgbToHsv = (r: number, g: number, b: number) => {\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n\n let h: number;\n const v = max;\n\n const d = max - min;\n const s = max === 0 ? 0 : d / max;\n\n if (max === min) {\n h = 0;\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n default:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n\n return {h, s, v};\n};\n\nexport const hsvToRgb = (h: number, s: number, v: number) => {\n let r: number, g: number, b: number;\n\n const i = Math.floor(h * 6);\n const f = h * 6 - i;\n const p = v * (1 - s);\n const q = v * (1 - f * s);\n const t = v * (1 - (1 - f) * s);\n\n switch (i % 6) {\n case 0:\n r = v;\n g = t;\n b = p;\n break;\n case 1:\n r = q;\n g = v;\n b = p;\n break;\n case 2:\n r = p;\n g = v;\n b = t;\n break;\n case 3:\n r = p;\n g = q;\n b = v;\n break;\n case 4:\n r = t;\n g = p;\n b = v;\n break;\n default:\n r = v;\n g = p;\n b = q;\n break;\n }\n\n return {\n r: Math.round(r),\n g: Math.round(g),\n b: Math.round(b),\n };\n};\n","import {TermsToHighlight} from '@coveo/headless';\nimport {hsvToRgb, rgbToHsv} from '../../../../utils/color-utils';\n\nexport const HIGHLIGHT_PREFIX = 'CoveoHighlight';\nexport class QuickviewWordHighlight {\n public text: string;\n public indexIdentifier: string;\n public occurrences = 0;\n public color: string;\n public focusedColor: string;\n public previewBorderColor: string;\n public elements: HTMLElement[] = [];\n\n private currentNavigationPosition = -1;\n\n constructor(\n private stemmingInfoFromIndex: TermsToHighlight,\n keywordElementInIframe: HTMLElement\n ) {\n const parsed = this.parseKeywordIdentifier(keywordElementInIframe);\n if (!parsed) {\n throw 'Invalid keyword identifier for quickview';\n }\n\n this.text = this.getText(keywordElementInIframe);\n this.indexIdentifier = `${parsed.keywordIdentifier}`;\n this.color = keywordElementInIframe.style.backgroundColor;\n this.focusedColor = this.computeInvertedColor();\n this.previewBorderColor = this.computeSaturatedColor();\n\n this.addElement(keywordElementInIframe);\n }\n\n public addElement(keywordElementInIframe: HTMLElement) {\n this.occurrences++;\n this.elements.push(keywordElementInIframe);\n }\n\n public navigateForward() {\n this.currentNavigationPosition++;\n if (this.currentNavigationPosition >= this.elements.length) {\n this.currentNavigationPosition = 0;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n public navigateBackward() {\n this.currentNavigationPosition--;\n if (this.currentNavigationPosition < 0) {\n this.currentNavigationPosition = this.elements.length - 1;\n }\n this.highlightNavigation();\n this.putElementIntoView();\n return this.elements[this.currentNavigationPosition];\n }\n\n private isTaggedWord(element: HTMLElement) {\n return element.nodeName.toLowerCase() === 'coveotaggedword';\n }\n\n private highlightNavigation() {\n const currentElement = this.elements[this.currentNavigationPosition];\n const otherElements = this.elements.filter((el) => el !== currentElement);\n currentElement.style.color = this.color;\n currentElement.style.backgroundColor = this.focusedColor;\n otherElements.forEach((element) => {\n element.style.color = '';\n element.style.backgroundColor = this.color;\n });\n }\n\n private putElementIntoView() {\n const element = this.elements[this.currentNavigationPosition];\n element.scrollIntoView();\n }\n\n private getText(element: HTMLElement) {\n const innerTextOfHTMLElement = this.getHighlightedInnerText(element);\n return this.resolveOriginalTerm(innerTextOfHTMLElement).trim();\n }\n\n private resolveOriginalTerm(highlight: string): string {\n // First try to find either an exact match between the highlight and the original non-stemmed keyword.\n // Otherwise try to find a match between the highlight and the stemming keyword expansions\n // If nothing is found (which should not normally happen...), simply return the highlight keyword as is.\n\n const found = Object.keys(this.stemmingInfoFromIndex).find(\n (originalTerm) => {\n const originalTermMatch =\n originalTerm.toLowerCase() === highlight.toLowerCase();\n if (originalTermMatch) {\n return true;\n }\n const stemmingExpansions = this.stemmingInfoFromIndex[originalTerm];\n if (!stemmingExpansions) {\n return false;\n }\n\n const stemmingExpansionMatch = stemmingExpansions.find(\n (stemmingExpansion) =>\n stemmingExpansion.toLowerCase() === highlight.toLowerCase()\n );\n return stemmingExpansionMatch;\n }\n );\n return found || highlight;\n }\n\n private getHighlightedInnerText(element: HTMLElement): string {\n if (!this.isTaggedWord(element)) {\n return this.getTextOfHTMLElement(element);\n }\n\n const children = Array.from(element.children) as HTMLElement[];\n if (children.length >= 1) {\n return this.getTextOfHTMLElement(children[0]);\n }\n\n return '';\n }\n\n private parseKeywordIdentifier(element: HTMLElement) {\n const parts = element.id\n .substring(HIGHLIGHT_PREFIX.length + 1)\n .match(/^([0-9]+)\\.([0-9]+)\\.([0-9]+)$/);\n\n if (!parts || parts.length <= 3) {\n return null;\n }\n\n return {\n keywordIdentifier: parts[1],\n keywordTermPart: parseInt(parts[3], 10),\n };\n }\n\n private getTextOfHTMLElement(el: HTMLElement) {\n return el.innerText || el.textContent || '';\n }\n\n private computeInvertedColor() {\n const {r, g, b} = this.extractRgb();\n return `rgb(${255 - r}, ${255 - g}, ${255 - b})`;\n }\n\n private computeSaturatedColor() {\n const {r, g, b} = this.extractRgb();\n const {h, s, v} = rgbToHsv(r, g, b);\n let newSaturation = s * 2;\n if (newSaturation > 1) {\n newSaturation = 1;\n }\n const {\n r: rSaturated,\n g: gSaturated,\n b: bSaturated,\n } = hsvToRgb(h, newSaturation, v);\n return `rgb(${rSaturated}, ${gSaturated}, ${bSaturated})`;\n }\n\n private extractRgb() {\n const rgbExtracted = this.color.match(/\\d+/g);\n if (!rgbExtracted) {\n return {r: 255, g: 255, b: 255};\n }\n\n return {\n r: parseInt(rgbExtracted[0], 10),\n g: parseInt(rgbExtracted[1], 10),\n b: parseInt(rgbExtracted[2], 10),\n };\n }\n}\n\nexport const getWordsHighlights = (\n stemmingInfoFromIndex: TermsToHighlight,\n iframe?: HTMLIFrameElement\n) => {\n const wordsHighlights: Record<string, QuickviewWordHighlight> = {};\n if (!iframe) {\n return wordsHighlights;\n }\n\n iframe.contentDocument?.body\n .querySelectorAll(`[id^=\"${HIGHLIGHT_PREFIX}\"]`)\n .forEach((el) => {\n const wordHTMLElementToHighlight = el as HTMLElement;\n\n const wordHighlight = new QuickviewWordHighlight(\n stemmingInfoFromIndex,\n wordHTMLElementToHighlight\n );\n\n if (!wordHighlight.text) {\n return;\n }\n\n const alreadyScannedKeyword =\n wordsHighlights[wordHighlight.indexIdentifier];\n\n if (alreadyScannedKeyword) {\n alreadyScannedKeyword.addElement(wordHTMLElementToHighlight);\n } else {\n wordsHighlights[wordHighlight.indexIdentifier] = wordHighlight;\n }\n });\n\n return wordsHighlights;\n};\n","@import '../../../../global/global.pcss';\n@reference '../../../../utils/tailwind-utilities/link-style.css';\n\n.atomic-quickview-modal {\n &::part(backdrop) {\n grid-template-columns: 1fr max(80vw, 30rem) 1fr;\n }\n &::part(body),\n &::part(header),\n &::part(footer) {\n @apply max-w-full;\n }\n\n &::part(footer) {\n @apply flex justify-center;\n }\n\n &::part(body-wrapper) {\n @apply h-full overflow-hidden p-0;\n }\n\n &::part(body) {\n @apply h-full;\n }\n\n &::part(backdrop) {\n grid-template-rows: 1fr 100% 3fr;\n }\n\n &::part(header-wrapper) {\n @apply bg-neutral-light;\n }\n\n a {\n @apply link-style;\n }\n}\n","import {\n buildInteractiveResult,\n Result,\n InteractiveResult,\n TermsToHighlight,\n} from '@coveo/headless';\nimport {\n Component,\n Event,\n EventEmitter,\n h,\n Prop,\n State,\n Watch,\n Method,\n VNode,\n Fragment,\n} from '@stencil/core';\nimport CloseIcon from '../../../../images/close.svg';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ATOMIC_MODAL_EXPORT_PARTS} from '../../../common/atomic-modal/export-parts';\nimport {IconButton} from '../../../common/stencil-iconButton';\nimport {LinkWithItemAnalytics} from '../../../common/item-link/stencil-item-link';\nimport {Button} from '../../../common/stencil-button';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {QuickviewSidebar} from '../atomic-quickview-sidebar/atomic-quickview-sidebar';\nimport {QuickviewIframe} from '../quickview-iframe/quickview-iframe';\nimport {buildQuickviewPreviewBar} from '../quickview-preview-bar/quickview-preview-bar';\nimport {\n getWordsHighlights,\n HIGHLIGHT_PREFIX,\n QuickviewWordHighlight,\n} from '../quickview-word-highlight/quickview-word-highlight';\n\nexport interface HighlightKeywords {\n highlightNone: boolean;\n keywords: {\n [text: string]: {\n indexIdentifier: string;\n enabled: boolean;\n };\n };\n}\n\n/**\n * The modal opened when clicking on a quickview button.\n * Do not use this component directly; use `atomic-quickview` instead.\n *\n * @part backdrop - The transparent backdrop hiding the content behind the modal.\n * @part container - The modal's outermost container with the outline and background.\n * @part header-wrapper - The wrapper around the header.\n * @part header - The header at the top of the modal.\n * @part header-ruler - The horizontal ruler underneath the header.\n * @part body-wrapper - The wrapper around the body.\n * @part body - The body of the modal, between the header and the footer.\n * @part footer-wrapper - The wrapper with a shadow or background color around the footer.\n * @part footer - The footer at the bottom of the modal.\n * @part quickview-modal-header-icon - The close icon of the modal.\n * @part quickview-modal-header-title - The title of the modal.\n */\n@Component({\n tag: 'atomic-quickview-modal',\n styleUrl: 'atomic-quickview-modal.pcss',\n shadow: true,\n})\nexport class AtomicQuickviewModal implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @State() public error!: Error;\n\n @State() private highlightKeywords: HighlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n @Watch('highlightKeywords')\n watchHighlightKeywords() {\n this.handleHighlightsScripts();\n }\n\n @Event({eventName: 'atomic/quickview/next'}) nextQuickview?: EventEmitter;\n @Event({eventName: 'atomic/quickview/previous'})\n previousQuickview?: EventEmitter;\n\n @State() private minimizeSidebar = false;\n @State() private words: Record<string, QuickviewWordHighlight> = {};\n private iframeRef?: HTMLIFrameElement;\n\n @Prop({mutable: true, reflect: false}) content?: string;\n @Prop({mutable: true, reflect: false}) result?: Result;\n @Prop() current?: number;\n @Prop() total?: number;\n @Prop() sandbox?: string;\n @Prop() modalCloseCallback?: () => void;\n\n private interactiveResult?: InteractiveResult;\n\n public componentWillLoad(): void {\n this.minimizeSidebar = this.bindings.store.isMobile();\n }\n\n @Method()\n public async reset() {\n this.highlightKeywords = {\n highlightNone: false,\n keywords: {},\n };\n this.minimizeSidebar = false;\n this.iframeRef = undefined;\n this.content = undefined;\n this.result = undefined;\n this.interactiveResult = undefined;\n }\n\n private renderHeader() {\n let headerContent: VNode | null = null;\n if (this.result) {\n this.interactiveResult = buildInteractiveResult(this.bindings.engine, {\n options: {result: this.result},\n });\n headerContent = (\n <Fragment>\n <LinkWithItemAnalytics\n href={this.result?.clickUri}\n onSelect={() => this.interactiveResult?.select()}\n onBeginDelayedSelect={() =>\n this.interactiveResult?.beginDelayedSelect()\n }\n onCancelPendingSelect={() =>\n this.interactiveResult?.cancelPendingSelect()\n }\n className=\"truncate\"\n part=\"quickview-modal-header-title\"\n >\n {this.result.title}\n </LinkWithItemAnalytics>\n <IconButton\n partPrefix=\"quickview-modal-header\"\n icon={CloseIcon}\n onClick={() => this.onClose()}\n ariaLabel={this.bindings.i18n.t('close')}\n style=\"text-transparent\"\n title={this.bindings.i18n.t('close')}\n />\n </Fragment>\n );\n }\n return (\n <div slot=\"header\" class=\"flex w-full items-center justify-between\">\n {headerContent}\n </div>\n );\n }\n\n private renderBody() {\n return (\n <div slot=\"body\" class=\"grid h-full grid-cols-[min-content_auto]\">\n <div\n class=\"h-full overflow-y-auto\"\n style={{backgroundColor: 'var(--atomic-neutral-light)'}}\n >\n <QuickviewSidebar\n words={this.words}\n i18n={this.bindings.i18n}\n highlightKeywords={this.highlightKeywords}\n onHighlightKeywords={(highlight) =>\n (this.highlightKeywords = highlight)\n }\n minimized={this.minimizeSidebar}\n onMinimize={(minimize) => (this.minimizeSidebar = minimize)}\n />\n </div>\n <div class=\"relative overflow-auto\">\n <QuickviewIframe\n title={this.result?.title ?? this.bindings.i18n.t('preview-modal-title')} \n logger={this.logger}\n src={this.quickviewSrc}\n sandbox={this.sandbox}\n uniqueIdentifier={this.quickviewUniqueIdentifier}\n content={this.content}\n onSetIframeRef={async (ref) => {\n this.iframeRef = ref;\n this.words = getWordsHighlights(\n this.termsToHighlight,\n this.iframeRef\n );\n this.handleHighlightsScripts();\n }}\n />\n {buildQuickviewPreviewBar(\n this.words,\n this.highlightKeywords,\n this.iframeRef\n )}\n </div>\n </div>\n );\n }\n\n private renderFooter() {\n return (\n <div slot=\"footer\" class=\"flex items-center gap-2\">\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.previousQuickview?.emit()}\n disabled={this.current === 1}\n text={this.bindings.i18n.t('quickview-previous')}\n ></Button>\n <p class=\"text-center\">\n {this.bindings.i18n.t('showing-results-of', {\n first: this.current,\n total: this.total,\n })}\n </p>\n <Button\n class=\"p-2\"\n style=\"square-neutral\"\n onClick={() => this.nextQuickview?.emit()}\n disabled={this.current === this.total}\n text={this.bindings.i18n.t('quickview-next')}\n ></Button>\n </div>\n );\n }\n\n private onClose() {\n this.content = undefined;\n this.result = undefined;\n this.modalCloseCallback && this.modalCloseCallback();\n }\n\n private get isOpen() {\n return !!this.content && !!this.result;\n }\n\n private get highlightScriptId() {\n return 'CoveoDisableHighlightStyle';\n }\n\n private get logger() {\n return this.bindings.engine.logger;\n }\n\n private get quickviewSrc() {\n return this.bindings.engine.state.resultPreview?.contentURL;\n }\n\n private enableHighlights() {\n this.removeDisableHighlightScript();\n }\n\n private enableHighlightsSpecificKeyword(identifier: string) {\n this.removeDisableHighlightScript(identifier);\n }\n\n private disableHighlights() {\n this.createDisableHighlightScript();\n }\n\n private disableHighlightsSpecificKeyword(identifier: string) {\n this.createDisableHighlightScript(identifier);\n }\n\n private removeDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n doc\n .getElementById(\n `${this.highlightScriptId}${identifier ? `:${identifier}` : ''}`\n )\n ?.remove();\n }\n\n private createDisableHighlightScript(identifier?: string) {\n const doc = this.iframeRef?.contentWindow?.document;\n if (!doc) {\n return;\n }\n\n const head = doc.head;\n const scriptId = `${this.highlightScriptId}${\n identifier ? `:${identifier}` : ''\n }`;\n const style =\n doc.getElementById(scriptId) || this.bindings.createStyleElement();\n style.setAttribute('id', scriptId);\n head.appendChild(style);\n style.appendChild(\n doc.createTextNode(`[id^=\"${HIGHLIGHT_PREFIX}${\n identifier ? `:${identifier}` : ''\n }\"] {\n background-color: inherit !important;\n color: inherit !important;\n }`)\n );\n }\n\n private get termsToHighlight() {\n const flatPhrasesToHighlight: TermsToHighlight = {};\n\n const phrasesToHighlight =\n this.bindings.engine.state.search.response.phrasesToHighlight;\n\n Object.entries(phrasesToHighlight).forEach(([phrase, keywords]) => {\n flatPhrasesToHighlight[phrase] = Object.entries(keywords).flatMap(\n ([keywordEntry, keywordStemming]) => {\n return [keywordEntry, ...keywordStemming];\n }\n );\n });\n\n return {\n ...this.bindings.engine.state.search.response.termsToHighlight,\n ...flatPhrasesToHighlight,\n };\n }\n\n private get requestId() {\n return this.bindings.engine.state.search.requestId;\n }\n\n private get quickviewUniqueIdentifier() {\n return this.result?.uniqueId + this.requestId;\n }\n\n private handleHighlightsScripts() {\n if (!this.highlightKeywords.highlightNone) {\n this.enableHighlights();\n } else {\n this.disableHighlights();\n }\n Object.values(this.highlightKeywords.keywords).forEach((word) => {\n if (word.enabled) {\n this.enableHighlightsSpecificKeyword(word.indexIdentifier);\n } else {\n this.disableHighlightsSpecificKeyword(word.indexIdentifier);\n }\n });\n }\n\n public render() {\n return (\n <atomic-modal\n fullscreen={this.bindings.store.isMobile()}\n class={'atomic-quickview-modal'}\n isOpen={this.isOpen}\n close={() => this.onClose()}\n exportparts={ATOMIC_MODAL_EXPORT_PARTS}\n >\n {this.renderHeader()}\n {this.renderBody()}\n {this.renderFooter()}\n </atomic-modal>\n );\n }\n}\n"],"version":3}
@@ -106,7 +106,7 @@ const AtomicQuickview$1 = /*@__PURE__*/ proxyCustomElement(class AtomicQuickview
106
106
  }
107
107
  render() {
108
108
  if (this.quickviewState.resultHasPreview) {
109
- return (h(Button, { key: '4e34bfe78864244b13813fb9113b90d2a7658506', part: "button", title: this.bindings.i18n.t('quickview'), style: "outline-primary", class: "p-2", onClick: (event) => this.onClick(event), ref: this.focusTarget.setTarget }, h("atomic-icon", { key: '2d96d58b8e4b63f21bf8f40c2a5383d7711fa59f', part: "icon", class: "flex w-5 justify-center", icon: QuickviewIcon })));
109
+ return (h(Button, { key: '298e249e3c98adc8856881a76d19bd5667d432a0', part: "button", title: this.bindings.i18n.t('quickview'), style: "outline-primary", class: "p-2", onClick: (event) => this.onClick(event), ref: this.focusTarget.setTarget }, h("atomic-icon", { key: 'f752f36ac2f621624147c3130e5c48e182509373', part: "icon", class: "flex w-5 justify-center", icon: QuickviewIcon })));
110
110
  }
111
111
  }
112
112
  static get style() { return AtomicQuickviewStyle0; }
@@ -39,7 +39,7 @@ const AtomicRecsError$1 = /*@__PURE__*/ proxyCustomElement(class AtomicRecsError
39
39
  if (hasError) {
40
40
  this.ariaMessage = getAriaMessageFromErrorType(i18n, organizationId, url, error?.type);
41
41
  }
42
- return (h(QueryErrorGuard, { key: '2760d893ecf538f37d122fafbfa671c2b10a85c8', hasError: hasError }, h(QueryErrorContainer, { key: 'c3eadee3f7192156db1872b65890d870e86ca3f2' }, h(QueryErrorIcon, { key: '67e18a9ad80f3ccb36ca99a43c35e03d6a72eb17', errorType: error?.type }), h(QueryErrorTitle, { key: '87820a49d69e3634a55832a49d50240d0b9a0a8f', i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: '36b829a79672ac0128eb4fb0e80561fc45e2492f', i18n: i18n, organizationId: organizationId, url: url }), h(QueryErrorShowMore, { key: '2f27dc91389efc6c43933f03962558c74a386ce0', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: 'e2838213df178140d3620532ee8e0f1311abe393', error: error, show: this.showMoreInfo }))));
42
+ return (h(QueryErrorGuard, { key: '073fcb64764e2179f896cb467cfffc319fd3bbd7', hasError: hasError }, h(QueryErrorContainer, { key: 'd91c03ecf4f48d74270826b07e46087d29050694' }, h(QueryErrorIcon, { key: '64db84d2f5fd84e9c9af7af38bcf28a632e60027', errorType: error?.type }), h(QueryErrorTitle, { key: 'acbc71d45c1a2e00bc3d54ce1898bda12401afd2', i18n: i18n, organizationId: organizationId }), h(QueryErrorDescription, { key: '94f2f4a31302cf0cdba8d0d871c5a091ced74e37', i18n: i18n, organizationId: organizationId, url: url }), h(QueryErrorShowMore, { key: '23fdf175fa6b74e761137ca48318f1809c6f4718', link: h(QueryErrorLink, { i18n: i18n, errorType: error?.type }), onShowMore: () => (this.showMoreInfo = !this.showMoreInfo), i18n: i18n }), h(QueryErrorDetails, { key: 'c0b7286f911666ae1a82967379897f11b51da85e', error: error, show: this.showMoreInfo }))));
43
43
  }
44
44
  static get style() { return AtomicRecsErrorStyle0; }
45
45
  }, [1, "atomic-recs-error", {