@coveo/atomic 3.31.2-pre.ebf2a83c47 → 3.31.2-pre.f527c8a944

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 (255) hide show
  1. package/dist/atomic/_atomic.esm.js +1 -1
  2. package/dist/atomic/atomic.esm.js.map +1 -1
  3. package/dist/atomic/components/_index.d.ts +0 -4
  4. package/dist/atomic/components/_index.js +0 -2
  5. package/dist/atomic/components/analytics-config.js +1 -1
  6. package/dist/atomic/components/atomic-category-facet.js +1 -1
  7. package/dist/atomic/components/atomic-facet.js +1 -1
  8. package/dist/atomic/components/atomic-format-currency.js +1 -1
  9. package/dist/atomic/components/atomic-format-number.js +1 -1
  10. package/dist/atomic/components/atomic-format-unit.js +1 -1
  11. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  12. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  13. package/dist/atomic/components/atomic-quickview.js +1 -1
  14. package/dist/atomic/components/atomic-result-children.js +1 -1
  15. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  16. package/dist/atomic/components/atomic-result-link.js +1 -1
  17. package/dist/atomic/components/atomic-result-list.js +1 -1
  18. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  19. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  20. package/dist/atomic/components/atomic-search-interface.js +1 -7
  21. package/dist/atomic/components/atomic-search-interface.js.map +1 -1
  22. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  23. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  24. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  25. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  26. package/dist/atomic/components/components/commerce/atomic-commerce-interface/analytics-config.js +2 -0
  27. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +6 -1
  28. package/dist/atomic/components/components/commerce/atomic-commerce-recommendation-interface/atomic-commerce-recommendation-interface.js +6 -1
  29. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.js +149 -0
  30. package/dist/atomic/components/components/commerce/atomic-product-description/atomic-product-description.tw.css.js +3 -0
  31. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +1 -0
  32. package/dist/atomic/components/components/commerce/index.js +1 -0
  33. package/dist/atomic/components/components/commerce/lazy-index.js +1 -0
  34. package/dist/atomic/components/components/common/atomic-aria-live/atomic-aria-live.js +102 -0
  35. package/dist/atomic/components/components/common/index.js +1 -0
  36. package/dist/atomic/components/components/common/interface/analytics-config.js +38 -0
  37. package/dist/atomic/components/components/common/lazy-index.js +1 -0
  38. package/dist/atomic/components/debounce-utils.js +1 -34
  39. package/dist/atomic/components/debounce-utils.js.map +1 -1
  40. package/dist/atomic/components/global/environment.js +1 -1
  41. package/dist/atomic/components/index.js.map +1 -1
  42. package/dist/atomic/components/stencil-accessibility-utils.js.map +1 -1
  43. package/dist/atomic/components/stencil-facet-show-more-less.js +7 -1
  44. package/dist/atomic/components/stencil-facet-show-more-less.js.map +1 -1
  45. package/dist/atomic/p-01c91b69.js +2 -0
  46. package/dist/atomic/p-01c91b69.js.map +1 -0
  47. package/dist/atomic/{p-1b491649.entry.js → p-0af927f0.entry.js} +2 -2
  48. package/dist/atomic/{p-b043958c.entry.js → p-0b9cd281.entry.js} +2 -2
  49. package/dist/atomic/{p-e44ba87e.entry.js → p-0f5ae66e.entry.js} +2 -2
  50. package/dist/atomic/{p-0674783d.entry.js → p-1b329f85.entry.js} +2 -2
  51. package/dist/atomic/p-271cf67e.entry.js +2 -0
  52. package/dist/atomic/p-271cf67e.entry.js.map +1 -0
  53. package/dist/atomic/{p-f699c143.entry.js → p-2d132fd3.entry.js} +2 -2
  54. package/dist/atomic/{p-43188440.entry.js → p-2e2a6fe8.entry.js} +2 -2
  55. package/dist/atomic/p-306161d1.entry.js +2 -0
  56. package/dist/atomic/p-417b1b64.js +2 -0
  57. package/dist/atomic/{p-c100197d.js.map → p-417b1b64.js.map} +1 -1
  58. package/dist/atomic/p-44a3c052.entry.js +2 -0
  59. package/dist/atomic/{p-e215ba76.entry.js.map → p-44a3c052.entry.js.map} +1 -1
  60. package/dist/atomic/{p-a0445771.entry.js → p-4c5702ba.entry.js} +2 -2
  61. package/dist/atomic/{p-acc4d5de.js → p-53bcc515.js} +2 -2
  62. package/dist/atomic/{p-e2560da8.entry.js → p-5f64bbe0.entry.js} +2 -2
  63. package/dist/atomic/{p-fc73190d.entry.js → p-6638ca39.entry.js} +2 -2
  64. package/dist/atomic/{p-1176959c.entry.js → p-6f8ae3d2.entry.js} +2 -2
  65. package/dist/atomic/{p-0ed0e8b8.entry.js → p-731f82ed.entry.js} +2 -2
  66. package/dist/atomic/{p-25f8b8d8.entry.js → p-7a07530d.entry.js} +2 -2
  67. package/dist/atomic/{p-c8d47706.entry.js → p-7a5d346b.entry.js} +2 -2
  68. package/dist/atomic/p-8434625a.entry.js +2 -0
  69. package/dist/atomic/{p-8bb323e8.entry.js.map → p-8434625a.entry.js.map} +1 -1
  70. package/dist/atomic/{p-5b888121.entry.js → p-89721f11.entry.js} +2 -2
  71. package/dist/atomic/p-91477908.entry.js +2 -0
  72. package/dist/atomic/{p-3f881919.entry.js.map → p-91477908.entry.js.map} +1 -1
  73. package/dist/atomic/p-91d52cad.entry.js +2 -0
  74. package/dist/atomic/{p-4e77fe24.entry.js.map → p-91d52cad.entry.js.map} +1 -1
  75. package/dist/atomic/p-96a6f84f.js.map +1 -1
  76. package/dist/atomic/{p-29f21264.entry.js → p-9c8e5057.entry.js} +2 -2
  77. package/dist/atomic/{p-11dd759c.entry.js → p-b1f7ac63.entry.js} +2 -2
  78. package/dist/atomic/{p-5fc9f751.entry.js → p-bf5d5c79.entry.js} +2 -2
  79. package/dist/atomic/{p-716e9e1d.entry.js → p-c0025d4c.entry.js} +2 -2
  80. package/dist/atomic/{p-494c57a0.entry.js → p-e406cacd.entry.js} +2 -2
  81. package/dist/atomic/p-e8ba8acd.entry.js +2 -0
  82. package/dist/atomic/{p-0873c1b8.entry.js.map → p-e8ba8acd.entry.js.map} +1 -1
  83. package/dist/atomic/p-f0e861c5.entry.js +2 -0
  84. package/dist/atomic/{p-a55cd386.js → p-f865008d.js} +2 -2
  85. package/dist/atomic/{p-391c26ba.entry.js → p-f9bfd18b.entry.js} +2 -2
  86. package/dist/cjs/_loader.cjs.js +1 -1
  87. package/dist/cjs/{analytics-config-8482ce49.js → analytics-config-0e7adcce.js} +2 -2
  88. package/dist/cjs/{analytics-config-8482ce49.js.map → analytics-config-0e7adcce.js.map} +1 -1
  89. package/dist/cjs/atomic-category-facet.cjs.entry.js +2 -3
  90. package/dist/cjs/atomic-category-facet.cjs.entry.js.map +1 -1
  91. package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -2
  92. package/dist/cjs/atomic-color-facet.cjs.entry.js.map +1 -1
  93. package/dist/cjs/atomic-commerce-category-facet_4.cjs.entry.js +1 -2
  94. package/dist/cjs/atomic-commerce-category-facet_4.cjs.entry.js.map +1 -1
  95. package/dist/cjs/atomic-facet.cjs.entry.js +2 -3
  96. package/dist/cjs/atomic-facet.cjs.entry.js.map +1 -1
  97. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  98. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  99. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  100. package/dist/cjs/atomic-generated-answer.cjs.entry.js +1 -1
  101. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -2
  102. package/dist/cjs/atomic-insight-facet.cjs.entry.js.map +1 -1
  103. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +1 -1
  104. package/dist/cjs/atomic-insight-interface.cjs.entry.js +1 -1
  105. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  106. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  107. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  108. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  109. package/dist/cjs/atomic-recs-interface.cjs.entry.js +1 -1
  110. package/dist/cjs/{atomic-aria-live_2.cjs.entry.js → atomic-relevance-inspector.cjs.entry.js} +1 -68
  111. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js.map +1 -0
  112. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  113. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  114. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  115. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  116. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  117. package/dist/cjs/atomic-search-box.cjs.entry.js +2 -2
  118. package/dist/cjs/atomic-search-interface.cjs.entry.js +1 -1
  119. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  120. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  121. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  122. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  123. package/dist/cjs/atomic.cjs.js +1 -1
  124. package/dist/cjs/debounce-utils-d26bcad4.js +15 -0
  125. package/dist/cjs/debounce-utils-d26bcad4.js.map +1 -0
  126. package/dist/cjs/index-757bc886.js +4 -8
  127. package/dist/cjs/stencil-accessibility-utils-aa4c9f6c.js.map +1 -1
  128. package/dist/cjs/{stencil-facet-show-more-less-21d22973.js → stencil-facet-show-more-less-541e1544.js} +10 -4
  129. package/dist/cjs/stencil-facet-show-more-less-541e1544.js.map +1 -0
  130. package/dist/cjs/{stencil-suggestion-manager-6f778cf0.js → stencil-suggestion-manager-5fa3ac70.js} +2 -2
  131. package/dist/cjs/{stencil-suggestion-manager-6f778cf0.js.map → stencil-suggestion-manager-5fa3ac70.js.map} +1 -1
  132. package/dist/cjs/version.cjs.js +2 -2
  133. package/dist/esm/_loader.js +1 -1
  134. package/dist/esm/{analytics-config-d42bd300.js → analytics-config-5ffedd10.js} +2 -2
  135. package/dist/esm/{analytics-config-d42bd300.js.map → analytics-config-5ffedd10.js.map} +1 -1
  136. package/dist/esm/atomic-category-facet.entry.js +2 -3
  137. package/dist/esm/atomic-category-facet.entry.js.map +1 -1
  138. package/dist/esm/atomic-color-facet.entry.js +1 -2
  139. package/dist/esm/atomic-color-facet.entry.js.map +1 -1
  140. package/dist/esm/atomic-commerce-category-facet_4.entry.js +1 -2
  141. package/dist/esm/atomic-commerce-category-facet_4.entry.js.map +1 -1
  142. package/dist/esm/atomic-facet.entry.js +2 -3
  143. package/dist/esm/atomic-facet.entry.js.map +1 -1
  144. package/dist/esm/atomic-format-currency.entry.js +1 -1
  145. package/dist/esm/atomic-format-number.entry.js +1 -1
  146. package/dist/esm/atomic-format-unit.entry.js +1 -1
  147. package/dist/esm/atomic-generated-answer.entry.js +1 -1
  148. package/dist/esm/atomic-insight-facet.entry.js +1 -2
  149. package/dist/esm/atomic-insight-facet.entry.js.map +1 -1
  150. package/dist/esm/atomic-insight-generated-answer.entry.js +1 -1
  151. package/dist/esm/atomic-insight-interface.entry.js +1 -1
  152. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  153. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  154. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  155. package/dist/esm/atomic-quickview.entry.js +1 -1
  156. package/dist/esm/atomic-recs-interface.entry.js +1 -1
  157. package/dist/esm/{atomic-aria-live_2.entry.js → atomic-relevance-inspector.entry.js} +3 -69
  158. package/dist/esm/atomic-relevance-inspector.entry.js.map +1 -0
  159. package/dist/esm/atomic-result-children.entry.js +1 -1
  160. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  161. package/dist/esm/atomic-result-link.entry.js +1 -1
  162. package/dist/esm/atomic-result-list.entry.js +1 -1
  163. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  164. package/dist/esm/atomic-search-box.entry.js +2 -2
  165. package/dist/esm/atomic-search-interface.entry.js +1 -1
  166. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  167. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  168. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  169. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  170. package/dist/esm/atomic.js +1 -1
  171. package/dist/esm/debounce-utils-8619dece.js +13 -0
  172. package/dist/esm/{debounce-utils-efa015c0.js.map → debounce-utils-8619dece.js.map} +1 -1
  173. package/dist/esm/index-3f35faca.js +4 -8
  174. package/dist/esm/stencil-accessibility-utils-bc273be5.js.map +1 -1
  175. package/dist/esm/{stencil-facet-show-more-less-4b023ee3.js → stencil-facet-show-more-less-1198472f.js} +8 -2
  176. package/dist/esm/stencil-facet-show-more-less-1198472f.js.map +1 -0
  177. package/dist/esm/{stencil-suggestion-manager-91706623.js → stencil-suggestion-manager-f52c6e39.js} +2 -2
  178. package/dist/esm/{stencil-suggestion-manager-91706623.js.map → stencil-suggestion-manager-f52c6e39.js.map} +1 -1
  179. package/dist/esm/version.js +2 -2
  180. package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +21 -10
  181. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +1 -0
  182. package/dist/types/components/commerce/index.d.ts +1 -0
  183. package/dist/types/components/common/atomic-aria-live/atomic-aria-live.d.ts +38 -0
  184. package/dist/types/components/common/index.d.ts +1 -0
  185. package/dist/types/components.d.ts +0 -78
  186. package/dist/types/utils/accessibility-utils.d.ts +2 -1
  187. package/dist/types/utils/stencil-accessibility-utils.d.ts +2 -1
  188. package/docs/atomic-docs.json +1 -157
  189. package/package.json +3 -3
  190. package/dist/atomic/components/atomic-aria-live.d.ts +0 -11
  191. package/dist/atomic/components/atomic-aria-live.js +0 -8
  192. package/dist/atomic/components/atomic-aria-live.js.map +0 -1
  193. package/dist/atomic/components/atomic-aria-live2.js +0 -87
  194. package/dist/atomic/components/atomic-aria-live2.js.map +0 -1
  195. package/dist/atomic/components/atomic-product-description.d.ts +0 -11
  196. package/dist/atomic/components/atomic-product-description.js +0 -153
  197. package/dist/atomic/components/atomic-product-description.js.map +0 -1
  198. package/dist/atomic/components/plus.js +0 -10
  199. package/dist/atomic/components/plus.js.map +0 -1
  200. package/dist/atomic/p-0873c1b8.entry.js +0 -2
  201. package/dist/atomic/p-37b7705c.js +0 -2
  202. package/dist/atomic/p-37b7705c.js.map +0 -1
  203. package/dist/atomic/p-3f2442d3.entry.js +0 -2
  204. package/dist/atomic/p-3f2442d3.entry.js.map +0 -1
  205. package/dist/atomic/p-3f881919.entry.js +0 -2
  206. package/dist/atomic/p-4e77fe24.entry.js +0 -2
  207. package/dist/atomic/p-8bb323e8.entry.js +0 -2
  208. package/dist/atomic/p-8f20d930.js +0 -2
  209. package/dist/atomic/p-8f20d930.js.map +0 -1
  210. package/dist/atomic/p-c100197d.js +0 -2
  211. package/dist/atomic/p-e215ba76.entry.js +0 -2
  212. package/dist/atomic/p-e790d557.entry.js +0 -2
  213. package/dist/atomic/p-efd2bb5f.entry.js +0 -2
  214. package/dist/atomic/p-f2d31b97.entry.js +0 -2
  215. package/dist/atomic/p-f2d31b97.entry.js.map +0 -1
  216. package/dist/cjs/atomic-aria-live_2.cjs.entry.js.map +0 -1
  217. package/dist/cjs/atomic-product-description.cjs.entry.js +0 -141
  218. package/dist/cjs/atomic-product-description.cjs.entry.js.map +0 -1
  219. package/dist/cjs/debounce-utils-e014935f.js +0 -49
  220. package/dist/cjs/debounce-utils-e014935f.js.map +0 -1
  221. package/dist/cjs/plus-07843914.js +0 -13
  222. package/dist/cjs/plus-07843914.js.map +0 -1
  223. package/dist/cjs/stencil-facet-show-more-less-21d22973.js.map +0 -1
  224. package/dist/esm/atomic-aria-live_2.entry.js.map +0 -1
  225. package/dist/esm/atomic-product-description.entry.js +0 -137
  226. package/dist/esm/atomic-product-description.entry.js.map +0 -1
  227. package/dist/esm/debounce-utils-efa015c0.js +0 -46
  228. package/dist/esm/plus-00840ff6.js +0 -10
  229. package/dist/esm/plus-00840ff6.js.map +0 -1
  230. package/dist/esm/stencil-facet-show-more-less-4b023ee3.js.map +0 -1
  231. package/dist/types/components/search/atomic-search-interface/atomic-aria-live.d.ts +0 -23
  232. /package/dist/atomic/{p-1b491649.entry.js.map → p-0af927f0.entry.js.map} +0 -0
  233. /package/dist/atomic/{p-b043958c.entry.js.map → p-0b9cd281.entry.js.map} +0 -0
  234. /package/dist/atomic/{p-e44ba87e.entry.js.map → p-0f5ae66e.entry.js.map} +0 -0
  235. /package/dist/atomic/{p-0674783d.entry.js.map → p-1b329f85.entry.js.map} +0 -0
  236. /package/dist/atomic/{p-f699c143.entry.js.map → p-2d132fd3.entry.js.map} +0 -0
  237. /package/dist/atomic/{p-43188440.entry.js.map → p-2e2a6fe8.entry.js.map} +0 -0
  238. /package/dist/atomic/{p-efd2bb5f.entry.js.map → p-306161d1.entry.js.map} +0 -0
  239. /package/dist/atomic/{p-a0445771.entry.js.map → p-4c5702ba.entry.js.map} +0 -0
  240. /package/dist/atomic/{p-acc4d5de.js.map → p-53bcc515.js.map} +0 -0
  241. /package/dist/atomic/{p-e2560da8.entry.js.map → p-5f64bbe0.entry.js.map} +0 -0
  242. /package/dist/atomic/{p-fc73190d.entry.js.map → p-6638ca39.entry.js.map} +0 -0
  243. /package/dist/atomic/{p-1176959c.entry.js.map → p-6f8ae3d2.entry.js.map} +0 -0
  244. /package/dist/atomic/{p-0ed0e8b8.entry.js.map → p-731f82ed.entry.js.map} +0 -0
  245. /package/dist/atomic/{p-25f8b8d8.entry.js.map → p-7a07530d.entry.js.map} +0 -0
  246. /package/dist/atomic/{p-c8d47706.entry.js.map → p-7a5d346b.entry.js.map} +0 -0
  247. /package/dist/atomic/{p-5b888121.entry.js.map → p-89721f11.entry.js.map} +0 -0
  248. /package/dist/atomic/{p-29f21264.entry.js.map → p-9c8e5057.entry.js.map} +0 -0
  249. /package/dist/atomic/{p-11dd759c.entry.js.map → p-b1f7ac63.entry.js.map} +0 -0
  250. /package/dist/atomic/{p-5fc9f751.entry.js.map → p-bf5d5c79.entry.js.map} +0 -0
  251. /package/dist/atomic/{p-716e9e1d.entry.js.map → p-c0025d4c.entry.js.map} +0 -0
  252. /package/dist/atomic/{p-494c57a0.entry.js.map → p-e406cacd.entry.js.map} +0 -0
  253. /package/dist/atomic/{p-e790d557.entry.js.map → p-f0e861c5.entry.js.map} +0 -0
  254. /package/dist/atomic/{p-a55cd386.js.map → p-f865008d.js.map} +0 -0
  255. /package/dist/atomic/{p-391c26ba.entry.js.map → p-f9bfd18b.entry.js.map} +0 -0
