@coveo/atomic 3.35.0-pre.946549b45a → 3.35.0-pre.960ef5c28d

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 (671) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/components/atomic-category-facet.js +17 -7
  3. package/dist/atomic/components/atomic-category-facet.js.map +1 -1
  4. package/dist/atomic/components/atomic-external.js +0 -1
  5. package/dist/atomic/components/atomic-external.js.map +1 -1
  6. package/dist/atomic/components/atomic-field-condition.js +1 -1
  7. package/dist/atomic/components/atomic-field-condition.js.map +1 -1
  8. package/dist/atomic/components/atomic-insight-result-children-template.js +1 -1
  9. package/dist/atomic/components/atomic-insight-result-children-template.js.map +1 -1
  10. package/dist/atomic/components/atomic-insight-result-template.js +1 -1
  11. package/dist/atomic/components/atomic-insight-result-template.js.map +1 -1
  12. package/dist/atomic/components/atomic-recs-interface.js +1 -1
  13. package/dist/atomic/components/atomic-recs-result-template.js +1 -1
  14. package/dist/atomic/components/atomic-recs-result-template.js.map +1 -1
  15. package/dist/atomic/components/atomic-result-children-template.js +1 -1
  16. package/dist/atomic/components/atomic-result-children-template.js.map +1 -1
  17. package/dist/atomic/components/atomic-result-list.js.map +1 -1
  18. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  19. package/dist/atomic/components/atomic-result-table-placeholder2.js.map +1 -1
  20. package/dist/atomic/components/atomic-result-template.js +1 -1
  21. package/dist/atomic/components/atomic-result-template.js.map +1 -1
  22. package/dist/atomic/components/components/commerce/atomic-commerce-category-facet/atomic-commerce-category-facet.js +3 -0
  23. package/dist/atomic/components/components/commerce/atomic-commerce-facet-number-input/atomic-commerce-facet-number-input.js +0 -1
  24. package/dist/atomic/components/components/commerce/atomic-product-field-condition/atomic-product-field-condition.js +3 -4
  25. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +3 -4
  26. package/dist/atomic/components/components/common/facets/category-facet/all-categories-button.js +3 -2
  27. package/dist/atomic/components/components/common/facets/category-facet/all-categories-localized-label.js +9 -0
  28. package/dist/atomic/components/components/common/facets/category-facet/search-value.js +6 -1
  29. package/dist/atomic/components/components/common/item-list/table-layout.js +1 -1
  30. package/dist/atomic/components/components/common/{template-controller/template-utils.js → product-template/product-template-common.js} +12 -11
  31. package/dist/atomic/components/components/common/product-template/product-template-controller.js +81 -10
  32. package/dist/atomic/components/dom-utils.js +0 -2
  33. package/dist/atomic/components/dom-utils.js.map +1 -1
  34. package/dist/atomic/components/global/environment.js +1 -1
  35. package/dist/atomic/components/{stencil-result-template-common.js → result-template-common.js} +1 -1
  36. package/dist/atomic/components/result-template-common.js.map +1 -0
  37. package/dist/atomic/components/table-element-utils.js.map +1 -1
  38. package/dist/atomic/components/utils/dom-utils.js +0 -5
  39. package/dist/atomic/index.esm.js +1 -1
  40. package/dist/atomic/index.esm.js.map +1 -1
  41. package/dist/atomic/{p-64bf37c9.entry.js → p-0035e3da.entry.js} +2 -2
  42. package/dist/atomic/p-01eda62a.entry.js +2 -0
  43. package/dist/atomic/{p-601b8ab7.entry.js.map → p-01eda62a.entry.js.map} +1 -1
  44. package/dist/atomic/p-025a346a.js +1 -1
  45. package/dist/atomic/{p-b3fb5a74.entry.js → p-02f2ac0b.entry.js} +2 -2
  46. package/dist/atomic/{p-0de79f5f.entry.js → p-066df32a.entry.js} +2 -2
  47. package/dist/atomic/{p-e40cac9e.entry.js → p-06bc57be.entry.js} +2 -2
  48. package/dist/atomic/p-0714b56d.entry.js +2 -0
  49. package/dist/atomic/{p-4219863f.entry.js.map → p-0714b56d.entry.js.map} +1 -1
  50. package/dist/atomic/{p-060e1a2c.entry.js → p-104d7a84.entry.js} +2 -2
  51. package/dist/atomic/p-1936bfc8.entry.js +2 -0
  52. package/dist/atomic/{p-e2d99a33.entry.js.map → p-1936bfc8.entry.js.map} +1 -1
  53. package/dist/atomic/{p-d537096a.js → p-1fca38e1.js} +2 -2
  54. package/dist/atomic/{p-f7c3528f.entry.js → p-2033533c.entry.js} +2 -2
  55. package/dist/atomic/{p-070acab5.entry.js → p-25ee4bab.entry.js} +2 -2
  56. package/dist/atomic/{p-6a3efd75.entry.js.map → p-25ee4bab.entry.js.map} +1 -1
  57. package/dist/atomic/p-268ce7ca.entry.js +2 -0
  58. package/dist/atomic/{p-a715255f.entry.js.map → p-268ce7ca.entry.js.map} +1 -1
  59. package/dist/atomic/{p-9c104243.entry.js → p-27746cac.entry.js} +2 -2
  60. package/dist/atomic/{p-484df738.entry.js → p-2eac7c46.entry.js} +2 -2
  61. package/dist/atomic/{p-55eae6bc.entry.js → p-3282ccf8.entry.js} +2 -2
  62. package/dist/atomic/{p-5c12aebe.entry.js → p-33b3b967.entry.js} +2 -2
  63. package/dist/atomic/{p-12636f55.entry.js → p-36270a85.entry.js} +2 -2
  64. package/dist/atomic/{p-1fe5514d.entry.js → p-37182242.entry.js} +2 -2
  65. package/dist/atomic/{p-7c5c836e.entry.js → p-3becda0c.entry.js} +2 -2
  66. package/dist/atomic/{p-201b58b3.js → p-3dc06261.js} +2 -2
  67. package/dist/atomic/p-3ec45f9c.entry.js +2 -0
  68. package/dist/atomic/{p-419de484.entry.js.map → p-3ec45f9c.entry.js.map} +1 -1
  69. package/dist/atomic/p-3f3f6b14.entry.js +2 -0
  70. package/dist/atomic/{p-de4dfbec.entry.js.map → p-3f3f6b14.entry.js.map} +1 -1
  71. package/dist/atomic/{p-3b52e039.js → p-4080f740.js} +2 -2
  72. package/dist/atomic/{p-2eb2676d.entry.js → p-4206b797.entry.js} +2 -2
  73. package/dist/atomic/{p-084e4c5c.entry.js → p-458697db.entry.js} +2 -2
  74. package/dist/atomic/p-47002021.entry.js +2 -0
  75. package/dist/atomic/{p-e4f7e454.entry.js.map → p-47002021.entry.js.map} +1 -1
  76. package/dist/atomic/{p-de7950d9.entry.js → p-4778132c.entry.js} +2 -2
  77. package/dist/atomic/{p-e0d8e122.entry.js → p-4ba1eb36.entry.js} +2 -2
  78. package/dist/atomic/p-4ba1eb36.entry.js.map +1 -0
  79. package/dist/atomic/{p-ef9257fa.entry.js → p-4bc0dc09.entry.js} +2 -2
  80. package/dist/atomic/p-4cf97b0a.entry.js +2 -0
  81. package/dist/atomic/{p-3e81928e.entry.js.map → p-4cf97b0a.entry.js.map} +1 -1
  82. package/dist/atomic/{p-f959d5a1.entry.js → p-530396d4.entry.js} +2 -2
  83. package/dist/atomic/{p-078926b2.entry.js → p-582ce205.entry.js} +2 -2
  84. package/dist/atomic/p-5a9460ab.entry.js +2 -0
  85. package/dist/atomic/{p-1e01224b.entry.js.map → p-5a9460ab.entry.js.map} +1 -1
  86. package/dist/atomic/p-5e5599f3.js +1 -1
  87. package/dist/atomic/{p-851709f5.entry.js → p-5eaee0be.entry.js} +2 -2
  88. package/dist/atomic/p-609d0550.entry.js +2 -0
  89. package/dist/atomic/{p-ddfcae3b.entry.js.map → p-609d0550.entry.js.map} +1 -1
  90. package/dist/atomic/{p-63423f6b.entry.js → p-6489c611.entry.js} +2 -2
  91. package/dist/atomic/{p-f7b70070.entry.js → p-66beb63a.entry.js} +2 -2
  92. package/dist/atomic/{p-070acab5.entry.js.map → p-66beb63a.entry.js.map} +1 -1
  93. package/dist/atomic/{p-e0c9ddd5.entry.js → p-67f62282.entry.js} +2 -2
  94. package/dist/atomic/p-690cb10f.entry.js +2 -0
  95. package/dist/atomic/{p-d5421c6b.entry.js.map → p-690cb10f.entry.js.map} +1 -1
  96. package/dist/atomic/p-6a3b139f.entry.js +2 -0
  97. package/dist/atomic/{p-7f137439.entry.js.map → p-6a3b139f.entry.js.map} +1 -1
  98. package/dist/atomic/{p-54235369.entry.js → p-6ca16a70.entry.js} +2 -2
  99. package/dist/atomic/p-6d0e9fad.entry.js +2 -0
  100. package/dist/atomic/{p-30c064ed.entry.js.map → p-6d0e9fad.entry.js.map} +1 -1
  101. package/dist/atomic/{p-edb34365.entry.js → p-6da5e67e.entry.js} +2 -2
  102. package/dist/atomic/p-6f93d6d6.entry.js +2 -0
  103. package/dist/atomic/{p-a5b65a11.entry.js.map → p-6f93d6d6.entry.js.map} +1 -1
  104. package/dist/atomic/{p-d1fbb20a.entry.js → p-73d9e7f3.entry.js} +2 -2
  105. package/dist/atomic/{p-d1fbb20a.entry.js.map → p-73d9e7f3.entry.js.map} +1 -1
  106. package/dist/atomic/p-798598a4.entry.js +2 -0
  107. package/dist/atomic/{p-a81f3714.entry.js.map → p-798598a4.entry.js.map} +1 -1
  108. package/dist/atomic/p-7bf809eb.entry.js +2 -0
  109. package/dist/atomic/{p-798b20e3.entry.js.map → p-7bf809eb.entry.js.map} +1 -1
  110. package/dist/atomic/{p-bb3a2ec9.entry.js → p-81b00c43.entry.js} +2 -2
  111. package/dist/atomic/{p-cb378159.entry.js → p-847cdfd5.entry.js} +2 -2
  112. package/dist/atomic/{p-1cd42a4e.entry.js → p-84ac45b4.entry.js} +2 -2
  113. package/dist/atomic/p-875eb57b.entry.js +2 -0
  114. package/dist/atomic/{p-2dab3401.entry.js.map → p-875eb57b.entry.js.map} +1 -1
  115. package/dist/atomic/{p-d7eb9531.entry.js → p-87eafe2f.entry.js} +2 -2
  116. package/dist/atomic/{p-939aac48.entry.js → p-895da76b.entry.js} +2 -2
  117. package/dist/atomic/{p-af358e98.entry.js → p-8b0cf1d4.entry.js} +2 -2
  118. package/dist/atomic/p-8b0cf1d4.entry.js.map +1 -0
  119. package/dist/atomic/{p-3cc5717d.entry.js → p-8d1f7884.entry.js} +2 -2
  120. package/dist/atomic/{p-44bf0e38.entry.js → p-8d63a0c4.entry.js} +2 -2
  121. package/dist/atomic/{p-f4ff8e62.entry.js.map → p-8d63a0c4.entry.js.map} +1 -1
  122. package/dist/atomic/p-8e964890.entry.js +2 -0
  123. package/dist/atomic/{p-3dadbb3a.entry.js.map → p-8e964890.entry.js.map} +1 -1
  124. package/dist/atomic/{p-5363fc15.entry.js → p-90ace4cd.entry.js} +2 -2
  125. package/dist/atomic/{p-396308f6.entry.js → p-91260e2b.entry.js} +2 -2
  126. package/dist/atomic/p-9389337e.entry.js +2 -0
  127. package/dist/atomic/{p-d0b9f281.entry.js.map → p-9389337e.entry.js.map} +1 -1
  128. package/dist/atomic/{p-043e25e1.entry.js → p-9392b7da.entry.js} +2 -2
  129. package/dist/atomic/{p-a0f803cf.entry.js → p-9519e656.entry.js} +2 -2
  130. package/dist/atomic/p-98790c52.entry.js +2 -0
  131. package/dist/atomic/{p-ea1a448d.entry.js.map → p-98790c52.entry.js.map} +1 -1
  132. package/dist/atomic/{p-1b5acaf7.entry.js → p-9aad555a.entry.js} +2 -2
  133. package/dist/atomic/{p-4c58b5ee.js → p-9ae68e86.js} +2 -2
  134. package/dist/atomic/p-9ae68e86.js.map +1 -0
  135. package/dist/atomic/p-a48ae7ab.entry.js +2 -0
  136. package/dist/atomic/{p-4a172f6c.entry.js.map → p-a48ae7ab.entry.js.map} +1 -1
  137. package/dist/atomic/{p-fc60a035.entry.js → p-a5a56624.entry.js} +2 -2
  138. package/dist/atomic/{p-b9909a73.entry.js → p-a78cbb80.entry.js} +2 -2
  139. package/dist/atomic/p-a78cbb80.entry.js.map +1 -0
  140. package/dist/atomic/{p-6fc8bf11.entry.js → p-a9016629.entry.js} +2 -2
  141. package/dist/atomic/p-a9016629.entry.js.map +1 -0
  142. package/dist/atomic/p-ab3da44d.entry.js +2 -0
  143. package/dist/atomic/{p-8fe875c1.entry.js.map → p-ab3da44d.entry.js.map} +1 -1
  144. package/dist/atomic/{p-be0518ae.js → p-acd1a1d3.js} +1 -1
  145. package/dist/atomic/p-acd1a1d3.js.map +1 -0
  146. package/dist/atomic/{p-944d38f4.entry.js → p-acd72087.entry.js} +2 -2
  147. package/dist/atomic/{p-9afbdee1.entry.js → p-ae071697.entry.js} +2 -2
  148. package/dist/atomic/{p-2d4b229d.entry.js → p-ae346172.entry.js} +2 -2
  149. package/dist/atomic/{p-1fabc1e7.entry.js → p-b06de6f8.entry.js} +2 -2
  150. package/dist/atomic/p-b93c93f7.entry.js +2 -0
  151. package/dist/atomic/{p-c966da1f.entry.js.map → p-b93c93f7.entry.js.map} +1 -1
  152. package/dist/atomic/{p-f3c0122f.entry.js → p-b9eeac20.entry.js} +2 -2
  153. package/dist/atomic/p-b9eeac20.entry.js.map +1 -0
  154. package/dist/atomic/{p-e9afb6ee.entry.js → p-bb0e0b5d.entry.js} +2 -2
  155. package/dist/atomic/p-c3451367.js +2 -0
  156. package/dist/atomic/{p-c8df6cfb.entry.js → p-c402cc93.entry.js} +2 -2
  157. package/dist/atomic/{p-d0e5fd5e.entry.js.map → p-c402cc93.entry.js.map} +1 -1
  158. package/dist/atomic/{p-127e1891.entry.js → p-c45361ac.entry.js} +2 -2
  159. package/dist/atomic/p-c82dd1aa.entry.js +2 -0
  160. package/dist/atomic/{p-c8df6cfb.entry.js.map → p-c82dd1aa.entry.js.map} +1 -1
  161. package/dist/atomic/p-c9074946.js +2 -0
  162. package/dist/atomic/p-c9074946.js.map +1 -0
  163. package/dist/atomic/{p-f983e811.js → p-cae02339.js} +2 -2
  164. package/dist/atomic/p-cbec8d32.entry.js +2 -0
  165. package/dist/atomic/{p-dcbef3e1.entry.js.map → p-cbec8d32.entry.js.map} +1 -1
  166. package/dist/atomic/{p-f20fe78c.entry.js → p-cd047d6d.entry.js} +2 -2
  167. package/dist/atomic/{p-79ae5adc.entry.js → p-ceca3fb8.entry.js} +2 -2
  168. package/dist/atomic/{p-62215819.entry.js → p-cf0a69e5.entry.js} +2 -2
  169. package/dist/atomic/{p-d4e0d62c.entry.js → p-d0937472.entry.js} +2 -2
  170. package/dist/atomic/{p-52c8c827.entry.js → p-d3d0ac7c.entry.js} +2 -2
  171. package/dist/atomic/{p-96d988a8.entry.js → p-d5402772.entry.js} +2 -2
  172. package/dist/atomic/{p-aa0d5996.entry.js → p-d8d346f3.entry.js} +2 -2
  173. package/dist/atomic/{p-888c2a4e.entry.js → p-da141605.entry.js} +2 -2
  174. package/dist/atomic/{p-8eb03300.entry.js → p-da87ef51.entry.js} +2 -2
  175. package/dist/atomic/p-da87ef51.entry.js.map +1 -0
  176. package/dist/atomic/{p-07323ee1.entry.js → p-dbc08e9e.entry.js} +2 -2
  177. package/dist/atomic/{p-d25c5ce7.entry.js → p-dd258eaa.entry.js} +2 -2
  178. package/dist/atomic/p-dd258eaa.entry.js.map +1 -0
  179. package/dist/atomic/{p-5c21cdbd.entry.js → p-e0d103ba.entry.js} +2 -2
  180. package/dist/atomic/p-e1dbe31d.entry.js +2 -0
  181. package/dist/atomic/{p-7627f6e0.entry.js.map → p-e1dbe31d.entry.js.map} +1 -1
  182. package/dist/atomic/{p-892dc31b.entry.js → p-e62caa78.entry.js} +2 -2
  183. package/dist/atomic/p-e8180b21.entry.js +2 -0
  184. package/dist/atomic/{p-4255ba1c.entry.js → p-f04c86b4.entry.js} +2 -2
  185. package/dist/atomic/{p-2da9105b.entry.js → p-f12325cc.entry.js} +2 -2
  186. package/dist/atomic/p-f44e1bd3.entry.js +2 -0
  187. package/dist/atomic/{p-f7b70070.entry.js.map → p-f44e1bd3.entry.js.map} +1 -1
  188. package/dist/atomic/{p-4f6585c0.entry.js → p-f5a0fdc8.entry.js} +2 -2
  189. package/dist/atomic/{p-f746c040.entry.js → p-f654697b.entry.js} +2 -2
  190. package/dist/atomic/{p-6cc3f4e6.entry.js → p-f800678c.entry.js} +2 -2
  191. package/dist/atomic/p-fa83768b.entry.js +2 -0
  192. package/dist/atomic/{p-f1624191.entry.js.map → p-fa83768b.entry.js.map} +1 -1
  193. package/dist/atomic/{p-0ff3cddc.entry.js → p-fb517fba.entry.js} +2 -2
  194. package/dist/atomic/p-fb517fba.entry.js.map +1 -0
  195. package/dist/atomic/{p-ea1a448d.entry.js → p-fb5598e9.entry.js} +2 -2
  196. package/dist/atomic/{p-44bf0e38.entry.js.map → p-fb5598e9.entry.js.map} +1 -1
  197. package/dist/atomic/{p-8347e7a1.entry.js → p-fd7a8926.entry.js} +2 -2
  198. package/dist/atomic/{p-d67c59f0.entry.js → p-ff23598b.entry.js} +2 -2
  199. package/dist/atomic/{p-03e01aef.js → p-ff2d324d.js} +2 -2
  200. package/dist/cjs/_index.cjs.js +5 -7
  201. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +5 -5
  202. package/dist/cjs/atomic-breadbox.cjs.entry.js +5 -5
  203. package/dist/cjs/atomic-category-facet.cjs.entry.js +23 -13
  204. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  205. package/dist/cjs/atomic-color-facet.cjs.entry.js +5 -5
  206. package/dist/cjs/atomic-did-you-mean.cjs.entry.js +3 -5
  207. package/dist/cjs/atomic-did-you-mean.cjs.entry.js.map +1 -1
  208. package/dist/cjs/atomic-external.cjs.entry.js +2 -4
  209. package/dist/cjs/atomic-external.cjs.entry.js.map +1 -1
  210. package/dist/cjs/atomic-facet-manager.cjs.entry.js +3 -5
  211. package/dist/cjs/atomic-facet-manager.cjs.entry.js.map +1 -1
  212. package/dist/cjs/atomic-facet.cjs.entry.js +6 -6
  213. package/dist/cjs/atomic-field-condition.cjs.entry.js +6 -6
  214. package/dist/cjs/atomic-field-condition.cjs.entry.js.map +1 -1
  215. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +6 -6
  216. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +6 -6
  217. package/dist/cjs/atomic-generated-answer.cjs.entry.js +5 -5
  218. package/dist/cjs/atomic-html.cjs.entry.js +3 -3
  219. package/dist/cjs/atomic-insight-facet.cjs.entry.js +6 -6
  220. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +6 -6
  221. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +3 -5
  222. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js.map +1 -1
  223. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +5 -5
  224. package/dist/cjs/atomic-insight-layout.cjs.entry.js +5 -5
  225. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +5 -5
  226. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +6 -6
  227. package/dist/cjs/atomic-insight-pager.cjs.entry.js +5 -5
  228. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +5 -5
  229. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +5 -5
  230. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +5 -5
  231. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +3 -5
  232. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js.map +1 -1
  233. package/dist/cjs/atomic-insight-result-action.cjs.entry.js +5 -7
  234. package/dist/cjs/atomic-insight-result-action.cjs.entry.js.map +1 -1
  235. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js +5 -7
  236. package/dist/cjs/atomic-insight-result-attach-to-case-action.cjs.entry.js.map +1 -1
  237. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +5 -7
  238. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js.map +1 -1
  239. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js +5 -5
  240. package/dist/cjs/atomic-insight-result-children-template.cjs.entry.js.map +1 -1
  241. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +5 -5
  242. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +6 -6
  243. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +7 -7
  244. package/dist/cjs/atomic-insight-result-template.cjs.entry.js +5 -5
  245. package/dist/cjs/atomic-insight-result-template.cjs.entry.js.map +1 -1
  246. package/dist/cjs/atomic-insight-result.cjs.entry.js +4 -4
  247. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +3 -3
  248. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  249. package/dist/cjs/atomic-insight-smart-snippet-suggestions.cjs.entry.js +5 -5
  250. package/dist/cjs/atomic-insight-smart-snippet.cjs.entry.js +4 -4
  251. package/dist/cjs/atomic-insight-tab.cjs.entry.js +5 -5
  252. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +3 -5
  253. package/dist/cjs/atomic-insight-tabs.cjs.entry.js.map +1 -1
  254. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +5 -5
  255. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js +3 -5
  256. package/dist/cjs/atomic-insight-user-actions-modal.cjs.entry.js.map +1 -1
  257. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +3 -4
  258. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js.map +1 -1
  259. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +3 -5
  260. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js.map +1 -1
  261. package/dist/cjs/atomic-ipx-body.cjs.entry.js +6 -6
  262. package/dist/cjs/atomic-ipx-button.cjs.entry.js +3 -5
  263. package/dist/cjs/atomic-ipx-button.cjs.entry.js.map +1 -1
  264. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +6 -6
  265. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +6 -6
  266. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +6 -6
  267. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +5 -5
  268. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +3 -5
  269. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js.map +1 -1
  270. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +5 -7
  271. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js.map +1 -1
  272. package/dist/cjs/atomic-ipx-tab.cjs.entry.js +5 -5
  273. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +3 -5
  274. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js.map +1 -1
  275. package/dist/cjs/atomic-load-more-results.cjs.entry.js +5 -5
  276. package/dist/cjs/atomic-no-results.cjs.entry.js +5 -5
  277. package/dist/cjs/atomic-notifications.cjs.entry.js +5 -5
  278. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +6 -6
  279. package/dist/cjs/atomic-popover.cjs.entry.js +3 -5
  280. package/dist/cjs/atomic-popover.cjs.entry.js.map +1 -1
  281. package/dist/cjs/atomic-query-error.cjs.entry.js +5 -5
  282. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +3 -5
  283. package/dist/cjs/atomic-quickview-modal.cjs.entry.js.map +1 -1
  284. package/dist/cjs/atomic-quickview.cjs.entry.js +7 -7
  285. package/dist/cjs/atomic-rating-facet.cjs.entry.js +5 -5
  286. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +5 -5
  287. package/dist/cjs/atomic-recs-error.cjs.entry.js +5 -5
  288. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  289. package/dist/cjs/atomic-recs-list.cjs.entry.js +6 -6
  290. package/dist/cjs/atomic-recs-result-template.cjs.entry.js +5 -5
  291. package/dist/cjs/atomic-recs-result-template.cjs.entry.js.map +1 -1
  292. package/dist/cjs/atomic-recs-result.cjs.entry.js +4 -4
  293. package/dist/cjs/atomic-refine-modal.cjs.entry.js +5 -5
  294. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +3 -5
  295. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  296. package/dist/cjs/atomic-result-badge.cjs.entry.js +3 -5
  297. package/dist/cjs/atomic-result-badge.cjs.entry.js.map +1 -1
  298. package/dist/cjs/atomic-result-children-template.cjs.entry.js +4 -4
  299. package/dist/cjs/atomic-result-children-template.cjs.entry.js.map +1 -1
  300. package/dist/cjs/atomic-result-children.cjs.entry.js +6 -6
  301. package/dist/cjs/atomic-result-date.cjs.entry.js +5 -6
  302. package/dist/cjs/atomic-result-date.cjs.entry.js.map +1 -1
  303. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +3 -5
  304. package/dist/cjs/atomic-result-fields-list.cjs.entry.js.map +1 -1
  305. package/dist/cjs/atomic-result-html.cjs.entry.js +5 -7
  306. package/dist/cjs/atomic-result-html.cjs.entry.js.map +1 -1
  307. package/dist/cjs/atomic-result-icon.cjs.entry.js +3 -3
  308. package/dist/cjs/atomic-result-image.cjs.entry.js +5 -7
  309. package/dist/cjs/atomic-result-image.cjs.entry.js.map +1 -1
  310. package/dist/cjs/atomic-result-link.cjs.entry.js +5 -7
  311. package/dist/cjs/atomic-result-link.cjs.entry.js.map +1 -1
  312. package/dist/cjs/atomic-result-list.cjs.entry.js +7 -7
  313. package/dist/cjs/atomic-result-list.cjs.entry.js.map +1 -1
  314. package/dist/cjs/atomic-result-localized-text.cjs.entry.js +7 -7
  315. package/dist/cjs/atomic-result-multi-value-text.cjs.entry.js +7 -7
  316. package/dist/cjs/atomic-result-number.cjs.entry.js +5 -7
  317. package/dist/cjs/atomic-result-number.cjs.entry.js.map +1 -1
  318. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +1 -1
  319. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js.map +1 -1
  320. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +7 -7
  321. package/dist/cjs/atomic-result-rating.cjs.entry.js +5 -7
  322. package/dist/cjs/atomic-result-rating.cjs.entry.js.map +1 -1
  323. package/dist/cjs/atomic-result-template.cjs.entry.js +4 -4
  324. package/dist/cjs/atomic-result-template.cjs.entry.js.map +1 -1
  325. package/dist/cjs/atomic-result-text_2.cjs.entry.js +5 -7
  326. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  327. package/dist/cjs/atomic-result-timespan.cjs.entry.js +5 -6
  328. package/dist/cjs/atomic-result-timespan.cjs.entry.js.map +1 -1
  329. package/dist/cjs/atomic-result.cjs.entry.js +4 -4
  330. package/dist/cjs/atomic-search-box.cjs.entry.js +6 -6
  331. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js +3 -5
  332. package/dist/cjs/atomic-segmented-facet-scrollable.cjs.entry.js.map +1 -1
  333. package/dist/cjs/atomic-segmented-facet.cjs.entry.js +5 -5
  334. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +3 -3
  335. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -5
  336. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js.map +1 -1
  337. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +4 -4
  338. package/dist/cjs/atomic-smart-snippet-suggestions.cjs.entry.js +4 -4
  339. package/dist/cjs/atomic-smart-snippet.cjs.entry.js +3 -3
  340. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +5 -5
  341. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +3 -5
  342. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js.map +1 -1
  343. package/dist/cjs/atomic-tab-manager.cjs.entry.js +3 -5
  344. package/dist/cjs/atomic-tab-manager.cjs.entry.js.map +1 -1
  345. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +5 -5
  346. package/dist/cjs/{dom-utils-99b6ae8e.js → dom-utils-d4790328.js} +1 -3
  347. package/dist/cjs/dom-utils-d4790328.js.map +1 -0
  348. package/dist/cjs/{facet-guard-86d4d9eb.js → facet-guard-0e8cbe50.js} +2 -2
  349. package/dist/cjs/{facet-guard-86d4d9eb.js.map → facet-guard-0e8cbe50.js.map} +1 -1
  350. package/dist/cjs/index.cjs.js.map +1 -1
  351. package/dist/cjs/{initialization-lit-stencil-common-utils-4aa43394.js → initialization-lit-stencil-common-utils-730030b0.js} +2 -2
  352. package/dist/cjs/{initialization-lit-stencil-common-utils-4aa43394.js.map → initialization-lit-stencil-common-utils-730030b0.js.map} +1 -1
  353. package/dist/cjs/{initialization-utils-bd73b57a.js → initialization-utils-92f1b080.js} +3 -3
  354. package/dist/cjs/{initialization-utils-bd73b57a.js.map → initialization-utils-92f1b080.js.map} +1 -1
  355. package/dist/cjs/{replace-breakpoint-utils-929b72a8.js → replace-breakpoint-utils-47f2eaa4.js} +2 -2
  356. package/dist/cjs/{replace-breakpoint-utils-929b72a8.js.map → replace-breakpoint-utils-47f2eaa4.js.map} +1 -1
  357. package/dist/cjs/{stencil-result-template-common-9906bb6a.js → result-template-common-bc03b2ad.js} +2 -2
  358. package/dist/cjs/result-template-common-bc03b2ad.js.map +1 -0
  359. package/dist/cjs/{stencil-item-decorators-ac2e8fa8.js → stencil-item-decorators-43a96f33.js} +2 -2
  360. package/dist/cjs/{stencil-item-decorators-ac2e8fa8.js.map → stencil-item-decorators-43a96f33.js.map} +1 -1
  361. package/dist/cjs/stencil-item-list-common-b08abf21.js +1 -1
  362. package/dist/cjs/{stencil-result-template-decorators-3a5f1319.js → stencil-result-template-decorators-28b05aaf.js} +2 -2
  363. package/dist/cjs/{stencil-result-template-decorators-3a5f1319.js.map → stencil-result-template-decorators-28b05aaf.js.map} +1 -1
  364. package/dist/cjs/{table-element-utils-2cc6dc82.js → table-element-utils-4865b735.js} +1 -1
  365. package/dist/cjs/table-element-utils-4865b735.js.map +1 -0
  366. package/dist/cjs/timeframe-facet-common-b08ffe64.js +1 -1
  367. package/dist/cjs/version.cjs.js +2 -2
  368. package/dist/esm/_index.js +5 -7
  369. package/dist/esm/atomic-automatic-facet_2.entry.js +5 -5
  370. package/dist/esm/atomic-breadbox.entry.js +5 -5
  371. package/dist/esm/atomic-category-facet.entry.js +23 -13
  372. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  373. package/dist/esm/atomic-color-facet.entry.js +5 -5
  374. package/dist/esm/atomic-did-you-mean.entry.js +3 -5
  375. package/dist/esm/atomic-did-you-mean.entry.js.map +1 -1
  376. package/dist/esm/atomic-external.entry.js +2 -4
  377. package/dist/esm/atomic-external.entry.js.map +1 -1
  378. package/dist/esm/atomic-facet-manager.entry.js +3 -5
  379. package/dist/esm/atomic-facet-manager.entry.js.map +1 -1
  380. package/dist/esm/atomic-facet.entry.js +6 -6
  381. package/dist/esm/atomic-field-condition.entry.js +5 -5
  382. package/dist/esm/atomic-field-condition.entry.js.map +1 -1
  383. package/dist/esm/atomic-folded-result-list.entry.js +6 -6
  384. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +6 -6
  385. package/dist/esm/atomic-generated-answer.entry.js +5 -5
  386. package/dist/esm/atomic-html.entry.js +3 -3
  387. package/dist/esm/atomic-insight-facet.entry.js +6 -6
  388. package/dist/esm/atomic-insight-folded-result-list.entry.js +6 -6
  389. package/dist/esm/atomic-insight-full-search-button.entry.js +3 -5
  390. package/dist/esm/atomic-insight-full-search-button.entry.js.map +1 -1
  391. package/dist/esm/atomic-insight-generated-answer.entry.js +5 -5
  392. package/dist/esm/atomic-insight-layout.entry.js +5 -5
  393. package/dist/esm/atomic-insight-no-results.entry.js +5 -5
  394. package/dist/esm/atomic-insight-numeric-facet.entry.js +6 -6
  395. package/dist/esm/atomic-insight-pager.entry.js +5 -5
  396. package/dist/esm/atomic-insight-query-error.entry.js +5 -5
  397. package/dist/esm/atomic-insight-query-summary.entry.js +5 -5
  398. package/dist/esm/atomic-insight-refine-modal.entry.js +5 -5
  399. package/dist/esm/atomic-insight-refine-toggle.entry.js +3 -5
  400. package/dist/esm/atomic-insight-refine-toggle.entry.js.map +1 -1
  401. package/dist/esm/atomic-insight-result-action.entry.js +5 -7
  402. package/dist/esm/atomic-insight-result-action.entry.js.map +1 -1
  403. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js +5 -7
  404. package/dist/esm/atomic-insight-result-attach-to-case-action.entry.js.map +1 -1
  405. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +5 -7
  406. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js.map +1 -1
  407. package/dist/esm/atomic-insight-result-children-template.entry.js +2 -2
  408. package/dist/esm/atomic-insight-result-children-template.entry.js.map +1 -1
  409. package/dist/esm/atomic-insight-result-children.entry.js +5 -5
  410. package/dist/esm/atomic-insight-result-list.entry.js +6 -6
  411. package/dist/esm/atomic-insight-result-quickview-action.entry.js +7 -7
  412. package/dist/esm/atomic-insight-result-template.entry.js +2 -2
  413. package/dist/esm/atomic-insight-result-template.entry.js.map +1 -1
  414. package/dist/esm/atomic-insight-result.entry.js +4 -4
  415. package/dist/esm/atomic-insight-search-box.entry.js +3 -3
  416. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +4 -4
  417. package/dist/esm/atomic-insight-smart-snippet-suggestions.entry.js +5 -5
  418. package/dist/esm/atomic-insight-smart-snippet.entry.js +4 -4
  419. package/dist/esm/atomic-insight-tab.entry.js +5 -5
  420. package/dist/esm/atomic-insight-tabs.entry.js +3 -5
  421. package/dist/esm/atomic-insight-tabs.entry.js.map +1 -1
  422. package/dist/esm/atomic-insight-timeframe-facet.entry.js +5 -5
  423. package/dist/esm/atomic-insight-user-actions-modal.entry.js +3 -5
  424. package/dist/esm/atomic-insight-user-actions-modal.entry.js.map +1 -1
  425. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +3 -4
  426. package/dist/esm/atomic-insight-user-actions-session_2.entry.js.map +1 -1
  427. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +3 -5
  428. package/dist/esm/atomic-insight-user-actions-toggle.entry.js.map +1 -1
  429. package/dist/esm/atomic-ipx-body.entry.js +6 -6
  430. package/dist/esm/atomic-ipx-button.entry.js +3 -5
  431. package/dist/esm/atomic-ipx-button.entry.js.map +1 -1
  432. package/dist/esm/atomic-ipx-embedded.entry.js +6 -6
  433. package/dist/esm/atomic-ipx-modal.entry.js +6 -6
  434. package/dist/esm/atomic-ipx-recs-list.entry.js +6 -6
  435. package/dist/esm/atomic-ipx-refine-modal.entry.js +5 -5
  436. package/dist/esm/atomic-ipx-refine-toggle.entry.js +3 -5
  437. package/dist/esm/atomic-ipx-refine-toggle.entry.js.map +1 -1
  438. package/dist/esm/atomic-ipx-result-link.entry.js +5 -7
  439. package/dist/esm/atomic-ipx-result-link.entry.js.map +1 -1
  440. package/dist/esm/atomic-ipx-tab.entry.js +5 -5
  441. package/dist/esm/atomic-ipx-tabs.entry.js +3 -5
  442. package/dist/esm/atomic-ipx-tabs.entry.js.map +1 -1
  443. package/dist/esm/atomic-load-more-results.entry.js +5 -5
  444. package/dist/esm/atomic-no-results.entry.js +5 -5
  445. package/dist/esm/atomic-notifications.entry.js +5 -5
  446. package/dist/esm/atomic-numeric-facet.entry.js +6 -6
  447. package/dist/esm/atomic-popover.entry.js +3 -5
  448. package/dist/esm/atomic-popover.entry.js.map +1 -1
  449. package/dist/esm/atomic-query-error.entry.js +5 -5
  450. package/dist/esm/atomic-quickview-modal.entry.js +3 -5
  451. package/dist/esm/atomic-quickview-modal.entry.js.map +1 -1
  452. package/dist/esm/atomic-quickview.entry.js +7 -7
  453. package/dist/esm/atomic-rating-facet.entry.js +5 -5
  454. package/dist/esm/atomic-rating-range-facet.entry.js +5 -5
  455. package/dist/esm/atomic-recs-error.entry.js +5 -5
  456. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  457. package/dist/esm/atomic-recs-list.entry.js +6 -6
  458. package/dist/esm/atomic-recs-result-template.entry.js +2 -2
  459. package/dist/esm/atomic-recs-result-template.entry.js.map +1 -1
  460. package/dist/esm/atomic-recs-result.entry.js +4 -4
  461. package/dist/esm/atomic-refine-modal.entry.js +5 -5
  462. package/dist/esm/atomic-refine-toggle.entry.js +3 -5
  463. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  464. package/dist/esm/atomic-result-badge.entry.js +3 -5
  465. package/dist/esm/atomic-result-badge.entry.js.map +1 -1
  466. package/dist/esm/atomic-result-children-template.entry.js +2 -2
  467. package/dist/esm/atomic-result-children-template.entry.js.map +1 -1
  468. package/dist/esm/atomic-result-children.entry.js +6 -6
  469. package/dist/esm/atomic-result-date.entry.js +5 -6
  470. package/dist/esm/atomic-result-date.entry.js.map +1 -1
  471. package/dist/esm/atomic-result-fields-list.entry.js +3 -5
  472. package/dist/esm/atomic-result-fields-list.entry.js.map +1 -1
  473. package/dist/esm/atomic-result-html.entry.js +5 -7
  474. package/dist/esm/atomic-result-html.entry.js.map +1 -1
  475. package/dist/esm/atomic-result-icon.entry.js +3 -3
  476. package/dist/esm/atomic-result-image.entry.js +5 -7
  477. package/dist/esm/atomic-result-image.entry.js.map +1 -1
  478. package/dist/esm/atomic-result-link.entry.js +5 -7
  479. package/dist/esm/atomic-result-link.entry.js.map +1 -1
  480. package/dist/esm/atomic-result-list.entry.js +7 -7
  481. package/dist/esm/atomic-result-list.entry.js.map +1 -1
  482. package/dist/esm/atomic-result-localized-text.entry.js +7 -7
  483. package/dist/esm/atomic-result-multi-value-text.entry.js +7 -7
  484. package/dist/esm/atomic-result-number.entry.js +5 -7
  485. package/dist/esm/atomic-result-number.entry.js.map +1 -1
  486. package/dist/esm/atomic-result-placeholder_8.entry.js +1 -1
  487. package/dist/esm/atomic-result-placeholder_8.entry.js.map +1 -1
  488. package/dist/esm/atomic-result-printable-uri.entry.js +7 -7
  489. package/dist/esm/atomic-result-rating.entry.js +5 -7
  490. package/dist/esm/atomic-result-rating.entry.js.map +1 -1
  491. package/dist/esm/atomic-result-template.entry.js +2 -2
  492. package/dist/esm/atomic-result-template.entry.js.map +1 -1
  493. package/dist/esm/atomic-result-text_2.entry.js +5 -7
  494. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  495. package/dist/esm/atomic-result-timespan.entry.js +5 -6
  496. package/dist/esm/atomic-result-timespan.entry.js.map +1 -1
  497. package/dist/esm/atomic-result.entry.js +4 -4
  498. package/dist/esm/atomic-search-box.entry.js +6 -6
  499. package/dist/esm/atomic-segmented-facet-scrollable.entry.js +3 -5
  500. package/dist/esm/atomic-segmented-facet-scrollable.entry.js.map +1 -1
  501. package/dist/esm/atomic-segmented-facet.entry.js +5 -5
  502. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +3 -3
  503. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -5
  504. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js.map +1 -1
  505. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +4 -4
  506. package/dist/esm/atomic-smart-snippet-suggestions.entry.js +4 -4
  507. package/dist/esm/atomic-smart-snippet.entry.js +3 -3
  508. package/dist/esm/atomic-sort-dropdown.entry.js +5 -5
  509. package/dist/esm/atomic-tab-bar_2.entry.js +3 -5
  510. package/dist/esm/atomic-tab-bar_2.entry.js.map +1 -1
  511. package/dist/esm/atomic-tab-manager.entry.js +3 -5
  512. package/dist/esm/atomic-tab-manager.entry.js.map +1 -1
  513. package/dist/esm/atomic-timeframe-facet.entry.js +5 -5
  514. package/dist/esm/{dom-utils-7444dea4.js → dom-utils-f6086cd3.js} +1 -3
  515. package/dist/esm/dom-utils-f6086cd3.js.map +1 -0
  516. package/dist/esm/{facet-guard-9dfe4a77.js → facet-guard-3bb4a306.js} +2 -2
  517. package/dist/esm/{facet-guard-9dfe4a77.js.map → facet-guard-3bb4a306.js.map} +1 -1
  518. package/dist/esm/index.js.map +1 -1
  519. package/dist/esm/{initialization-lit-stencil-common-utils-8013d595.js → initialization-lit-stencil-common-utils-804fe146.js} +2 -2
  520. package/dist/esm/{initialization-lit-stencil-common-utils-8013d595.js.map → initialization-lit-stencil-common-utils-804fe146.js.map} +1 -1
  521. package/dist/esm/{initialization-utils-39016e9b.js → initialization-utils-ffbc4136.js} +3 -3
  522. package/dist/esm/{initialization-utils-39016e9b.js.map → initialization-utils-ffbc4136.js.map} +1 -1
  523. package/dist/esm/{replace-breakpoint-utils-0f20353d.js → replace-breakpoint-utils-13ff9ca5.js} +2 -2
  524. package/dist/esm/{replace-breakpoint-utils-0f20353d.js.map → replace-breakpoint-utils-13ff9ca5.js.map} +1 -1
  525. package/dist/esm/{stencil-result-template-common-7dc3918a.js → result-template-common-47799c7c.js} +2 -2
  526. package/dist/esm/result-template-common-47799c7c.js.map +1 -0
  527. package/dist/esm/{stencil-item-decorators-33feff1a.js → stencil-item-decorators-6c453c11.js} +2 -2
  528. package/dist/esm/{stencil-item-decorators-33feff1a.js.map → stencil-item-decorators-6c453c11.js.map} +1 -1
  529. package/dist/esm/stencil-item-list-common-d2833d51.js +1 -1
  530. package/dist/esm/{stencil-result-template-decorators-3874fa73.js → stencil-result-template-decorators-f989bc6b.js} +2 -2
  531. package/dist/esm/{stencil-result-template-decorators-3874fa73.js.map → stencil-result-template-decorators-f989bc6b.js.map} +1 -1
  532. package/dist/esm/{table-element-utils-1dbc5ef6.js → table-element-utils-49d22ec6.js} +1 -1
  533. package/dist/esm/table-element-utils-49d22ec6.js.map +1 -0
  534. package/dist/esm/timeframe-facet-common-33642d0d.js +1 -1
  535. package/dist/esm/version.js +2 -2
  536. package/dist/types/components/common/facets/category-facet/all-categories-button.d.ts +2 -0
  537. package/dist/types/components/common/facets/category-facet/all-categories-localized-label.d.ts +6 -0
  538. package/dist/types/components/common/facets/category-facet/search-value.d.ts +1 -0
  539. package/dist/types/components/common/facets/category-facet/stencil-all-categories-button.d.ts +2 -0
  540. package/dist/types/components/common/facets/category-facet/stencil-search-value.d.ts +1 -0
  541. package/dist/types/components/common/product-template/product-template-common.d.ts +6 -0
  542. package/dist/types/components/common/product-template/product-template-controller.d.ts +19 -5
  543. package/dist/types/components/common/product-template/stencil-product-template-common.d.ts +1 -1
  544. package/dist/types/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.d.ts +1 -1
  545. package/dist/types/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.d.ts +1 -1
  546. package/dist/types/utils/dom-utils.d.ts +0 -1
  547. package/docs/atomic-docs.json +1 -1
  548. package/package.json +8 -5
  549. package/dist/atomic/components/components/common/template-controller/base-template-controller.js +0 -91
  550. package/dist/atomic/components/stencil-result-template-common.js.map +0 -1
  551. package/dist/atomic/p-0ff3cddc.entry.js.map +0 -1
  552. package/dist/atomic/p-1e01224b.entry.js +0 -2
  553. package/dist/atomic/p-2dab3401.entry.js +0 -2
  554. package/dist/atomic/p-30c064ed.entry.js +0 -2
  555. package/dist/atomic/p-3dadbb3a.entry.js +0 -2
  556. package/dist/atomic/p-3e81928e.entry.js +0 -2
  557. package/dist/atomic/p-419de484.entry.js +0 -2
  558. package/dist/atomic/p-4219863f.entry.js +0 -2
  559. package/dist/atomic/p-4a172f6c.entry.js +0 -2
  560. package/dist/atomic/p-4c58b5ee.js.map +0 -1
  561. package/dist/atomic/p-601b8ab7.entry.js +0 -2
  562. package/dist/atomic/p-6a3efd75.entry.js +0 -2
  563. package/dist/atomic/p-6ef684df.js +0 -2
  564. package/dist/atomic/p-6ef684df.js.map +0 -1
  565. package/dist/atomic/p-6fc8bf11.entry.js.map +0 -1
  566. package/dist/atomic/p-7627f6e0.entry.js +0 -2
  567. package/dist/atomic/p-798b20e3.entry.js +0 -2
  568. package/dist/atomic/p-7f137439.entry.js +0 -2
  569. package/dist/atomic/p-81310591.js +0 -2
  570. package/dist/atomic/p-8eb03300.entry.js.map +0 -1
  571. package/dist/atomic/p-8fe875c1.entry.js +0 -2
  572. package/dist/atomic/p-a5b65a11.entry.js +0 -2
  573. package/dist/atomic/p-a715255f.entry.js +0 -2
  574. package/dist/atomic/p-a81f3714.entry.js +0 -2
  575. package/dist/atomic/p-af358e98.entry.js.map +0 -1
  576. package/dist/atomic/p-b9909a73.entry.js.map +0 -1
  577. package/dist/atomic/p-be0518ae.js.map +0 -1
  578. package/dist/atomic/p-c966da1f.entry.js +0 -2
  579. package/dist/atomic/p-d0b9f281.entry.js +0 -2
  580. package/dist/atomic/p-d0e5fd5e.entry.js +0 -2
  581. package/dist/atomic/p-d25c5ce7.entry.js.map +0 -1
  582. package/dist/atomic/p-d5421c6b.entry.js +0 -2
  583. package/dist/atomic/p-dcbef3e1.entry.js +0 -2
  584. package/dist/atomic/p-ddfcae3b.entry.js +0 -2
  585. package/dist/atomic/p-de4dfbec.entry.js +0 -2
  586. package/dist/atomic/p-e0d8e122.entry.js.map +0 -1
  587. package/dist/atomic/p-e2d99a33.entry.js +0 -2
  588. package/dist/atomic/p-e4f7e454.entry.js +0 -2
  589. package/dist/atomic/p-f1624191.entry.js +0 -2
  590. package/dist/atomic/p-f3c0122f.entry.js.map +0 -1
  591. package/dist/atomic/p-f4ff8e62.entry.js +0 -2
  592. package/dist/atomic/p-f8f7ebc9.entry.js +0 -2
  593. package/dist/cjs/dom-utils-99b6ae8e.js.map +0 -1
  594. package/dist/cjs/stencil-result-template-common-9906bb6a.js.map +0 -1
  595. package/dist/cjs/table-element-utils-2cc6dc82.js.map +0 -1
  596. package/dist/esm/dom-utils-7444dea4.js.map +0 -1
  597. package/dist/esm/stencil-result-template-common-7dc3918a.js.map +0 -1
  598. package/dist/esm/table-element-utils-1dbc5ef6.js.map +0 -1
  599. package/dist/types/components/common/result-templates/result-template-controller.d.ts +0 -12
  600. package/dist/types/components/common/template-controller/base-template-controller.d.ts +0 -34
  601. package/dist/types/components/common/template-controller/template-utils.d.ts +0 -11
  602. /package/dist/atomic/components/components/{common → search/atomic-table-result}/table-element-utils.js +0 -0
  603. /package/dist/atomic/{p-64bf37c9.entry.js.map → p-0035e3da.entry.js.map} +0 -0
  604. /package/dist/atomic/{p-b3fb5a74.entry.js.map → p-02f2ac0b.entry.js.map} +0 -0
  605. /package/dist/atomic/{p-0de79f5f.entry.js.map → p-066df32a.entry.js.map} +0 -0
  606. /package/dist/atomic/{p-e40cac9e.entry.js.map → p-06bc57be.entry.js.map} +0 -0
  607. /package/dist/atomic/{p-060e1a2c.entry.js.map → p-104d7a84.entry.js.map} +0 -0
  608. /package/dist/atomic/{p-d537096a.js.map → p-1fca38e1.js.map} +0 -0
  609. /package/dist/atomic/{p-f7c3528f.entry.js.map → p-2033533c.entry.js.map} +0 -0
  610. /package/dist/atomic/{p-9c104243.entry.js.map → p-27746cac.entry.js.map} +0 -0
  611. /package/dist/atomic/{p-484df738.entry.js.map → p-2eac7c46.entry.js.map} +0 -0
  612. /package/dist/atomic/{p-55eae6bc.entry.js.map → p-3282ccf8.entry.js.map} +0 -0
  613. /package/dist/atomic/{p-5c12aebe.entry.js.map → p-33b3b967.entry.js.map} +0 -0
  614. /package/dist/atomic/{p-12636f55.entry.js.map → p-36270a85.entry.js.map} +0 -0
  615. /package/dist/atomic/{p-1fe5514d.entry.js.map → p-37182242.entry.js.map} +0 -0
  616. /package/dist/atomic/{p-7c5c836e.entry.js.map → p-3becda0c.entry.js.map} +0 -0
  617. /package/dist/atomic/{p-201b58b3.js.map → p-3dc06261.js.map} +0 -0
  618. /package/dist/atomic/{p-3b52e039.js.map → p-4080f740.js.map} +0 -0
  619. /package/dist/atomic/{p-2eb2676d.entry.js.map → p-4206b797.entry.js.map} +0 -0
  620. /package/dist/atomic/{p-084e4c5c.entry.js.map → p-458697db.entry.js.map} +0 -0
  621. /package/dist/atomic/{p-de7950d9.entry.js.map → p-4778132c.entry.js.map} +0 -0
  622. /package/dist/atomic/{p-ef9257fa.entry.js.map → p-4bc0dc09.entry.js.map} +0 -0
  623. /package/dist/atomic/{p-f959d5a1.entry.js.map → p-530396d4.entry.js.map} +0 -0
  624. /package/dist/atomic/{p-078926b2.entry.js.map → p-582ce205.entry.js.map} +0 -0
  625. /package/dist/atomic/{p-851709f5.entry.js.map → p-5eaee0be.entry.js.map} +0 -0
  626. /package/dist/atomic/{p-63423f6b.entry.js.map → p-6489c611.entry.js.map} +0 -0
  627. /package/dist/atomic/{p-e0c9ddd5.entry.js.map → p-67f62282.entry.js.map} +0 -0
  628. /package/dist/atomic/{p-54235369.entry.js.map → p-6ca16a70.entry.js.map} +0 -0
  629. /package/dist/atomic/{p-edb34365.entry.js.map → p-6da5e67e.entry.js.map} +0 -0
  630. /package/dist/atomic/{p-bb3a2ec9.entry.js.map → p-81b00c43.entry.js.map} +0 -0
  631. /package/dist/atomic/{p-cb378159.entry.js.map → p-847cdfd5.entry.js.map} +0 -0
  632. /package/dist/atomic/{p-1cd42a4e.entry.js.map → p-84ac45b4.entry.js.map} +0 -0
  633. /package/dist/atomic/{p-d7eb9531.entry.js.map → p-87eafe2f.entry.js.map} +0 -0
  634. /package/dist/atomic/{p-939aac48.entry.js.map → p-895da76b.entry.js.map} +0 -0
  635. /package/dist/atomic/{p-3cc5717d.entry.js.map → p-8d1f7884.entry.js.map} +0 -0
  636. /package/dist/atomic/{p-5363fc15.entry.js.map → p-90ace4cd.entry.js.map} +0 -0
  637. /package/dist/atomic/{p-396308f6.entry.js.map → p-91260e2b.entry.js.map} +0 -0
  638. /package/dist/atomic/{p-043e25e1.entry.js.map → p-9392b7da.entry.js.map} +0 -0
  639. /package/dist/atomic/{p-a0f803cf.entry.js.map → p-9519e656.entry.js.map} +0 -0
  640. /package/dist/atomic/{p-1b5acaf7.entry.js.map → p-9aad555a.entry.js.map} +0 -0
  641. /package/dist/atomic/{p-fc60a035.entry.js.map → p-a5a56624.entry.js.map} +0 -0
  642. /package/dist/atomic/{p-944d38f4.entry.js.map → p-acd72087.entry.js.map} +0 -0
  643. /package/dist/atomic/{p-9afbdee1.entry.js.map → p-ae071697.entry.js.map} +0 -0
  644. /package/dist/atomic/{p-2d4b229d.entry.js.map → p-ae346172.entry.js.map} +0 -0
  645. /package/dist/atomic/{p-1fabc1e7.entry.js.map → p-b06de6f8.entry.js.map} +0 -0
  646. /package/dist/atomic/{p-e9afb6ee.entry.js.map → p-bb0e0b5d.entry.js.map} +0 -0
  647. /package/dist/atomic/{p-81310591.js.map → p-c3451367.js.map} +0 -0
  648. /package/dist/atomic/{p-127e1891.entry.js.map → p-c45361ac.entry.js.map} +0 -0
  649. /package/dist/atomic/{p-f983e811.js.map → p-cae02339.js.map} +0 -0
  650. /package/dist/atomic/{p-f20fe78c.entry.js.map → p-cd047d6d.entry.js.map} +0 -0
  651. /package/dist/atomic/{p-79ae5adc.entry.js.map → p-ceca3fb8.entry.js.map} +0 -0
  652. /package/dist/atomic/{p-62215819.entry.js.map → p-cf0a69e5.entry.js.map} +0 -0
  653. /package/dist/atomic/{p-d4e0d62c.entry.js.map → p-d0937472.entry.js.map} +0 -0
  654. /package/dist/atomic/{p-52c8c827.entry.js.map → p-d3d0ac7c.entry.js.map} +0 -0
  655. /package/dist/atomic/{p-96d988a8.entry.js.map → p-d5402772.entry.js.map} +0 -0
  656. /package/dist/atomic/{p-aa0d5996.entry.js.map → p-d8d346f3.entry.js.map} +0 -0
  657. /package/dist/atomic/{p-888c2a4e.entry.js.map → p-da141605.entry.js.map} +0 -0
  658. /package/dist/atomic/{p-07323ee1.entry.js.map → p-dbc08e9e.entry.js.map} +0 -0
  659. /package/dist/atomic/{p-5c21cdbd.entry.js.map → p-e0d103ba.entry.js.map} +0 -0
  660. /package/dist/atomic/{p-892dc31b.entry.js.map → p-e62caa78.entry.js.map} +0 -0
  661. /package/dist/atomic/{p-f8f7ebc9.entry.js.map → p-e8180b21.entry.js.map} +0 -0
  662. /package/dist/atomic/{p-4255ba1c.entry.js.map → p-f04c86b4.entry.js.map} +0 -0
  663. /package/dist/atomic/{p-2da9105b.entry.js.map → p-f12325cc.entry.js.map} +0 -0
  664. /package/dist/atomic/{p-4f6585c0.entry.js.map → p-f5a0fdc8.entry.js.map} +0 -0
  665. /package/dist/atomic/{p-f746c040.entry.js.map → p-f654697b.entry.js.map} +0 -0
  666. /package/dist/atomic/{p-6cc3f4e6.entry.js.map → p-f800678c.entry.js.map} +0 -0
  667. /package/dist/atomic/{p-8347e7a1.entry.js.map → p-fd7a8926.entry.js.map} +0 -0
  668. /package/dist/atomic/{p-d67c59f0.entry.js.map → p-ff23598b.entry.js.map} +0 -0
  669. /package/dist/atomic/{p-03e01aef.js.map → p-ff2d324d.js.map} +0 -0
  670. /package/dist/types/components/common/result-templates/{stencil-result-template-common.d.ts → result-template-common.d.ts} +0 -0
  671. /package/dist/types/components/{common → search/atomic-table-result}/table-element-utils.d.ts +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-field-condition.js","mappings":";;;;;;AAAA,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,mCAAe,uBAAuB;;;;;;;;;;;;MCwBzBA,sBAAoB;;;;;;;;QAgBO,cAAS,GAC7C,EAAE,CAAC;;;;;QAMiC,iBAAY,GAChD,EAAE,CAAC;QAEG,eAAU,GAA8B,EAAE,CAAC;QAC3C,oBAAe,GAAG,KAAK,CAAC;;;yBAV9B,EAAE;4BAOF,EAAE;;IAOG,iBAAiB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,sBAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACvD,CAAC;SACH;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,sBAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAC1D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;KACH;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,EAAE,CAAC;SACX;QAED,OAAO,eAAQ,CAAC;KACjB;IAEM,gBAAgB;QACrB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC5C;;;;;;;;;AA9CqC;IAA7B,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAChC;AAMiC;IAA7B,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAChC;AAKoB;IAAxB,aAAa,EAAE;sDAAyB;;;;;;;;;;;;;;;;;;;;","names":["AtomicFieldCondition"],"sources":["src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.pcss?tag=atomic-field-condition","src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.tsx"],"sourcesContent":["atomic-field-condition {\n max-width: 100%;\n}\n","import {\n Result,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Prop, h, Element} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {makeMatchConditions} from '../../../common/result-templates/stencil-result-template-common';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n\n/**\n * The `atomic-field-condition` component takes a list of conditions that, if fulfilled, apply the template in which it's defined.\n * The condition properties can be based on any top-level result property of the `result` object, not restricted to fields (e.g., `isRecommendation`).\n *\n * @slot default - The content to display if the conditions are met.\n *\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-field-condition',\n styleUrl: 'atomic-field-condition.pcss',\n shadow: false,\n})\nexport class AtomicFieldCondition {\n @Element() host!: HTMLElement;\n\n /**\n * Verifies whether the specified fields are defined.\n */\n @Prop({reflect: true}) ifDefined?: string;\n /**\n * Verifies whether the specified fields are not defined.\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustMatch: Record<string, string[]> =\n {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustNotMatch: Record<string, string[]> =\n {};\n\n private conditions: ResultTemplateCondition[] = [];\n private shouldBeRemoved = false;\n\n @ResultContext() private result!: Result;\n\n public componentWillLoad() {\n if (this.ifDefined) {\n const fieldNames = this.ifDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames)\n );\n }\n\n if (this.ifNotDefined) {\n const fieldNames = this.ifNotDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames)\n );\n }\n\n this.conditions.push(\n ...makeMatchConditions(this.mustMatch, this.mustNotMatch)\n );\n }\n\n public render() {\n if (!this.conditions.every((condition) => condition(this.result))) {\n this.shouldBeRemoved = true;\n return '';\n }\n\n return <slot />;\n }\n\n public componentDidLoad() {\n this.shouldBeRemoved && this.host.remove();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-field-condition.js","mappings":";;;;;;AAAA,MAAM,uBAAuB,GAAG,wCAAwC,CAAC;AACzE,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzBA,sBAAoB;;;;;;;;QAgBO,cAAS,GAC7C,EAAE,CAAC;;;;;QAMiC,iBAAY,GAChD,EAAE,CAAC;QAEG,eAAU,GAA8B,EAAE,CAAC;QAC3C,oBAAe,GAAG,KAAK,CAAC;;;yBAV9B,EAAE;4BAOF,EAAE;;IAOG,iBAAiB;QACtB,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,sBAAsB,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACvD,CAAC;SACH;QAED,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,sBAAsB,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAC1D,CAAC;SACH;QAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAClB,GAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAC1D,CAAC;KACH;IAEM,MAAM;QACX,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE;YACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,EAAE,CAAC;SACX;QAED,OAAO,eAAQ,CAAC;KACjB;IAEM,gBAAgB;QACrB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;KAC5C;;;;;;;;;AA9CqC;IAA7B,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAChC;AAMiC;IAA7B,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAChC;AAKoB;IAAxB,aAAa,EAAE;sDAAyB;;;;;;;;;;;;;;;;;;;;","names":["AtomicFieldCondition"],"sources":["src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.pcss?tag=atomic-field-condition","src/components/search/result-template-components/atomic-field-condition/atomic-field-condition.tsx"],"sourcesContent":["atomic-field-condition {\n max-width: 100%;\n}\n","import {\n Result,\n ResultTemplateCondition,\n ResultTemplatesHelpers,\n} from '@coveo/headless';\nimport {Component, Prop, h, Element} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {makeMatchConditions} from '../../../common/result-templates/result-template-common';\nimport {ResultContext} from '@/src/components/search/result-template-component-utils/context/stencil-result-template-decorators';\n\n/**\n * The `atomic-field-condition` component takes a list of conditions that, if fulfilled, apply the template in which it's defined.\n * The condition properties can be based on any top-level result property of the `result` object, not restricted to fields (e.g., `isRecommendation`).\n *\n * @slot default - The content to display if the conditions are met.\n *\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-field-condition',\n styleUrl: 'atomic-field-condition.pcss',\n shadow: false,\n})\nexport class AtomicFieldCondition {\n @Element() host!: HTMLElement;\n\n /**\n * Verifies whether the specified fields are defined.\n */\n @Prop({reflect: true}) ifDefined?: string;\n /**\n * Verifies whether the specified fields are not defined.\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustMatch: Record<string, string[]> =\n {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) mustNotMatch: Record<string, string[]> =\n {};\n\n private conditions: ResultTemplateCondition[] = [];\n private shouldBeRemoved = false;\n\n @ResultContext() private result!: Result;\n\n public componentWillLoad() {\n if (this.ifDefined) {\n const fieldNames = this.ifDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustBeDefined(fieldNames)\n );\n }\n\n if (this.ifNotDefined) {\n const fieldNames = this.ifNotDefined.split(',');\n this.conditions.push(\n ResultTemplatesHelpers.fieldsMustNotBeDefined(fieldNames)\n );\n }\n\n this.conditions.push(\n ...makeMatchConditions(this.mustMatch, this.mustNotMatch)\n );\n }\n\n public render() {\n if (!this.conditions.every((condition) => condition(this.result))) {\n this.shouldBeRemoved = true;\n return '';\n }\n\n return <slot />;\n }\n\n public componentDidLoad() {\n this.shouldBeRemoved && this.host.remove();\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { M as MapProp } from './props-utils.js';
3
- import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './stencil-result-template-common.js';
3
+ import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './result-template-common.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-insight-result-children-template.js","mappings":";;;;;;;;;;;;;;MAgBaA,qCAAmC;IAkD9C;;;;;;;;;;;QAtCe,eAAU,GAA8B,EAAE,CAAC;;;;;;QAqBb,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCgD,EAAE;;;yBAwBrD,EAAE;4BAUF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,gCAAgC,CAAC;SACjD,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AA/C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;wEAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;2EAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightResultChildrenTemplate"],"sources":["src/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-children-template',\n shadow: true,\n})\nexport class AtomicInsightResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-insight-result-children'],\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-result-children-template.js","mappings":";;;;;;;;;;;;;;MAgBaA,qCAAmC;IAkD9C;;;;;;;;;;;QAtCe,eAAU,GAA8B,EAAE,CAAC;;;;;;QAqBb,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCgD,EAAE;;;yBAwBrD,EAAE;4BAUF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,gCAAgC,CAAC;SACjD,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AA/C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;wEAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;2EAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightResultChildrenTemplate"],"sources":["src/components/insight/result-templates/atomic-insight-result-children-template/atomic-insight-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-children-template',\n shadow: true,\n})\nexport class AtomicInsightResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-insight-result-children'],\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { M as MapProp } from './props-utils.js';
3
- import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './stencil-result-template-common.js';
3
+ import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './result-template-common.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-insight-result-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,6BAA2B;IAmDtC;;;;QA7CO,oBAAe,GAAqC,EAAE,CAAC;;;;;;;;QAS/C,eAAU,GAAqC,EAAE,CAAC;;;;;;QAqBpB,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCuD,EAAE;;;yBAwB5D,EAAE;4BAUF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,4BAA4B;gBAC5B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AAjD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;gEAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;mEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightResultTemplate"],"sources":["src/components/insight/result-templates/atomic-insight-result-template/atomic-insight-result-template.tsx"],"sourcesContent":["import {\n ResultTemplate as InsightResultTemplate,\n ResultTemplateCondition as InsightResultTemplateCondition,\n} from '@coveo/headless/insight';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-template',\n shadow: true,\n})\nexport class AtomicInsightResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n public matchConditions: InsightResultTemplateCondition[] = [];\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: InsightResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-insight-result-list',\n 'atomic-insight-folded-result-list',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<InsightResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-insight-result-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,6BAA2B;IAmDtC;;;;QA7CO,oBAAe,GAAqC,EAAE,CAAC;;;;;;;;QAS/C,eAAU,GAAqC,EAAE,CAAC;;;;;;QAqBpB,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCuD,EAAE;;;yBAwB5D,EAAE;4BAUF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,4BAA4B;gBAC5B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AAjD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;gEAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;mEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicInsightResultTemplate"],"sources":["src/components/insight/result-templates/atomic-insight-result-template/atomic-insight-result-template.tsx"],"sourcesContent":["import {\n ResultTemplate as InsightResultTemplate,\n ResultTemplateCondition as InsightResultTemplateCondition,\n} from '@coveo/headless/insight';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * @internal\n */\n@Component({\n tag: 'atomic-insight-result-template',\n shadow: true,\n})\nexport class AtomicInsightResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n public matchConditions: InsightResultTemplateCondition[] = [];\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: InsightResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-insight-result-list',\n 'atomic-insight-folded-result-list',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<InsightResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
@@ -2160,7 +2160,7 @@ function getWindow() {
2160
2160
  }