@@ -1,42 +1,11 @@
1
1
  {
2
- "timestamp": "2025-07-30T18:51:54",
2
+ "timestamp": "2025-07-31T13:41:28",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.20.0",
6
6
  "typescriptVersion": "5.5.3"
7
7
  },
8
8
  "components": [
9
- {
10
- "filePath": "src/components/search/atomic-search-interface/atomic-aria-live.tsx",
11
- "encapsulation": "none",
12
- "tag": "atomic-aria-live",
13
- "docs": "The `atomic-aria-live` component notifies screen readers of changes in the search interface.",
14
- "docsTags": [],
15
- "usage": {},
16
- "props": [],
17
- "methods": [],
18
- "events": [],
19
- "listeners": [
20
- {
21
- "event": "atomic/accessibility/findAriaLive",
22
- "target": "document",
23
- "capture": false,
24
- "passive": false
25
- }
26
- ],
27
- "styles": [],
28
- "slots": [],
29
- "parts": [],
30
- "dependents": [
31
- "atomic-search-interface"
32
- ],
33
- "dependencies": [],
34
- "dependencyGraph": {
35
- "atomic-search-interface": [
36
- "atomic-aria-live"
37
- ]
38
- }
39
- },
40
9
  {
41
10
  "filePath": "src/components/search/facets/atomic-automatic-facet/atomic-automatic-facet.tsx",
42
11
  "encapsulation": "shadow",
@@ -6593,124 +6562,6 @@
6593
6562
  ]
6594
6563
  }
6595
6564
  },
6596
- {
6597
- "filePath": "src/components/commerce/atomic-product-description/atomic-product-description.tsx",
6598
- "encapsulation": "none",
6599
- "tag": "atomic-product-description",
6600
- "docs": "",
6601
- "docsTags": [
6602
- {
6603
- "name": "alpha",
6604
- "text": "The `atomic-product-description` component renders the description of a product."
6605
- }
6606
- ],
6607
- "usage": {},
6608
- "props": [
6609
- {
6610
- "name": "field",
6611
- "type": "\"ec_description\" | \"ec_shortdesc\"",
6612
- "complexType": {
6613
- "original": "'ec_description' | 'ec_shortdesc'",
6614
- "resolved": "\"ec_description\" | \"ec_shortdesc\"",
6615
- "references": {}
6616
- },
6617
- "mutable": false,
6618
- "attr": "field",
6619
- "reflectToAttr": false,
6620
- "docs": "The name of the description field to use.",
6621
- "docsTags": [],
6622
- "default": "'ec_shortdesc'",
6623
- "values": [
6624
- {
6625
- "value": "ec_description",
6626
- "type": "string"
6627
- },
6628
- {
6629
- "value": "ec_shortdesc",
6630
- "type": "string"
6631
- }
6632
- ],
6633
- "optional": false,
6634
- "required": false
6635
- },
6636
- {
6637
- "name": "isCollapsible",
6638
- "type": "boolean",
6639
- "complexType": {
6640
- "original": "boolean",
6641
- "resolved": "boolean",
6642
- "references": {}
6643
- },
6644
- "mutable": false,
6645
- "attr": "is-collapsible",
6646
- "reflectToAttr": false,
6647
- "docs": "Whether the description should be collapsible after being expanded.",
6648
- "docsTags": [],
6649
- "default": "true",
6650
- "values": [
6651
- {
6652
- "type": "boolean"
6653
- }
6654
- ],
6655
- "optional": false,
6656
- "required": false
6657
- },
6658
- {
6659
- "name": "truncateAfter",
6660
- "type": "\"1\" | \"2\" | \"3\" | \"4\" | \"none\"",
6661
- "complexType": {
6662
- "original": "TruncateAfter",
6663
- "resolved": "\"1\" | \"2\" | \"3\" | \"4\" | \"none\"",
6664
- "references": {
6665
- "TruncateAfter": {
6666
- "location": "import",
6667
- "path": "../../common/expandable-text/stencil-expandable-text",
6668
- "id": "src/components/common/expandable-text/stencil-expandable-text.tsx::TruncateAfter"
6669
- }
6670
- }
6671
- },
6672
- "mutable": false,
6673
- "attr": "truncate-after",
6674
- "reflectToAttr": false,
6675
- "docs": "The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.",
6676
- "docsTags": [],
6677
- "default": "'2'",
6678
- "values": [
6679
- {
6680
- "value": "1",
6681
- "type": "string"
6682
- },
6683
- {
6684
- "value": "2",
6685
- "type": "string"
6686
- },
6687
- {
6688
- "value": "3",
6689
- "type": "string"
6690
- },
6691
- {
6692
- "value": "4",
6693
- "type": "string"
6694
- },
6695
- {
6696
- "value": "none",
6697
- "type": "string"
6698
- }
6699
- ],
6700
- "optional": false,
6701
- "required": false
6702
- }
6703
- ],
6704
- "methods": [],
6705
- "events": [],
6706
- "listeners": [],
6707
- "styles": [],
6708
- "slots": [],
6709
- "parts": [],
6710
- "dependents": [],
6711
- "dependencies": [],
6712
- "dependencyGraph": {}
6713
- },
6714
6565
  {
6715
6566
  "filePath": "src/components/commerce/atomic-product-field-condition/atomic-product-field-condition.tsx",
6716
6567
  "encapsulation": "none",
@@ -15060,12 +14911,10 @@
15060
14911
  "parts": [],
15061
14912
  "dependents": [],
15062
14913
  "dependencies": [
15063
- "atomic-aria-live",
15064
14914
  "atomic-relevance-inspector"
15065
14915
  ],
15066
14916
  "dependencyGraph": {
15067
14917
  "atomic-search-interface": [
15068
- "atomic-aria-live",
15069
14918
  "atomic-relevance-inspector"
15070
14919
  ],
15071
14920
  "atomic-relevance-inspector": [
@@ -17809,11 +17658,6 @@
17809
17658
  "docstring": "",
17810
17659
  "path": "src/components/common/item-list/stencil-item-list-common.tsx"
17811
17660
  },
17812
- "src/components/common/expandable-text/stencil-expandable-text.tsx::TruncateAfter": {
17813
- "declaration": "export type TruncateAfter = 'none' | '1' | '2' | '3' | '4';",
17814
- "docstring": "",
17815
- "path": "src/components/common/expandable-text/stencil-expandable-text.tsx"
17816
- },
17817
17661
  "src/components.d.ts::ItemDisplayImageSize": {
17818
17662
  "declaration": "any",
17819
17663
  "docstring": "",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coveo/atomic",
3
3
  "type": "module",
4
- "version": "3.31.2-pre.ebf2a83c47",
4
+ "version": "3.31.2-pre.f527c8a944",
5
5
  "description": "A web-component library for building modern UIs interfacing with the Coveo platform",
6
6
  "homepage": "https://docs.coveo.com/en/atomic/latest/",
7
7
  "repository": {
@@ -72,7 +72,7 @@
72
72
  "dependencies": {
73
73
  "@lit/context": "1.1.6",
74
74
  "@coveo/bueno": "1.0.24",
75
- "@coveo/headless": "3.27.7",
75
+ "@coveo/headless": "3.27.8-pre.f527c8a944",
76
76
  "@popperjs/core": "2.11.8",
77
77
  "@salesforce-ux/design-system": "2.27.2",
78
78
  "@stencil/core": "4.20.0",
@@ -158,7 +158,7 @@
158
158
  },
159
159
  "peerDependencies": {
160
160
  "@coveo/bueno": "1.0.24",
161
- "@coveo/headless": "3.27.7",
161
+ "@coveo/headless": "3.27.8-pre.f527c8a944",
162
162
  "typescript": ">=5.0.0"
163
163
  },
164
164
  "peerDependenciesMeta": {
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../../types/components";
2
-
3
- interface AtomicAriaLive extends Components.AtomicAriaLive, HTMLElement {}
4
- export const AtomicAriaLive: {
5
- prototype: AtomicAriaLive;
6
- new (): AtomicAriaLive;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,8 +0,0 @@
1
- import { A as AtomicAriaLive$1, d as defineCustomElement$1 } from './atomic-aria-live2.js';
2
-
3
- const AtomicAriaLive = AtomicAriaLive$1;
4
- const defineCustomElement = defineCustomElement$1;
5
-
6
- export { AtomicAriaLive, defineCustomElement };
7
-
8
- //# sourceMappingURL=atomic-aria-live.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-aria-live.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,87 +0,0 @@
1
- import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { b as buildDebouncedQueue } from './debounce-utils.js';
3
- import { r as randomID } from './utils.js';
4
-
5
- const AtomicAriaLive = /*@__PURE__*/ proxyCustomElement(class AtomicAriaLive extends HTMLElement {
6
- constructor() {
7
- super();
8
- this.__registerHost();
9
- this.regions = {};
10
- this.messagesQueue = buildDebouncedQueue({ delay: 500 });
11
- this.regions = {};
12
- }
13
- onFindAriaLive({ detail: args }) {
14
- if (!args.element || !this.isInSearchInterface) {
15
- args.element = this.host;
16
- }
17
- }
18
- get isInSearchInterface() {
19
- let element = this.host;
20
- while (element) {
21
- if (element.tagName === 'ATOMIC-SEARCH-INTERFACE') {
22
- return true;
23
- }
24
- element = element.parentElement;
25
- }
26
- return false;
27
- }
28
- connectedCallback() {
29
- this.id = randomID('atomic-aria-live-');
30
- }
31
- /**
32
- * @internal
33
- */
34
- async updateMessage(region, message, assertive) {
35
- const updateRegion = () => (this.regions = { ...this.regions, [region]: { assertive, message } });
36
- if (message) {
37
- this.messagesQueue.enqueue(updateRegion, region);
38
- }
39
- else {
40
- this.messagesQueue.cancelActionIfQueued(region);
41
- updateRegion();
42
- }
43
- }
44
- /**
45
- * @internal
46
- */
47
- async registerRegion(region, assertive) {
48
- if (region in this.regions) {
49
- return;
50
- }
51
- this.regions = { ...this.regions, [region]: { assertive, message: '' } };
52
- }
53
- disconnectedCallback() {
54
- this.messagesQueue.clear();
55
- }
56
- render() {
57
- return (h(Host, { key: '5351e58c1abf430a4c9086b313690cdc7b5fc848', style: {
58
- position: 'absolute',
59
- display: 'block',
60
- height: '0',
61
- overflow: 'hidden',
62
- margin: '0',
63
- } }, Object.entries(this.regions).map(([regionName, { assertive, message }]) => (h("div", { key: regionName, id: `${this.id}-${regionName}`, "aria-live": assertive ? 'assertive' : 'polite', role: "status" }, message)))));
64
- }
65
- get host() { return this; }
66
- }, [0, "atomic-aria-live", {
67
- "regions": [32],
68
- "updateMessage": [64],
69
- "registerRegion": [64]
70
- }, [[4, "atomic/accessibility/findAriaLive", "onFindAriaLive"]]]);
71
- function defineCustomElement() {
72
- if (typeof customElements === "undefined") {
73
- return;
74
- }
75
- const components = ["atomic-aria-live"];
76
- components.forEach(tagName => { switch (tagName) {
77
- case "atomic-aria-live":
78
- if (!customElements.get(tagName)) {
79
- customElements.define(tagName, AtomicAriaLive);
80
- }
81
- break;
82
- } });
83
- }
84
-
85
- export { AtomicAriaLive as A, defineCustomElement as d };
86
-
87
- //# sourceMappingURL=atomic-aria-live2.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-aria-live2.js","mappings":";;;;MAsBa,cAAc;;;;QAER,YAAO,GAAsB,EAAE,CAAC;QAEzC,kBAAa,GAAG,mBAAmB,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,CAAC,CAAC;uBAFZ,EAAE;;IAMtC,cAAc,CAAC,EAAC,MAAM,EAAE,IAAI,EAAqC;QACzE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;YAC9C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;SAC1B;KACF;IAED,IAAY,mBAAmB;QAC7B,IAAI,OAAO,GAAmB,IAAI,CAAC,IAAI,CAAC;QACxC,OAAO,OAAO,EAAE;YACd,IAAI,OAAO,CAAC,OAAO,KAAK,yBAAyB,EAAE;gBACjD,OAAO,IAAI,CAAC;aACb;YACD,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC;SACjC;QACD,OAAO,KAAK,CAAC;KACd;IAED,iBAAiB;QACf,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;KACzC;;;;IAMM,MAAM,aAAa,CACxB,MAAc,EACd,OAAe,EACf,SAAkB;QAElB,MAAM,YAAY,GAAG,OAClB,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,EAAC,SAAS,EAAE,OAAO,EAAC,EAAC,CAAC,CAAC;QAErE,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAChD,YAAY,EAAE,CAAC;SAChB;KACF;;;;IAMM,MAAM,cAAc,CAAC,MAAc,EAAE,SAAkB;QAC5D,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YAC1B,OAAO;SACR;QACD,IAAI,CAAC,OAAO,GAAG,EAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,GAAG,EAAC,SAAS,EAAE,OAAO,EAAE,EAAE,EAAC,EAAC,CAAC;KACtE;IAEM,oBAAoB;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC5B;IAEM,MAAM;QACX,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,QAAQ,EAAE,UAAU;gBACpB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,GAAG;gBACX,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,GAAG;aACZ,IAEA,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAC/B,CAAC,CAAC,UAAU,EAAE,EAAC,SAAS,EAAE,OAAO,EAAC,CAAC,MACjC,WACE,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,GAAG,IAAI,CAAC,EAAE,IAAI,UAAU,EAAE,eACnB,SAAS,GAAG,WAAW,GAAG,QAAQ,EAC7C,IAAI,EAAC,QAAQ,IAEZ,OAAO,CACJ,CACP,CACF,CACI,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/search/atomic-search-interface/atomic-aria-live.tsx"],"sourcesContent":["import {\n Component,\n h,\n State,\n Element,\n Method,\n Listen,\n Host,\n} from '@stencil/core';\nimport {buildDebouncedQueue} from '../../../utils/debounce-utils';\nimport {FindAriaLiveEventArgs} from '../../../utils/stencil-accessibility-utils';\nimport {randomID} from '../../../utils/utils';\n\ntype Regions = {[regionName: string]: {assertive: boolean; message: string}};\n\n/**\n * The `atomic-aria-live` component notifies screen readers of changes in the search interface.\n */\n@Component({\n tag: 'atomic-aria-live',\n shadow: false,\n})\nexport class AtomicAriaLive {\n @Element() private host!: HTMLAtomicAriaLiveElement;\n @State() private regions: Readonly<Regions> = {};\n\n private messagesQueue = buildDebouncedQueue({delay: 500});\n private id!: string;\n\n @Listen('atomic/accessibility/findAriaLive', {target: 'document'})\n protected onFindAriaLive({detail: args}: CustomEvent<FindAriaLiveEventArgs>) {\n if (!args.element || !this.isInSearchInterface) {\n args.element = this.host;\n }\n }\n\n private get isInSearchInterface() {\n let element: Element | null = this.host;\n while (element) {\n if (element.tagName === 'ATOMIC-SEARCH-INTERFACE') {\n return true;\n }\n element = element.parentElement;\n }\n return false;\n }\n\n connectedCallback() {\n this.id = randomID('atomic-aria-live-');\n }\n\n /**\n * @internal\n */\n @Method()\n public async updateMessage(\n region: string,\n message: string,\n assertive: boolean\n ) {\n const updateRegion = () =>\n (this.regions = {...this.regions, [region]: {assertive, message}});\n\n if (message) {\n this.messagesQueue.enqueue(updateRegion, region);\n } else {\n this.messagesQueue.cancelActionIfQueued(region);\n updateRegion();\n }\n }\n\n /**\n * @internal\n */\n @Method()\n public async registerRegion(region: string, assertive: boolean) {\n if (region in this.regions) {\n return;\n }\n this.regions = {...this.regions, [region]: {assertive, message: ''}};\n }\n\n public disconnectedCallback() {\n this.messagesQueue.clear();\n }\n\n public render() {\n return (\n <Host\n style={{\n position: 'absolute',\n display: 'block',\n height: '0',\n overflow: 'hidden',\n margin: '0',\n }}\n >\n {Object.entries(this.regions).map(\n ([regionName, {assertive, message}]) => (\n <div\n key={regionName}\n id={`${this.id}-${regionName}`}\n aria-live={assertive ? 'assertive' : 'polite'}\n role=\"status\"\n >\n {message}\n </div>\n )\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../../types/components";
2
-
3
- interface AtomicProductDescription extends Components.AtomicProductDescription, HTMLElement {}
4
- export const AtomicProductDescription: {
5
- prototype: AtomicProductDescription;
6
- new (): AtomicProductDescription;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;
@@ -1,153 +0,0 @@
1
- import { h, proxyCustomElement, HTMLElement } from '@stencil/core/internal/client';
2
- import { Schema, StringValue } from '@coveo/bueno';
3
- import { I as InitializeBindings, H as Hidden } from './initialization-utils.js';
4
- import { M as MinusIcon, P as PlusIcon } from './plus.js';
5
- import { B as Button } from './stencil-button.js';
6
- import { P as ProductContext } from './stencil-product-template-decorators.js';
7
-
8
- const getLineClampClass = (truncateAfter) => {
9
- const lineClampMap = {
10
- none: 'line-clamp-none',
11
- 1: 'line-clamp-1',
12
- 2: 'line-clamp-2',
13
- 3: 'line-clamp-3',
14
- 4: 'line-clamp-4',
15
- };
16
- return lineClampMap[truncateAfter] || 'line-clamp-2';
17
- };
18
- const renderShowHideButton = (isExpanded, isTruncated, isCollapsible, onToggleExpand, showMoreLabel, showLessLabel) => {
19
- let buttonClass = 'expandable-text-button p-1 text-xs leading-[calc(1/.75)]';
20
- if (!isTruncated && !isExpanded) {
21
- buttonClass += ' invisible';
22
- }
23
- else if (!isCollapsible && !isTruncated && isExpanded) {
24
- buttonClass += ' hidden';
25
- }
26
- const label = isExpanded ? showLessLabel : showMoreLabel;
27
- return (h(Button, { style: "text-primary", class: buttonClass, title: label, onClick: onToggleExpand },
28
- h("atomic-icon", { icon: isExpanded ? MinusIcon : PlusIcon, class: "mx-1 w-2 align-baseline" }),
29
- label));
30
- };
31
- const ExpandableText = ({ isExpanded, isTruncated, truncateAfter, onToggleExpand, showMoreLabel, showLessLabel, isCollapsible = false, }, children) => {
32
- return (h("div", { class: "flex flex-col items-start" },
33
- h("div", { part: "expandable-text", class: `expandable-text ${!isExpanded ? getLineClampClass(truncateAfter) : ''} min-lines-${truncateAfter}` }, children),
34
- renderShowHideButton(isExpanded, isTruncated, isCollapsible, onToggleExpand, showMoreLabel, showLessLabel)));
35
- };
36
-
37
- const atomicProductDescriptionCss = "/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */.expandable-text{line-height:var(--line-height)}.min-lines-1{min-height:calc(var(--line-height) * 1)}.min-lines-2{min-height:calc(var(--line-height) * 2)}.min-lines-3{min-height:calc(var(--line-height) * 3)}.min-lines-4{min-height:calc(var(--line-height) * 4)}";
38
- const AtomicProductDescriptionStyle0 = atomicProductDescriptionCss;
39
-
40
- var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
41
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
42
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
43
- r = Reflect.decorate(decorators, target, key, desc);
44
- else
45
- for (var i = decorators.length - 1; i >= 0; i--)
46
- if (d = decorators[i])
47
- r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
48
- return c > 3 && r && Object.defineProperty(target, key, r), r;
49
- };
50
- const AtomicProductDescription$1 = /*@__PURE__*/ proxyCustomElement(class AtomicProductDescription extends HTMLElement {
51
- constructor() {
52
- super();
53
- this.__registerHost();
54
- this.isExpanded = false;
55
- this.isTruncated = false;
56
- /**
57
- * The number of lines after which the product description should be truncated. A value of "none" will disable truncation.
58
- */
59
- this.truncateAfter = '2';
60
- /**
61
- * The name of the description field to use.
62
- */
63
- this.field = 'ec_shortdesc';
64
- /**
65
- * Whether the description should be collapsible after being expanded.
66
- */
67
- this.isCollapsible = true;
68
- this.isExpanded = false;
69
- this.isTruncated = false;
70
- this.truncateAfter = '2';
71
- this.field = 'ec_shortdesc';
72
- this.isCollapsible = true;
73
- this.resizeObserver = new ResizeObserver(() => {
74
- if (this.descriptionText &&
75
- this.descriptionText.scrollHeight > this.descriptionText.clientHeight) {
76
- this.isTruncated = true;
77
- }
78
- else {
79
- this.isTruncated = false;
80
- }
81
- });
82
- this.validateProps();
83
- }
84
- validateProps() {
85
- new Schema({
86
- truncateAfter: new StringValue({
87
- constrainTo: ['none', '1', '2', '3', '4'],
88
- }),
89
- field: new StringValue({
90
- constrainTo: ['ec_shortdesc', 'ec_description'],
91
- }),
92
- }).validate({
93
- truncateAfter: this.truncateAfter,
94
- field: this.field,
95
- });
96
- }
97
- componentDidLoad() {
98
- this.descriptionText = this.hostElement.querySelector('.expandable-text');
99
- if (this.descriptionText) {
100
- this.resizeObserver.observe(this.descriptionText);
101
- }
102
- }
103
- onToggleExpand(e) {
104
- if (e) {
105
- e.stopPropagation();
106
- }
107
- this.isExpanded = !this.isExpanded;
108
- }
109
- disconnectedCallback() {
110
- this.resizeObserver.disconnect();
111
- }
112
- render() {
113
- const productDescription = this.product[this.field] ?? null;
114
- if (!productDescription) {
115
- return h(Hidden, null);
116
- }
117
- return (h(ExpandableText, { isExpanded: this.isExpanded, isTruncated: this.isTruncated, truncateAfter: this.truncateAfter, onToggleExpand: (e) => this.onToggleExpand(e), showMoreLabel: this.bindings.i18n.t('show-more'), showLessLabel: this.bindings.i18n.t('show-less'), isCollapsible: this.isCollapsible }, h("atomic-product-text", { field: this.field })));
118
- }
119
- get hostElement() { return this; }
120
- static get style() { return AtomicProductDescriptionStyle0; }
121
- }, [0, "atomic-product-description", {
122
- "truncateAfter": [1, "truncate-after"],
123
- "field": [1],
124
- "isCollapsible": [4, "is-collapsible"],
125
- "isExpanded": [32],
126
- "isTruncated": [32]
127
- }]);
128
- __decorate([
129
- InitializeBindings()
130
- ], AtomicProductDescription$1.prototype, "bindings", void 0);
131
- __decorate([
132
- ProductContext()
133
- ], AtomicProductDescription$1.prototype, "product", void 0);
134
- function defineCustomElement$1() {
135
- if (typeof customElements === "undefined") {
136
- return;
137
- }
138
- const components = ["atomic-product-description"];
139
- components.forEach(tagName => { switch (tagName) {
140
- case "atomic-product-description":
141
- if (!customElements.get(tagName)) {
142
- customElements.define(tagName, AtomicProductDescription$1);
143
- }
144
- break;
145
- } });
146
- }
147
-
148
- const AtomicProductDescription = AtomicProductDescription$1;
149
- const defineCustomElement = defineCustomElement$1;
150
-
151
- export { AtomicProductDescription, defineCustomElement };
152
-
153
- //# sourceMappingURL=atomic-product-description.js.map
@@ -1 +0,0 @@
1
- {"file":"atomic-product-description.js","mappings":"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","names":["AtomicProductDescription"],"sources":["src/components/common/expandable-text/stencil-expandable-text.tsx","src/components/commerce/atomic-product-description/atomic-product-description.pcss?tag=atomic-product-description","src/components/commerce/atomic-product-description/atomic-product-description.tsx"],"sourcesContent":["import {FunctionalComponent, h} from '@stencil/core';\nimport MinusIcon from '../../../images/minus.svg';\nimport PlusIcon from '../../../images/plus.svg';\nimport {Button} from '../stencil-button';\n\nexport type TruncateAfter = 'none' | '1' | '2' | '3' | '4';\n\ninterface ExpandableTextProps {\n isExpanded: boolean;\n isTruncated: boolean;\n isCollapsible?: boolean;\n truncateAfter: TruncateAfter;\n onToggleExpand: (e: MouseEvent | undefined) => void;\n showMoreLabel: string;\n showLessLabel: string;\n}\n\nconst getLineClampClass = (truncateAfter: TruncateAfter) => {\n const lineClampMap: Record<TruncateAfter, string> = {\n none: 'line-clamp-none',\n 1: 'line-clamp-1',\n 2: 'line-clamp-2',\n 3: 'line-clamp-3',\n 4: 'line-clamp-4',\n };\n return lineClampMap[truncateAfter] || 'line-clamp-2';\n};\n\nconst renderShowHideButton = (\n isExpanded: boolean,\n isTruncated: boolean,\n isCollapsible: boolean,\n onToggleExpand: (e?: MouseEvent) => void,\n showMoreLabel: string,\n showLessLabel: string\n) => {\n let buttonClass = 'expandable-text-button p-1 text-xs leading-[calc(1/.75)]';\n if (!isTruncated && !isExpanded) {\n buttonClass += ' invisible';\n } else if (!isCollapsible && !isTruncated && isExpanded) {\n buttonClass += ' hidden';\n }\n\n const label = isExpanded ? showLessLabel : showMoreLabel;\n\n return (\n <Button\n style=\"text-primary\"\n class={buttonClass}\n title={label}\n onClick={onToggleExpand}\n >\n <atomic-icon\n icon={isExpanded ? MinusIcon : PlusIcon}\n class=\"mx-1 w-2 align-baseline\"\n ></atomic-icon>\n {label}\n </Button>\n );\n};\n\nexport const ExpandableText: FunctionalComponent<ExpandableTextProps> = (\n {\n isExpanded,\n isTruncated,\n truncateAfter,\n onToggleExpand,\n showMoreLabel,\n showLessLabel,\n isCollapsible = false,\n },\n children\n) => {\n return (\n <div class=\"flex flex-col items-start\">\n <div\n part=\"expandable-text\"\n class={`expandable-text ${!isExpanded ? getLineClampClass(truncateAfter) : ''} min-lines-${truncateAfter}`}\n >\n {children}\n </div>\n {renderShowHideButton(\n isExpanded,\n isTruncated,\n isCollapsible,\n onToggleExpand,\n showMoreLabel,\n showLessLabel\n )}\n </div>\n );\n};\n","@import '../../common/expandable-text/expandable-text.pcss';\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {Product} from '@coveo/headless/commerce';\nimport {Component, State, h, Element, Prop} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {\n ExpandableText,\n TruncateAfter,\n} from '../../common/expandable-text/stencil-expandable-text';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\n\n/**\n * @alpha\n * The `atomic-product-description` component renders the description of a product.\n */\n@Component({\n tag: 'atomic-product-description',\n styleUrl: 'atomic-product-description.pcss',\n shadow: false,\n})\nexport class AtomicProductDescription\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n public error!: Error;\n\n @State() private isExpanded = false;\n @State() private isTruncated = false;\n\n private descriptionText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product description should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * The name of the description field to use.\n */\n @Prop() public field: 'ec_description' | 'ec_shortdesc' = 'ec_shortdesc';\n\n /**\n * Whether the description should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = true;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.descriptionText &&\n this.descriptionText.scrollHeight > this.descriptionText.clientHeight\n ) {\n this.isTruncated = true;\n } else {\n this.isTruncated = false;\n }\n });\n this.validateProps();\n }\n\n private validateProps() {\n new Schema({\n truncateAfter: new StringValue({\n constrainTo: ['none', '1', '2', '3', '4'],\n }),\n field: new StringValue({\n constrainTo: ['ec_shortdesc', 'ec_description'],\n }),\n }).validate({\n truncateAfter: this.truncateAfter,\n field: this.field,\n });\n }\n\n componentDidLoad() {\n this.descriptionText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.descriptionText) {\n this.resizeObserver.observe(this.descriptionText);\n }\n }\n\n private onToggleExpand(e?: MouseEvent) {\n if (e) {\n e.stopPropagation();\n }\n\n this.isExpanded = !this.isExpanded;\n }\n\n disconnectedCallback() {\n this.resizeObserver.disconnect();\n }\n\n public render() {\n const productDescription = this.product[this.field] ?? null;\n\n if (!productDescription) {\n return <Hidden />;\n }\n\n return (\n <ExpandableText\n isExpanded={this.isExpanded}\n isTruncated={this.isTruncated}\n truncateAfter={this.truncateAfter}\n onToggleExpand={(e) => this.onToggleExpand(e)}\n showMoreLabel={this.bindings.i18n.t('show-more')}\n showLessLabel={this.bindings.i18n.t('show-less')}\n isCollapsible={this.isCollapsible}\n >\n <atomic-product-text field={this.field}></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
@@ -1,10 +0,0 @@
1
- const MinusIcon = `<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m64 208h384v96h-384z"/></svg>`;
2
-
3
- const PlusIcon = `<svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
4
- <path d="M496 208H304V16h-96v192H16v96h192v192h96V304h192"/>
5
- </svg>
6
- `;
7
-
8
- export { MinusIcon as M, PlusIcon as P };
9
-
10
- //# sourceMappingURL=plus.js.map
@@ -1 +0,0 @@
1
- {"file":"plus.js","mappings":";;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}