2161
2161
  function getAtomicEnvironment(headlessVersion) {
2162
2162
  return {
2163
- version: "3.35.0-pre.946549b45a",
2163
+ version: "3.35.0-pre.960ef5c28d",
2164
2164
  headlessVersion,
2165
2165
  };
2166
2166
  }
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { M as MapProp } from './props-utils.js';
3
- import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './stencil-result-template-common.js';
3
+ import { R as ResultTemplateCommon, a as makeDefinedConditions, m as makeMatchConditions } from './result-template-common.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-recs-result-template.js","mappings":";;;;;;;;;;;;;;MAyBaA,0BAAwB;IAmDnC;;;;QA7CO,oBAAe,GAAkC,EAAE,CAAC;;;;;;;;QAS5C,eAAU,GAAkC,EAAE,CAAC;;;;;;QAqBjB,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCoD,EAAE;;;yBAwBzD,EAAE;4BAUF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;YAC1D,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AA9C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;6DAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;gEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicRecsResultTemplate"],"sources":["src/components/recommendations/atomic-recs-result-template/atomic-recs-result-template.tsx"],"sourcesContent":["import {\n ResultTemplateCondition as RecsResultTemplateCondition,\n ResultTemplate as RecsResultTemplate,\n} from '@coveo/headless/recommendation';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../common/result-templates/stencil-result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * A `template` element must be the child of an `atomic-recs-result-template`, and an `atomic-recs-list` must be the parent of each `atomic-recs-result-template`.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-recs-result-template',\n shadow: true,\n})\nexport class AtomicRecsResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n public matchConditions: RecsResultTemplateCondition[] = [];\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: RecsResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-recs-list', 'atomic-ipx-recs-list'],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on the conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<RecsResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-recs-result-template.js","mappings":";;;;;;;;;;;;;;MAyBaA,0BAAwB;IAmDnC;;;;QA7CO,oBAAe,GAAkC,EAAE,CAAC;;;;;;;;QAS5C,eAAU,GAAkC,EAAE,CAAC;;;;;;QAqBjB,cAAS,GAGlD,EAAE,CAAC;;;;;;QAOsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlCoD,EAAE;;;yBAwBzD,EAAE;4BAUF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,kBAAkB,EAAE,sBAAsB,CAAC;YAC1D,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3E,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;;;AA9C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;6DAG9B;AAOsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;gEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicRecsResultTemplate"],"sources":["src/components/recommendations/atomic-recs-result-template/atomic-recs-result-template.tsx"],"sourcesContent":["import {\n ResultTemplateCondition as RecsResultTemplateCondition,\n ResultTemplate as RecsResultTemplate,\n} from '@coveo/headless/recommendation';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../utils/props-utils';\nimport {\n makeDefinedConditions,\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../common/result-templates/result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * A `template` element must be the child of an `atomic-recs-result-template`, and an `atomic-recs-list` must be the parent of each `atomic-recs-result-template`.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-recs-result-template',\n shadow: true,\n})\nexport class AtomicRecsResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n public matchConditions: RecsResultTemplateCondition[] = [];\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: RecsResultTemplateCondition[] = [];\n\n /**\n * The field that, when defined on a result item, would allow the template to be applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are defined: `if-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifDefined?: string;\n\n /**\n * The field that, when defined on a result item, would prevent the template from being applied.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` and `sourcetype` fields are NOT defined: `if-not-defined=\"filetype,sourcetype\"`\n */\n @Prop({reflect: true}) ifNotDefined?: string;\n\n /**\n * The field and values that define which result items the condition must be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * The field and values that define which result items the condition must not be applied to.\n *\n * For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\"`\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-recs-list', 'atomic-ipx-recs-list'],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.conditions = makeDefinedConditions(this.ifDefined, this.ifNotDefined);\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on the conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<RecsResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { M as MapProp } from './props-utils.js';
3
- import { R as ResultTemplateCommon, m as makeMatchConditions } from './stencil-result-template-common.js';
3
+ import { R as ResultTemplateCommon, m as makeMatchConditions } from './result-template-common.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-result-children-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,8BAA4B;IAkCvC;;;;;;;;;;;QAtBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;SACzC,CAAC,CAAC;KACJ;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AA7C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;iEAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;oEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultChildrenTemplate"],"sources":["src/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * The `atomic-result-children-template` component determines the format of the child results, depending on the conditions that are defined for each template. A `template` element must be the child of an `atomic-result-children-template`, and an `atomic-result-children` must be the parent of each `atomic-result-children-template`.\n *\n * Note: Any `<script>` tags defined inside of a `<template>` element will not be executed when results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-children-template',\n shadow: true,\n})\nexport class AtomicResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-result-children'],\n });\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-children-template.js","mappings":";;;;;;;;;;;;;;MAmBaA,8BAA4B;IAkCvC;;;;;;;;;;;QAtBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAIU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE,CAAC,wBAAwB,CAAC;SACzC,CAAC,CAAC;KACJ;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AA7C4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;iEAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;oEAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultChildrenTemplate"],"sources":["src/components/search/result-templates/atomic-result-children-template/atomic-result-children-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, State, Method} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * The `atomic-result-children-template` component determines the format of the child results, depending on the conditions that are defined for each template. A `template` element must be the child of an `atomic-result-children-template`, and an `atomic-result-children` must be the parent of each `atomic-result-children-template`.\n *\n * Note: Any `<script>` tags defined inside of a `<template>` element will not be executed when results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-children-template',\n shadow: true,\n})\nexport class AtomicResultChildrenTemplate {\n @Element() public host!: HTMLDivElement;\n\n @State() public error!: Error;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n public resultTemplateCommon!: ResultTemplateCommon;\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: ['atomic-result-children'],\n });\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
@@ -1 +1 @@
1
- {"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\ninterface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\ninterface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\ninterface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-list.js","mappings":"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","names":["AtomicResultList"],"sources":["src/components/common/item-list/stencil-display-table.tsx","src/components/common/tabs/tab-guard.tsx","src/components/search/result-lists/atomic-result-list/atomic-result-list.pcss?tag=atomic-result-list&encapsulation=shadow","src/components/search/result-lists/atomic-result-list/atomic-result-list.tsx"],"sourcesContent":["// The Lit equivalent of this file is table-layout.ts\nimport {FunctionalComponent, VNode, h} from '@stencil/core';\nimport {tableElementTagName} from '../../search/atomic-table-result/table-element-utils.js';\nimport {AnyItem} from './unfolded-item.js';\nimport {ItemRenderingFunction} from './stencil-item-list-common.js';\n\ninterface TableColumnsProps {\n templateContentForFirstItem: DocumentFragment;\n firstItem: AnyItem;\n itemRenderingFunction?: ItemRenderingFunction;\n}\n\ninterface DisplayTableProps extends TableColumnsProps {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n listClasses: string;\n}\n\ninterface TableDataProps extends TableColumnsProps {\n key: string;\n}\n\ninterface DisplayTableRowProps {\n key: string;\n rowIndex: number;\n setRef: (element?: HTMLElement) => void;\n}\n\nconst getFieldTableColumns = (props: TableColumnsProps) => {\n if (props.itemRenderingFunction) {\n return getFieldTableColumnsFromRenderingFunction(props);\n }\n return getFieldTableColumnsFromHTMLTemplate(props);\n};\n\nconst getFieldTableColumnsFromRenderingFunction = (\n props: Pick<TableColumnsProps, 'itemRenderingFunction' | 'firstItem'>\n): HTMLAtomicTableElementElement[] => {\n const contentOfRenderingFunction = document.createElement('div');\n\n const contentOfRenderingFunctionAsString = props.itemRenderingFunction!(\n props.firstItem,\n document.createElement('div')\n );\n contentOfRenderingFunction.innerHTML = contentOfRenderingFunctionAsString;\n\n return Array.from(\n contentOfRenderingFunction.querySelectorAll(tableElementTagName)\n );\n};\n\nconst getFieldTableColumnsFromHTMLTemplate = (\n props: Pick<DisplayTableProps, 'templateContentForFirstItem'>\n): HTMLAtomicTableElementElement[] =>\n Array.from(\n props.templateContentForFirstItem.querySelectorAll(tableElementTagName)\n );\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTable: FunctionalComponent<DisplayTableProps> = (\n props,\n children\n) => {\n const fieldColumns = getFieldTableColumns(props);\n\n if (!fieldColumns.length) {\n props.logger.error(\n 'atomic-table-element elements missing in the template to display columns.',\n props.host\n );\n }\n\n return (\n <table class={`list-root ${props.listClasses}`} part=\"result-table\">\n <thead part=\"result-table-heading\">\n <tr part=\"result-table-heading-row\">\n {fieldColumns.map((column) => (\n <th part=\"result-table-heading-cell\">\n <atomic-text value={column.getAttribute('label')!}></atomic-text>\n </th>\n ))}\n </tr>\n </thead>\n <tbody part=\"result-table-body\">{...children}</tbody>\n </table>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTableRow: FunctionalComponent<DisplayTableRowProps> = (\n {key, rowIndex, setRef},\n children\n) => {\n return (\n <tr\n key={key}\n part={\n 'result-table-row ' +\n (rowIndex % 2 === 1 ? 'result-table-row-even' : 'result-table-row-odd')\n }\n ref={(element) => setRef(element)}\n >\n {...children}\n </tr>\n );\n};\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const DisplayTableData: FunctionalComponent<\n TableDataProps & {\n renderItem: (content: HTMLAtomicTableElementElement) => VNode;\n }\n> = (props) => {\n const fieldColumns = getFieldTableColumns(props);\n\n return fieldColumns.map((column) => {\n const key = column.getAttribute('label')! + props.key;\n return (\n <td key={key} part=\"result-table-cell\">\n {props.renderItem(column)}\n </td>\n );\n });\n};\n","import {Fragment, FunctionalComponent, h} from '@stencil/core';\nimport {shouldDisplayOnCurrentTab} from '../../../utils/tab-utils';\nimport {Hidden} from '../stencil-hidden';\n\ninterface TabGuardProps {\n tabsIncluded: string | string[];\n tabsExcluded: string | string[];\n activeTab: string;\n}\n\n/**\n * @deprecated should only be used for Stencil components.\n */\nexport const TabGuard: FunctionalComponent<TabGuardProps> = (\n {tabsIncluded, tabsExcluded, activeTab},\n children\n) => {\n if (\n !shouldDisplayOnCurrentTab([...tabsIncluded], [...tabsExcluded], activeTab)\n ) {\n return <Hidden></Hidden>;\n }\n return <Fragment>{...children}</Fragment>;\n};\n","@import '../../../../global/global.pcss';\n@import '../../../common/item-list/styles/placeholders.pcss';\n@import '../../../common/item-list/styles/table-display.pcss';\n@import '../../../common/item-list/styles/list-display.pcss';\n@import '../../../common/item-list/styles/grid-display.pcss';\n\natomic-result:not(.hydrated) {\n visibility: hidden;\n}\n","import {\n ResultList,\n ResultListState,\n buildResultList,\n ResultsPerPageState,\n ResultsPerPage,\n buildResultsPerPage,\n buildInteractiveResult,\n Result,\n TabManager,\n TabManagerState,\n buildTabManager,\n} from '@coveo/headless';\nimport {Component, Element, State, Prop, Method, h, Watch} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {ArrayProp} from '../../../../utils/props-utils';\nimport {FocusTargetController} from '../../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../../utils/utils';\nimport {ResultsPlaceholdersGuard} from '../../../common/atomic-result-placeholder/stencil-placeholders';\nimport {createAppLoadedListener} from '../../../common/interface/store';\nimport {ItemDisplayGuard} from '../../../common/item-list/item-display-guard';\nimport {ItemListGuard} from '../../../common/item-list/item-list-guard';\nimport {ItemTemplateProvider} from '../../../common/item-list/item-template-provider';\nimport {DisplayGrid} from '../../../common/item-list/stencil-display-grid';\nimport {\n DisplayTableData,\n DisplayTable,\n DisplayTableRow,\n} from '../../../common/item-list/stencil-display-table';\nimport {DisplayWrapper} from '../../../common/item-list/stencil-display-wrapper';\nimport {\n ItemListCommon,\n ItemRenderingFunction,\n} from '../../../common/item-list/stencil-item-list-common';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n ItemDisplayLayout,\n getItemListDisplayClasses,\n} from '../../../common/layout/display-options';\nimport {TabGuard} from '../../../common/tabs/tab-guard';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-result-list` component is responsible for displaying query results by applying one or more result templates.\n *\n * @slot default - The default slot where the result templates are inserted.\n * @part result-list - The element containing every result of a result list\n * @part outline - The element displaying an outline or a divider around a result\n * @part result-list-grid-clickable-container - The parent of the result & the clickable link encompassing it, when results are displayed as a grid\n * @part result-list-grid-clickable - The clickable link encompassing the result when results are displayed as a grid\n * @part result-table - The element of the result table containing a heading and a body\n * @part result-table-heading - The element containing the row of cells in the result table's heading\n * @part result-table-heading-row - The element containing cells of the result table's heading\n * @part result-table-heading-cell - The element representing a cell of the result table's heading\n * @part result-table-body - The element containing the rows of the result table's body\n * @part result-table-row - The element containing the cells of a row in the result table's body\n * @part result-table-row-odd - The element containing the cells of an odd row in the result table's body\n * @part result-table-row-even - The element containing the cells of an even row in the result table's body\n * @part result-table-cell - The element representing a cell of the result table's body\n */\n@Component({\n tag: 'atomic-result-list',\n styleUrl: 'atomic-result-list.pcss',\n shadow: true,\n})\nexport class AtomicResultList implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n public resultList!: ResultList;\n public resultsPerPage!: ResultsPerPage;\n private loadingFlag = randomID('firstResultLoaded-');\n private itemRenderingFunction: ItemRenderingFunction;\n private nextNewResultTarget?: FocusTargetController;\n private itemTemplateProvider!: ItemTemplateProvider;\n private resultListCommon!: ItemListCommon;\n\n @Element() public host!: HTMLDivElement;\n\n @BindStateToController('resultList')\n @State()\n private resultListState!: ResultListState;\n @BindStateToController('resultsPerPage')\n @State()\n private resultsPerPageState!: ResultsPerPageState;\n public tabManager!: TabManager;\n @BindStateToController('tabManager')\n @State()\n public tabManagerState!: TabManagerState;\n @State() private resultTemplateRegistered = false;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n @State() private templateHasError = false;\n\n /**\n * The desired layout to use when displaying results. Layouts affect how many results to display per row and how visually distinct they are from each other.\n */\n @Prop({reflect: true}) public display: ItemDisplayLayout = 'list';\n /**\n * The spacing of various elements in the result list, including the gap between results, the gap between parts of a result, and the font sizes of different parts in a result.\n */\n @Prop({reflect: true}) public density: ItemDisplayDensity = 'normal';\n\n /**\n * The expected size of the image displayed in the results.\n */\n @Prop({reflect: true, mutable: true})\n public imageSize: ItemDisplayImageSize = 'icon';\n\n /**\n * The tabs on which the result list can be displayed. This property should not be used at the same time as `tabs-excluded`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-included='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list snippet>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list can only be displayed on the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsIncluded: string[] | string = '[]';\n\n /**\n * The tabs on which this result list must not be displayed. This property should not be used at the same time as `tabs-included`.\n *\n * Set this property as a stringified JSON array, e.g.,\n * ```html\n * <atomic-result-list tabs-excluded='[\"tabIDA\", \"tabIDB\"]'></atomic-result-list>\n * ```\n * If you don't set this property, the result list can be displayed on any tab. Otherwise, the result list won't be displayed on any of the specified tabs.\n */\n @ArrayProp()\n @Prop({reflect: true, mutable: true})\n public tabsExcluded: string[] | string = '[]';\n\n /**\n * Sets a rendering function to bypass the standard HTML template mechanism for rendering results.\n * You can use this function while working with web frameworks that don't use plain HTML syntax, e.g., React, Angular or Vue.\n *\n * Do not use this method if you integrate Atomic in a plain HTML deployment.\n *\n * @param resultRenderingFunction\n */\n @Method() public async setRenderFunction(\n resultRenderingFunction: ItemRenderingFunction\n ) {\n this.itemRenderingFunction = resultRenderingFunction;\n }\n\n public get focusTarget() {\n if (!this.nextNewResultTarget) {\n this.nextNewResultTarget = new FocusTargetController(this);\n }\n return this.nextNewResultTarget;\n }\n\n public initialize() {\n if (this.host.innerHTML.includes('<atomic-result-children')) {\n console.warn(\n 'Folded results will not render any children for the \"atomic-result-list\". Please use \"atomic-folded-result-list\" instead.'\n );\n }\n this.tabManager = buildTabManager(this.bindings.engine);\n this.resultList = buildResultList(this.bindings.engine);\n this.resultsPerPage = buildResultsPerPage(this.bindings.engine);\n this.itemTemplateProvider = new ItemTemplateProvider({\n includeDefaultTemplate: true,\n templateElements: Array.from(\n this.host.querySelectorAll('atomic-result-template')\n ),\n getResultTemplateRegistered: () => this.resultTemplateRegistered,\n getTemplateHasError: () => this.templateHasError,\n setResultTemplateRegistered: (value: boolean) => {\n this.resultTemplateRegistered = value;\n },\n setTemplateHasError: (value: boolean) => {\n this.templateHasError = value;\n },\n bindings: this.bindings,\n });\n\n this.resultListCommon = new ItemListCommon({\n engineSubscribe: this.bindings.engine.subscribe,\n getCurrentNumberOfItems: () => this.resultListState.results.length,\n getIsLoading: () => this.resultListState.isLoading,\n host: this.host,\n loadingFlag: this.loadingFlag,\n nextNewItemTarget: this.focusTarget,\n store: this.bindings.store,\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n @Watch('tabManagerState')\n watchTabManagerState(\n newValue: {activeTab: string},\n oldValue: {activeTab: string}\n ) {\n if (newValue?.activeTab !== oldValue?.activeTab) {\n this.bindings.store.unsetLoadingFlag(this.loadingFlag);\n }\n }\n\n public render() {\n this.resultListCommon.updateBreakpoints();\n const listClasses = this.computeListDisplayClasses();\n\n return (\n <TabGuard\n tabsIncluded={this.tabsIncluded}\n tabsExcluded={this.tabsExcluded}\n activeTab={this.tabManagerState.activeTab}\n >\n <ItemListGuard\n hasError={this.resultListState.hasError}\n hasTemplate={this.resultTemplateRegistered}\n templateHasError={this.itemTemplateProvider.hasError}\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n <DisplayWrapper display={this.display} listClasses={listClasses}>\n <ResultsPlaceholdersGuard\n density={this.density}\n display={this.display}\n imageSize={this.imageSize}\n displayPlaceholders={!this.isAppLoaded}\n numberOfPlaceholders={this.resultsPerPageState.numberOfResults}\n ></ResultsPlaceholdersGuard>\n <ItemDisplayGuard\n firstRequestExecuted={this.resultListState.firstSearchExecuted}\n hasItems={this.resultListState.hasResults}\n >\n {this.display === 'table'\n ? this.renderAsTable()\n : this.display === 'grid'\n ? this.renderAsGrid()\n : this.renderAsList()}\n </ItemDisplayGuard>\n </DisplayWrapper>\n </ItemListGuard>\n </TabGuard>\n );\n }\n\n private getPropsForAtomicResult(result: Result) {\n return {\n interactiveResult: buildInteractiveResult(this.bindings.engine, {\n options: {result},\n }),\n result,\n renderingFunction: this.itemRenderingFunction,\n loadingFlag: this.loadingFlag,\n key: this.resultListCommon.getResultId(\n result.uniqueId,\n this.resultListState.searchResponseId,\n this.density,\n this.imageSize\n ),\n content: this.itemTemplateProvider.getTemplateContent(result),\n linkContent:\n this.display === 'grid'\n ? this.itemTemplateProvider.getLinkTemplateContent(result)\n : this.itemTemplateProvider.getEmptyLinkTemplateContent(),\n store: this.bindings.store,\n density: this.density,\n imageSize: this.imageSize,\n display: this.display,\n };\n }\n\n private computeListDisplayClasses() {\n const displayPlaceholders = !this.isAppLoaded;\n\n return getItemListDisplayClasses(\n this.display,\n this.density,\n this.imageSize,\n this.resultListState.firstSearchExecuted &&\n this.resultListState.isLoading,\n displayPlaceholders\n );\n }\n\n private renderAsGrid() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayGrid\n selectorForItem=\"atomic-result\"\n item={result}\n {...propsForAtomicResult.interactiveResult}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <atomic-result {...this} {...propsForAtomicResult}></atomic-result>\n </DisplayGrid>\n );\n });\n }\n\n private renderAsTable() {\n if (!this.resultListState.hasResults) {\n return;\n }\n const listClasses = this.computeListDisplayClasses();\n const firstItem = this.resultListState.results[0];\n\n const propsForTableColumns = {\n firstItem,\n templateContentForFirstItem:\n this.itemTemplateProvider.getTemplateContent(firstItem),\n };\n\n return (\n <DisplayTable\n {...propsForTableColumns}\n listClasses={listClasses}\n logger={this.bindings.engine.logger}\n itemRenderingFunction={this.itemRenderingFunction}\n host={this.host}\n >\n {this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <DisplayTableRow\n {...propsForAtomicResult}\n rowIndex={i}\n setRef={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n >\n <DisplayTableData\n {...propsForTableColumns}\n {...propsForAtomicResult}\n renderItem={(content) => {\n return (\n <atomic-result\n {...propsForAtomicResult}\n content={content}\n ></atomic-result>\n );\n }}\n ></DisplayTableData>\n </DisplayTableRow>\n );\n })}\n </DisplayTable>\n );\n }\n\n private renderAsList() {\n return this.resultListState.results.map((result, i) => {\n const propsForAtomicResult = this.getPropsForAtomicResult(result);\n return (\n <atomic-result\n {...propsForAtomicResult}\n ref={(element) =>\n element && this.resultListCommon.setNewResultRef(element, i)\n }\n part=\"outline\"\n ></atomic-result>\n );\n });\n }\n}\n"],"version":3}
@@ -18,7 +18,7 @@ const AtomicResultTablePlaceholder = /*@__PURE__*/ proxyCustomElement(class Atom
18
18
  return getItemDisplayClasses('table', this.density, this.imageSize);
19
19
  }
20
20
  render() {
21
- return (h("table", { key: '30dbab3f1092237a72e30257668e7039f422f361', class: `list-root animate-pulse ${this.getClasses().join(' ')}` }, h("thead", { key: 'ac1112d36af1258cee4d699b25afdeb53f600e79' }, h("tr", { key: 'a3094bdc4a649628ef6441b8429a6b7683035733' }, h("th", { key: 'f00a8ebd766a530d0655e338b049561864557a2e' }, h("div", { key: '662e44d2bf5107638caea8d116f7a36ddb325c85', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '14.5rem' } })), h("th", { key: 'c23ebb428a8117b4fff5ea2fc298c7a1628b3088' }, h("div", { key: 'b516b825e399df89e1f097b40344a2e4f21e6d6b', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '9.75rem' } })), h("th", { key: 'a2e266f30ac2b2f3bfd07442f2e6ce4ceae30ee1' }, h("div", { key: '5a8bcc98dd5e5bf9f5b80374c7e25719b890924a', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '6.5rem' } })))), h("tbody", { key: '3bb7f889377d20774ee195f7c66c9584becfab08' }, Array.from({ length: this.rows }, () => (h("tr", null, h("td", null, h("div", { class: `mb-6 h-8 ${placeholderClasses}`, style: { width: '22.875rem' } }), h("div", { class: `mb-2 h-5 ${placeholderClasses}`, style: { width: '23.75rem' } }), h("div", { class: `h-5 ${placeholderClasses}`, style: { width: '11.5rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '11rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '4.875rem' } }))))))));
21
+ return (h("table", { key: '30dbab3f1092237a72e30257668e7039f422f361', class: `list-root animate-pulse ${this.getClasses().join(' ')}` }, h("thead", { key: 'af8855459f293a436b730c829468b447a38f793d', "aria-hidden": "true" }, h("tr", { key: '070e589602de3c143a61dc79ff654463b2a475fb' }, h("th", { key: 'a8394d38e500eb5c558259e035c134bb1bf27082' }, h("div", { key: 'f3265b873b479bc241b787df2f696de57f680d00', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '14.5rem' } })), h("th", { key: '8985e58edbecaa33da7facbda2e1061ad0d8c231' }, h("div", { key: '8e8cb780e20d8d7e0eed0c958186a61b4e6dd37d', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '9.75rem' } })), h("th", { key: 'ce81f46c77c5e64d195ed14f6a0bad0ac3d353b0' }, h("div", { key: '39ccbcb2dc91b071aa0694f88cfa8529b40e5006', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '6.5rem' } })))), h("tbody", { key: '22a501d741806a8222b5a320deac30e52d682aeb' }, Array.from({ length: this.rows }, () => (h("tr", null, h("td", null, h("div", { class: `mb-6 h-8 ${placeholderClasses}`, style: { width: '22.875rem' } }), h("div", { class: `mb-2 h-5 ${placeholderClasses}`, style: { width: '23.75rem' } }), h("div", { class: `h-5 ${placeholderClasses}`, style: { width: '11.5rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '11rem' } })), h("td", null, h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '4.875rem' } }))))))));
22
22
  }
23
23
  static get style() { return AtomicResultTablePlaceholderStyle0; }
24
24
  }, [1, "atomic-result-table-placeholder", {
@@ -1 +1 @@
1
- {"file":"atomic-result-table-placeholder2.js","mappings":";;;AAAA,MAAM,+BAA+B,GAAG,8g9EAA8g9E,CAAC;AACvj9E,2CAAe,+BAA+B;;ACM9C,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;MAWzC,4BAA4B;;;;;;;;;IAK/B,UAAU;QAChB,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACrE;IAEM,MAAM;QACX,QACE,8DAAO,KAAK,EAAE,2BAA2B,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IACpE,gEACE,6DACE,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GACnB,CACJ,CACF,CACC,EACR,gEACG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,EAAE,OAC/B,cACE,cACE,WACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,GACtB,EACP,WACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,GACrB,EACP,WACE,KAAK,EAAE,OAAO,kBAAkB,EAAE,EAClC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,cACE,WACE,KAAK,EAAE,cAAc,kBAAkB,EAAE,EACzC,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,GAClB,CACJ,EACL,cACE,WACE,KAAK,EAAE,cAAc,kBAAkB,EAAE,EACzC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,GACrB,CACJ,CACF,CACN,CAAC,CACI,CACF,EACR;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.pcss?tag=atomic-result-table-placeholder&encapsulation=shadow","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n\n:host {\n display: grid;\n}\n\n.list-root.display-table {\n @apply atomic-result-table border-neutral rounded-xl border;\n\n thead tr,\n tbody tr:not(:last-child) {\n position: relative;\n\n &::after {\n content: ' ';\n display: block;\n position: absolute;\n height: 1px;\n bottom: 0;\n left: var(--padding);\n right: var(--padding);\n @apply bg-neutral;\n }\n }\n\n th,\n td {\n border-color: transparent;\n border-radius: initial;\n }\n\n th {\n background-color: transparent;\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral rounded';\n\n/**\n * The `atomic-result-table-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-table-placeholder',\n styleUrl: 'atomic-result-table-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultTablePlaceholder {\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n @Prop() rows!: number;\n\n private getClasses() {\n return getItemDisplayClasses('table', this.density, this.imageSize);\n }\n\n public render() {\n return (\n <table class={`list-root animate-pulse ${this.getClasses().join(' ')}`}>\n <thead>\n <tr>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '14.5rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '9.75rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '6.5rem'}}\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n {Array.from({length: this.rows}, () => (\n <tr>\n <td>\n <div\n class={`mb-6 h-8 ${placeholderClasses}`}\n style={{width: '22.875rem'}}\n ></div>\n <div\n class={`mb-2 h-5 ${placeholderClasses}`}\n style={{width: '23.75rem'}}\n ></div>\n <div\n class={`h-5 ${placeholderClasses}`}\n style={{width: '11.5rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '11rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '4.875rem'}}\n ></div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-table-placeholder2.js","mappings":";;;AAAA,MAAM,+BAA+B,GAAG,8g9EAA8g9E,CAAC;AACvj9E,2CAAe,+BAA+B;;ACM9C,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;MAWzC,4BAA4B;;;;;;;;;IAK/B,UAAU;QAChB,OAAO,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACrE;IAEM,MAAM;QACX,QACE,8DAAO,KAAK,EAAE,2BAA2B,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IACpE,6EAAmB,MAAM,IACvB,6DACE,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,6DACE,4DACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,QAAQ,EAAC,GACnB,CACJ,CACF,CACC,EACR,gEACG,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,EAAE,OAC/B,cACE,cACE,WACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,WAAW,EAAC,GACtB,EACP,WACE,KAAK,EAAE,YAAY,kBAAkB,EAAE,EACvC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,GACrB,EACP,WACE,KAAK,EAAE,OAAO,kBAAkB,EAAE,EAClC,KAAK,EAAE,EAAC,KAAK,EAAE,SAAS,EAAC,GACpB,CACJ,EACL,cACE,WACE,KAAK,EAAE,cAAc,kBAAkB,EAAE,EACzC,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,GAClB,CACJ,EACL,cACE,WACE,KAAK,EAAE,cAAc,kBAAkB,EAAE,EACzC,KAAK,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,GACrB,CACJ,CACF,CACN,CAAC,CACI,CACF,EACR;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.pcss?tag=atomic-result-table-placeholder&encapsulation=shadow","src/components/search/atomic-result-table-placeholder/atomic-result-table-placeholder.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/item-list/styles/mixins.pcss';\n\n:host {\n display: grid;\n}\n\n.list-root.display-table {\n @apply atomic-result-table border-neutral rounded-xl border;\n\n thead tr,\n tbody tr:not(:last-child) {\n position: relative;\n\n &::after {\n content: ' ';\n display: block;\n position: absolute;\n height: 1px;\n bottom: 0;\n left: var(--padding);\n right: var(--padding);\n @apply bg-neutral;\n }\n }\n\n th,\n td {\n border-color: transparent;\n border-radius: initial;\n }\n\n th {\n background-color: transparent;\n }\n}\n","import {Component, h, Prop} from '@stencil/core';\nimport {\n ItemDisplayDensity,\n ItemDisplayImageSize,\n getItemDisplayClasses,\n} from '../../common/layout/display-options';\n\nconst placeholderClasses = 'block bg-neutral rounded';\n\n/**\n * The `atomic-result-table-placeholder` component provides an intermediate visual state that is rendered before the first results are available.\n * @internal\n */\n@Component({\n tag: 'atomic-result-table-placeholder',\n styleUrl: 'atomic-result-table-placeholder.pcss',\n shadow: true,\n})\nexport class AtomicResultTablePlaceholder {\n @Prop() density!: ItemDisplayDensity;\n @Prop() imageSize!: ItemDisplayImageSize;\n @Prop() rows!: number;\n\n private getClasses() {\n return getItemDisplayClasses('table', this.density, this.imageSize);\n }\n\n public render() {\n return (\n <table class={`list-root animate-pulse ${this.getClasses().join(' ')}`}>\n <thead aria-hidden=\"true\">\n <tr>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '14.5rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '9.75rem'}}\n ></div>\n </th>\n <th>\n <div\n class={`mt-2 h-8 ${placeholderClasses}`}\n style={{width: '6.5rem'}}\n ></div>\n </th>\n </tr>\n </thead>\n <tbody>\n {Array.from({length: this.rows}, () => (\n <tr>\n <td>\n <div\n class={`mb-6 h-8 ${placeholderClasses}`}\n style={{width: '22.875rem'}}\n ></div>\n <div\n class={`mb-2 h-5 ${placeholderClasses}`}\n style={{width: '23.75rem'}}\n ></div>\n <div\n class={`h-5 ${placeholderClasses}`}\n style={{width: '11.5rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '11rem'}}\n ></div>\n </td>\n <td>\n <div\n class={`mt-1.5 h-5 ${placeholderClasses}`}\n style={{width: '4.875rem'}}\n ></div>\n </td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
2
  import { M as MapProp } from './props-utils.js';
3
- import { R as ResultTemplateCommon, m as makeMatchConditions } from './stencil-result-template-common.js';
3
+ import { R as ResultTemplateCommon, m as makeMatchConditions } from './result-template-common.js';
4
4
 
5
5
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6
6
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1 +1 @@
1
- {"file":"atomic-result-template.js","mappings":";;;;;;;;;;;;;;MAsBaA,sBAAoB;IAkC/B;;;;;;;;;;;QApBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,oBAAoB;gBACpB,2BAA2B;gBAC3B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AAhD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultTemplate"],"sources":["src/components/search/result-templates/atomic-result-template/atomic-result-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/stencil-result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * @slot default - Mandatory. A `template` element that defines the structure of the result item.\n * @slot link - A `template` element that contains a single `atomic-result-link` component.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-template',\n shadow: true,\n})\nexport class AtomicResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-result-list',\n 'atomic-folded-result-list',\n 'atomic-search-box-instant-results',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-template.js","mappings":";;;;;;;;;;;;;;MAsBaA,sBAAoB;IAkC/B;;;;;;;;;;;QApBe,eAAU,GAA8B,EAAE,CAAC;;;;;QAMb,cAAS,GAGlD,EAAE,CAAC;;;;;QAMsC,iBAAY,GAGrD,EAAE,CAAC;;0BAlBgD,EAAE;yBASrD,EAAE;4BASF,EAAE;KAEU;IAEhB,iBAAiB;QACf,IAAI,CAAC,oBAAoB,GAAG,IAAI,oBAAoB,CAAC;YACnD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,CAAC,GAAG;gBACZ,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;aAClB;YACD,YAAY,EAAE;gBACZ,oBAAoB;gBACpB,2BAA2B;gBAC3B,mCAAmC;aACpC;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IAEM,iBAAiB;QACtB,IAAI,CAAC,oBAAoB,CAAC,eAAe,GAAG,mBAAmB,CAC7D,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,YAAY,CAClB,CAAC;KACH;;;;IAMM,MAAM,WAAW;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;KAC3E;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAC5D;;;;;;;;;AAhD4C;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;yDAG9B;AAMsC;IAApC,OAAO,CAAC,EAAC,WAAW,EAAE,IAAI,EAAC,CAAC;4DAG9B;;;;;;;;;;;;;;;;;;;;","names":["AtomicResultTemplate"],"sources":["src/components/search/result-templates/atomic-result-template/atomic-result-template.tsx"],"sourcesContent":["import {ResultTemplate, ResultTemplateCondition} from '@coveo/headless';\nimport {Component, Element, Prop, Method, State} from '@stencil/core';\nimport {MapProp} from '../../../../utils/props-utils';\nimport {\n makeMatchConditions,\n ResultTemplateCommon,\n} from '../../../common/result-templates/result-template-common';\n\n/**\n * A [result template](https://docs.coveo.com/en/atomic/latest/usage/displaying-results#defining-a-result-template) determines the format of the query results, depending on the conditions that are defined for each template.\n *\n * @slot default - Mandatory. A `template` element that defines the structure of the result item.\n * @slot link - A `template` element that contains a single `atomic-result-link` component.\n *\n * **Note:** Any `<script>` tags that are defined inside a `<template>` element will not be executed when the results are being rendered.\n * @MapProp name: mustMatch;attr: must-match;docs: The field and values that define which result items the condition must be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is `lithiummessage` or `YouTubePlaylist`: `must-match-filetype=\"lithiummessage,YouTubePlaylist\"`;type: Record<string, string[]> ;default: {}\n * @MapProp name: mustNotMatch;attr: must-not-match;docs: The field and values that define which result items the condition must not be applied to. For example, a template with the following attribute only applies to result items whose `filetype` is not `lithiummessage`: `must-not-match-filetype=\"lithiummessage\";type: Record<string, string[]> ;default: {}\n */\n@Component({\n tag: 'atomic-result-template',\n shadow: true,\n})\nexport class AtomicResultTemplate {\n private resultTemplateCommon!: ResultTemplateCommon;\n\n @State() public error!: Error;\n\n @Element() public host!: HTMLDivElement;\n\n /**\n * A function that must return true on results for the result template to apply.\n * Set programmatically before initialization, not via attribute.\n *\n * For example, the following targets a template and sets a condition to make it apply only to results whose `title` contains `singapore`:\n * `document.querySelector('#target-template').conditions = [(result) => /singapore/i.test(result.title)];`\n */\n @Prop() public conditions: ResultTemplateCondition[] = [];\n\n /**\n * Verifies whether the specified fields match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustMatch: Record<\n string,\n string[]\n > = {};\n\n /**\n * Verifies whether the specified fields do not match the specified values.\n * @type {Record<string, string[]>}\n */\n @Prop() @MapProp({splitValues: true}) public mustNotMatch: Record<\n string,\n string[]\n > = {};\n\n constructor() {}\n\n connectedCallback() {\n this.resultTemplateCommon = new ResultTemplateCommon({\n host: this.host,\n setError: (err) => {\n this.error = err;\n },\n validParents: [\n 'atomic-result-list',\n 'atomic-folded-result-list',\n 'atomic-search-box-instant-results',\n ],\n allowEmpty: true,\n });\n }\n\n public componentWillLoad() {\n this.resultTemplateCommon.matchConditions = makeMatchConditions(\n this.mustMatch,\n this.mustNotMatch\n );\n }\n\n /**\n * Gets the appropriate result template based on conditions applied.\n */\n @Method()\n public async getTemplate(): Promise<ResultTemplate<DocumentFragment> | null> {\n return this.resultTemplateCommon.getTemplate(this.conditions, this.error);\n }\n\n public render() {\n return this.resultTemplateCommon.renderIfError(this.error);\n }\n}\n"],"version":3}
@@ -165,6 +165,8 @@ let AtomicCommerceCategoryFacet = class AtomicCommerceCategoryFacet extends LitE
165
165
  this.focusTargets.activeValueFocus.focusAfterSearch();
166
166
  this.facet.deselectAll();
167
167
  },
168
+ facetId: this.facetState.facetId,
169
+ field: this.facet.state.field,
168
170
  },
169
171
  })}
170
172
  ${renderCategoryFacetParentAsTreeContainer({
@@ -258,6 +260,7 @@ let AtomicCommerceCategoryFacet = class AtomicCommerceCategoryFacet extends LitE
258
260
  props: {
259
261
  value,
260
262
  field: this.facetState.field,
263
+ facetId: this.facetState.facetId,
261
264
  searchQuery: this.facetState.facetSearch.query,
262
265
  i18n: this.bindings.i18n,
263
266
  onClick: () => {
@@ -77,7 +77,6 @@ let AtomicCommerceFacetNumberInput = class AtomicCommerceFacetNumberInput extend
77
77
  ${minText}
78
78
  </label>
79
79
  <input
80
- role="textbox"
81
80
  part="input-start"
82
81
  id="${facetId}_start"
83
82
  type="number"
@@ -4,15 +4,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { ProductTemplatesHelpers } from '@coveo/headless/commerce';
8
7
  import { html, LitElement } from 'lit';
9
8
  import { customElement, property, state } from 'lit/decorators.js';
10
- import { makeDefinedConditions, makeMatchConditions, } from "../../common/template-controller/template-utils";
11
9
  import { createProductContextController } from "../product-template-component-utils/context/product-context-controller";
12
10
  import { bindings } from "../../../decorators/bindings";
13
11
  import { errorGuard } from "../../../decorators/error-guard";
14
12
  import { LightDomMixin } from "../../../mixins/light-dom";
15
13
  import { mapProperty } from "../../../utils/props-utils";
14
+ import { makeDefinedConditions, makeMatchConditions, } from '../../common/product-template/product-template-common';
16
15
  /**
17
16
  * The `atomic-product-field-condition` component renders its children only when all of the conditions specified through its props are satisfied.
18
17
  * The condition properties can be based on any top-level product property of the `product` object, not restricted to fields (e.g., `ec_name`).
@@ -27,8 +26,8 @@ let AtomicProductFieldCondition = class AtomicProductFieldCondition extends Ligh
27
26
  initialize() { }
28
27
  get conditions() {
29
28
  return [
30
- ...makeDefinedConditions(this.ifDefined, this.ifNotDefined, ProductTemplatesHelpers),
31
- ...makeMatchConditions(this.mustMatch, this.mustNotMatch, ProductTemplatesHelpers),
29
+ ...makeDefinedConditions(this.ifDefined, this.ifNotDefined),
30
+ ...makeMatchConditions(this.mustMatch, this.mustNotMatch),
32
31
  ];
33
32
  }
34
33
  render() {
@@ -4,13 +4,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { ProductTemplatesHelpers } from '@coveo/headless/commerce';
8
7
  import { html, LitElement, nothing } from 'lit';
9
8
  import { customElement, property, state } from 'lit/decorators.js';
10
- import { ProductTemplateController } from "../../common/product-template/product-template-controller";
11
- import { makeMatchConditions } from "../../common/template-controller/template-utils";
12
9
  import { errorGuard } from "../../../decorators/error-guard";
13
10
  import { mapProperty } from "../../../utils/props-utils";
11
+ import { makeMatchConditions } from '../../common/product-template/product-template-common';
12
+ import { ProductTemplateController } from '../../common/product-template/product-template-controller';
14
13
  import '../atomic-product/atomic-product';
15
14
  /**
16
15
  * * A product template determines the format of the products, depending on the conditions that are defined for each template.
@@ -44,7 +43,7 @@ let AtomicProductTemplate = class AtomicProductTemplate extends LitElement {
44
43
  }
45
44
  connectedCallback() {
46
45
  super.connectedCallback();
47
- this.productTemplateController.matchConditions = makeMatchConditions(this.mustMatch, this.mustNotMatch, ProductTemplatesHelpers);
46
+ this.productTemplateController.matchConditions = makeMatchConditions(this.mustMatch, this.mustNotMatch);
48
47
  }
49
48
  /**
50
49
  * Gets the product template to apply based on the evaluated conditions.
@@ -2,8 +2,9 @@ import "../../atomic-icon/atomic-icon";
2
2
  import { html } from 'lit';
3
3
  import { renderButton } from "../../button";
4
4
  const LeftArrow = "<svg viewBox=\"0 0 20 20\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"m11.5 4.8-4.3 4.5c-.3.4-.3.9 0 1.3l4.3 4.6c.3.4.9.4 1.2 0s.3-.9 0-1.3l-3.7-4 3.7-3.9c.3-.4.3-.9 0-1.3-.3-.3-.9-.3-1.2.1z\"/></svg>";
5
- export const renderCategoryFacetAllCategoryButton = ({ props: { i18n, onClick } }) => {
6
- const allCategories = i18n.t('all-categories');
5
+ import { getAllCategoriesLocalizedLabel } from './all-categories-localized-label';
6
+ export const renderCategoryFacetAllCategoryButton = ({ props: { i18n, onClick, facetId, field } }) => {
7
+ const allCategories = getAllCategoriesLocalizedLabel({ facetId, field, i18n });
7
8
  return html `
8
9
  ${renderButton({
9
10
  props: {
@@ -0,0 +1,9 @@
1
+ export const getAllCategoriesLocalizedLabel = ({ facetId, field, i18n, }) => {
2
+ if (facetId && i18n.exists(`all-categories-${facetId}`)) {
3
+ return i18n.t(`all-categories-${facetId}`);
4
+ }
5
+ if (i18n.exists(`all-categories-${field}`)) {
6
+ return i18n.t(`all-categories-${field}`);
7
+ }
8
+ return i18n.t('all-categories');
9
+ };
@@ -4,12 +4,17 @@ import { renderButton } from "../../button";
4
4
  import { renderFacetValueLabelHighlight } from "../facet-value-label-highlight/facet-value-label-highlight";
5
5
  import { hierarchicalPath } from "../../../../directives/hierarchical-path";
6
6
  import { getFieldValueCaption } from "../../../../utils/field-utils";
7
+ import { getAllCategoriesLocalizedLabel } from './all-categories-localized-label';
7
8
  const SEPARATOR = '/';
8
9
  const PATH_MAX_LENGTH = 3;
9
10
  export const renderCategoryFacetSearchValue = ({ props }) => {
10
11
  const count = props.value.count.toLocaleString(props.i18n.language);
11
12
  const inLabel = props.i18n.t('in');
12
- const allCategories = props.i18n.t('all-categories');
13
+ const allCategories = getAllCategoriesLocalizedLabel({
14
+ facetId: props.facetId,
15
+ field: props.field,
16
+ i18n: props.i18n,
17
+ });
13
18
  const localizedPath = props.value.path.length
14
19
  ? props.value.path.map((value) => getFieldValueCaption(props.field, value, props.i18n))
15
20
  : [allCategories];
@@ -2,7 +2,7 @@ import { html } from 'lit';
2
2
  import { keyed } from 'lit/directives/keyed.js';
3
3
  import { map } from 'lit/directives/map.js';
4
4
  import { ref } from 'lit/directives/ref.js';
5
- import { tableElementTagName } from "../table-element-utils";
5
+ import { tableElementTagName } from '../../search/atomic-table-result/table-element-utils';
6
6
  export const renderTableLayout = ({ props }) => {
7
7
  const { host, listClasses, logger } = props;
8
8
  const fieldColumns = getFieldTableColumns(props);