@coveo/atomic 3.27.5-pre.fc6b95219b → 3.28.0-pre.1b995035ea

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 (655) 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 -8
  4. package/dist/atomic/components/_index.js +0 -4
  5. package/dist/atomic/components/atomic-aria-live2.js +1 -1
  6. package/dist/atomic/components/atomic-category-facet.js +1 -1
  7. package/dist/atomic/components/atomic-citation.js +1 -1
  8. package/dist/atomic/components/atomic-commerce-category-facet2.js +1 -1
  9. package/dist/atomic/components/atomic-commerce-numeric-facet2.js +2 -2
  10. package/dist/atomic/components/atomic-commerce-query-error.js +1 -1
  11. package/dist/atomic/components/atomic-commerce-query-error.js.map +1 -1
  12. package/dist/atomic/components/atomic-commerce-recommendation-interface.js +1 -1
  13. package/dist/atomic/components/atomic-commerce-refine-modal2.js +1 -1
  14. package/dist/atomic/components/atomic-commerce-refine-toggle.js +1 -1
  15. package/dist/atomic/components/atomic-commerce-timeframe-facet2.js +1 -1
  16. package/dist/atomic/components/atomic-facet-manager.js +1 -1
  17. package/dist/atomic/components/atomic-facet.js +1 -1
  18. package/dist/atomic/components/atomic-format-currency.js +1 -1
  19. package/dist/atomic/components/atomic-format-number.js +1 -1
  20. package/dist/atomic/components/atomic-format-unit.js +1 -1
  21. package/dist/atomic/components/atomic-generated-answer-feedback-modal.js +1 -1
  22. package/dist/atomic/components/atomic-generated-answer.js +14 -0
  23. package/dist/atomic/components/atomic-generated-answer.js.map +1 -1
  24. package/dist/atomic/components/atomic-html2.js +1 -1
  25. package/dist/atomic/components/atomic-insight-edit-toggle.js +1 -1
  26. package/dist/atomic/components/atomic-insight-facet.js +1 -1
  27. package/dist/atomic/components/atomic-insight-folded-result-list.js +1 -1
  28. package/dist/atomic/components/atomic-insight-full-search-button.js +1 -1
  29. package/dist/atomic/components/atomic-insight-generated-answer.js +14 -0
  30. package/dist/atomic/components/atomic-insight-generated-answer.js.map +1 -1
  31. package/dist/atomic/components/atomic-insight-history-toggle.js +1 -1
  32. package/dist/atomic/components/atomic-insight-no-results.js +1 -1
  33. package/dist/atomic/components/atomic-insight-numeric-facet.js +1 -1
  34. package/dist/atomic/components/atomic-insight-pager.js +3 -3
  35. package/dist/atomic/components/atomic-insight-query-error.js +1 -1
  36. package/dist/atomic/components/atomic-insight-query-error.js.map +1 -1
  37. package/dist/atomic/components/atomic-insight-refine-modal2.js +2 -2
  38. package/dist/atomic/components/atomic-insight-refine-toggle.js +1 -1
  39. package/dist/atomic/components/atomic-insight-result-attach-to-case-indicator.js +1 -1
  40. package/dist/atomic/components/atomic-insight-result-children.js +1 -1
  41. package/dist/atomic/components/atomic-insight-result-list.js +1 -1
  42. package/dist/atomic/components/atomic-insight-result-quickview-action.js +1 -1
  43. package/dist/atomic/components/atomic-insight-result2.js +1 -1
  44. package/dist/atomic/components/atomic-insight-search-box.js +2 -2
  45. package/dist/atomic/components/atomic-insight-smart-snippet-feedback-modal2.js +2 -2
  46. package/dist/atomic/components/atomic-insight-tabs.js +1 -1
  47. package/dist/atomic/components/atomic-insight-user-actions-session2.js +1 -1
  48. package/dist/atomic/components/atomic-insight-user-actions-toggle.js +1 -1
  49. package/dist/atomic/components/atomic-ipx-body2.js +2 -2
  50. package/dist/atomic/components/atomic-ipx-button.js +2 -2
  51. package/dist/atomic/components/atomic-ipx-embedded.js +1 -1
  52. package/dist/atomic/components/atomic-ipx-modal.js +2 -2
  53. package/dist/atomic/components/atomic-ipx-recs-list.js +1 -1
  54. package/dist/atomic/components/atomic-ipx-refine-modal2.js +1 -1
  55. package/dist/atomic/components/atomic-ipx-refine-toggle.js +1 -1
  56. package/dist/atomic/components/atomic-ipx-result-link.js +1 -1
  57. package/dist/atomic/components/atomic-ipx-tabs.js +1 -1
  58. package/dist/atomic/components/atomic-load-more-results.js +1 -1
  59. package/dist/atomic/components/atomic-modal2.js +2 -2
  60. package/dist/atomic/components/atomic-no-results.js +1 -1
  61. package/dist/atomic/components/atomic-numeric-facet.js +1 -1
  62. package/dist/atomic/components/atomic-pager.js +3 -3
  63. package/dist/atomic/components/atomic-product-children.js +1 -7
  64. package/dist/atomic/components/atomic-product-children.js.map +1 -1
  65. package/dist/atomic/components/atomic-product-description.js +2 -14
  66. package/dist/atomic/components/atomic-product-description.js.map +1 -1
  67. package/dist/atomic/components/atomic-product-excerpt.js +2 -14
  68. package/dist/atomic/components/atomic-product-excerpt.js.map +1 -1
  69. package/dist/atomic/components/atomic-product-link.js +1 -13
  70. package/dist/atomic/components/atomic-product-link.js.map +1 -1
  71. package/dist/atomic/components/atomic-product-price.js +1 -1
  72. package/dist/atomic/components/atomic-query-error.js +1 -1
  73. package/dist/atomic/components/atomic-query-error.js.map +1 -1
  74. package/dist/atomic/components/atomic-query-summary.js +1 -1
  75. package/dist/atomic/components/atomic-quickview-modal2.js +1 -1
  76. package/dist/atomic/components/atomic-quickview.js +1 -1
  77. package/dist/atomic/components/atomic-recs-error.js +1 -1
  78. package/dist/atomic/components/atomic-recs-error.js.map +1 -1
  79. package/dist/atomic/components/atomic-recs-list.js +1 -1
  80. package/dist/atomic/components/atomic-refine-modal2.js +1 -1
  81. package/dist/atomic/components/atomic-refine-toggle.js +1 -1
  82. package/dist/atomic/components/atomic-relevance-inspector2.js +2 -2
  83. package/dist/atomic/components/atomic-result-children.js +1 -1
  84. package/dist/atomic/components/atomic-result-fields-list.js +1 -1
  85. package/dist/atomic/components/atomic-result-link.js +1 -1
  86. package/dist/atomic/components/atomic-result-list.js +1 -1
  87. package/dist/atomic/components/atomic-result-placeholder2.js +2 -2
  88. package/dist/atomic/components/atomic-result-table-placeholder2.js +1 -1
  89. package/dist/atomic/components/atomic-result-text2.js +45 -2
  90. package/dist/atomic/components/atomic-result-text2.js.map +1 -1
  91. package/dist/atomic/components/atomic-results-per-page.js +68 -3
  92. package/dist/atomic/components/atomic-results-per-page.js.map +1 -1
  93. package/dist/atomic/components/atomic-search-box-query-suggestions2.js +1 -1
  94. package/dist/atomic/components/atomic-search-box-recent-queries2.js +1 -1
  95. package/dist/atomic/components/atomic-search-box.js +4 -4
  96. package/dist/atomic/components/atomic-smart-snippet-answer2.js +1 -1
  97. package/dist/atomic/components/atomic-smart-snippet-collapse-wrapper2.js +2 -2
  98. package/dist/atomic/components/atomic-smart-snippet-expandable-answer2.js +1 -1
  99. package/dist/atomic/components/atomic-smart-snippet-feedback-modal2.js +2 -2
  100. package/dist/atomic/components/atomic-smart-snippet-source2.js +1 -1
  101. package/dist/atomic/components/atomic-sort-dropdown.js +2 -2
  102. package/dist/atomic/components/atomic-sort-expression.js +1 -1
  103. package/dist/atomic/components/atomic-suggestion-renderer2.js +1 -1
  104. package/dist/atomic/components/atomic-tab-manager.js +1 -1
  105. package/dist/atomic/components/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.js +126 -0
  106. package/dist/atomic/components/components/commerce/atomic-commerce-text/atomic-commerce-text.js +54 -0
  107. package/dist/atomic/components/components/commerce/atomic-product-template/atomic-product-template.js +2 -0
  108. package/dist/atomic/components/components/commerce/atomic-product-text/atomic-product-text.js +135 -0
  109. package/dist/atomic/components/components/commerce/index.js +3 -0
  110. package/dist/atomic/components/components/commerce/lazy-index.js +3 -0
  111. package/dist/atomic/components/components/commerce/product-template-component-utils/error.js +6 -0
  112. package/dist/atomic/components/components/commerce/product-template-component-utils/product-utils.js +35 -0
  113. package/dist/atomic/components/components/common/atomic-layout-section/atomic-layout-section.js +31 -0
  114. package/dist/atomic/components/components/common/fieldset-group.js +5 -0
  115. package/dist/atomic/components/components/common/index.js +1 -0
  116. package/dist/atomic/components/components/common/item-text/field-warning.js +6 -0
  117. package/dist/atomic/components/components/common/item-text/item-text-fallback.js +15 -0
  118. package/dist/atomic/components/components/common/item-text/item-text-highlighted.js +17 -0
  119. package/dist/atomic/components/components/common/item-text/render-highlights.js +13 -0
  120. package/dist/atomic/components/components/common/items-per-page/choices.js +47 -0
  121. package/dist/atomic/components/components/common/items-per-page/error.js +18 -0
  122. package/dist/atomic/components/components/common/items-per-page/label.js +10 -0
  123. package/dist/atomic/components/components/common/items-per-page/validate.js +19 -0
  124. package/dist/atomic/components/components/common/lazy-index.js +1 -0
  125. package/dist/atomic/components/facet-date-input.js +3 -3
  126. package/dist/atomic/components/facet-number-input.js +2 -2
  127. package/dist/atomic/components/global/environment.js +1 -1
  128. package/dist/atomic/components/index.js.map +1 -1
  129. package/dist/atomic/components/interface-common-stencil.js +1 -1
  130. package/dist/atomic/components/product-utils.js +1 -8
  131. package/dist/atomic/components/product-utils.js.map +1 -1
  132. package/dist/atomic/components/sections.js.map +1 -1
  133. package/dist/atomic/components/{expandable-text.js → stencil-expandable-text.js} +1 -1
  134. package/dist/atomic/components/stencil-expandable-text.js.map +1 -0
  135. package/dist/atomic/components/stencil-link.js.map +1 -1
  136. package/dist/atomic/components/tab-button.js +1 -1
  137. package/dist/atomic/components/tab-popover.js +1 -1
  138. package/dist/atomic/components/utils/object-utils.js +13 -0
  139. package/dist/atomic/{p-a535a268.entry.js → p-0267a585.entry.js} +2 -2
  140. package/dist/atomic/{p-9a161d8f.entry.js → p-0a7b0daa.entry.js} +2 -2
  141. package/dist/atomic/{p-f7eab69a.entry.js → p-0b0ea7d3.entry.js} +2 -2
  142. package/dist/atomic/{p-07cd7e4a.entry.js → p-135be5aa.entry.js} +2 -2
  143. package/dist/atomic/{p-e739825f.entry.js → p-1cc97adc.entry.js} +2 -2
  144. package/dist/atomic/{p-de00bdd6.js → p-1d02a670.js} +1 -1
  145. package/dist/atomic/p-1d02a670.js.map +1 -0
  146. package/dist/atomic/{p-005d34a4.entry.js → p-29d27418.entry.js} +2 -2
  147. package/dist/atomic/{p-5250f36d.js → p-2dbdd073.js} +2 -2
  148. package/dist/atomic/{p-4dbb3798.entry.js → p-2f0cb73c.entry.js} +2 -2
  149. package/dist/atomic/{p-bad08ec3.entry.js → p-2ff906b9.entry.js} +2 -2
  150. package/dist/atomic/{p-908fa9c8.entry.js → p-306c83ea.entry.js} +2 -2
  151. package/dist/atomic/{p-f5ea03f0.entry.js → p-32b26cd0.entry.js} +2 -2
  152. package/dist/atomic/{p-dc463f0b.entry.js → p-32c90fe9.entry.js} +2 -2
  153. package/dist/atomic/{p-4e1f7c89.entry.js → p-36225d4f.entry.js} +2 -2
  154. package/dist/atomic/{p-84b36ec2.entry.js → p-3ec18de9.entry.js} +2 -2
  155. package/dist/atomic/{p-8a337769.entry.js → p-3f42a2db.entry.js} +2 -2
  156. package/dist/atomic/{p-c74c1b41.entry.js → p-45b26cc7.entry.js} +2 -2
  157. package/dist/atomic/{p-1c06ca0c.entry.js → p-46522ee4.entry.js} +2 -2
  158. package/dist/atomic/{p-cfec0988.entry.js → p-47ee9d37.entry.js} +2 -2
  159. package/dist/atomic/{p-4af746a9.entry.js → p-50b9a5d2.entry.js} +2 -2
  160. package/dist/atomic/{p-756462de.entry.js → p-51c5acfc.entry.js} +2 -2
  161. package/dist/atomic/{p-1202d6cc.entry.js → p-543e811e.entry.js} +2 -2
  162. package/dist/atomic/{p-1243448d.entry.js → p-545f7fb1.entry.js} +2 -2
  163. package/dist/atomic/{p-dc9313c5.entry.js → p-60527741.entry.js} +2 -2
  164. package/dist/atomic/{p-d4ab4985.entry.js → p-60a9e718.entry.js} +2 -2
  165. package/dist/atomic/{p-1c5502a8.entry.js → p-66683abd.entry.js} +2 -2
  166. package/dist/atomic/{p-3024c394.entry.js → p-67315415.entry.js} +2 -2
  167. package/dist/atomic/{p-baa3b8ee.entry.js → p-689e063d.entry.js} +2 -2
  168. package/dist/atomic/p-690b5853.entry.js +2 -0
  169. package/dist/atomic/{p-447f0772.entry.js → p-70ab347b.entry.js} +2 -2
  170. package/dist/atomic/{p-dc051fee.entry.js → p-76122df5.entry.js} +2 -2
  171. package/dist/atomic/{p-4d8ec431.entry.js → p-7d1f8d9c.entry.js} +2 -2
  172. package/dist/atomic/{p-d7c44977.entry.js → p-80dc3bab.entry.js} +2 -2
  173. package/dist/atomic/{p-c265c67d.entry.js → p-8392e900.entry.js} +2 -2
  174. package/dist/atomic/{p-58c8065c.entry.js → p-8d7f57d9.entry.js} +2 -2
  175. package/dist/atomic/{p-bb5c19a7.entry.js → p-8e09f796.entry.js} +2 -2
  176. package/dist/atomic/{p-1bddfac7.js → p-94e22484.js} +2 -2
  177. package/dist/atomic/{p-79e1bcc1.entry.js → p-95942ba2.entry.js} +2 -2
  178. package/dist/atomic/{p-00ba0b42.entry.js → p-99604083.entry.js} +2 -2
  179. package/dist/atomic/p-99604083.entry.js.map +1 -0
  180. package/dist/atomic/{p-a896c7b8.entry.js → p-9a08dad7.entry.js} +2 -2
  181. package/dist/atomic/{p-d5c709cd.entry.js → p-9ae88402.entry.js} +2 -2
  182. package/dist/atomic/p-9c7dbbdf.js.map +1 -1
  183. package/dist/atomic/{p-04c726de.entry.js → p-9d2230db.entry.js} +2 -2
  184. package/dist/atomic/p-9d2230db.entry.js.map +1 -0
  185. package/dist/atomic/{p-52abba32.entry.js → p-9eb108c9.entry.js} +2 -2
  186. package/dist/atomic/{p-558f3bd6.entry.js → p-a046cf06.entry.js} +2 -2
  187. package/dist/atomic/p-a1c4ac09.js +2 -0
  188. package/dist/atomic/p-a1c4ac09.js.map +1 -0
  189. package/dist/atomic/{p-9fb18d3e.entry.js → p-a3169f59.entry.js} +2 -2
  190. package/dist/atomic/{p-d1e606f2.entry.js → p-a4983d49.entry.js} +2 -2
  191. package/dist/atomic/{p-891f0c50.entry.js → p-a772b365.entry.js} +2 -2
  192. package/dist/atomic/{p-ccff6c87.entry.js → p-a8281e9b.entry.js} +2 -2
  193. package/dist/atomic/{p-c4dd47ca.entry.js → p-ab5eec3d.entry.js} +2 -2
  194. package/dist/atomic/{p-d72e52b2.entry.js → p-ab6e303e.entry.js} +2 -2
  195. package/dist/atomic/p-ab6e303e.entry.js.map +1 -0
  196. package/dist/atomic/{p-2b11517f.entry.js → p-b19a8cbb.entry.js} +2 -2
  197. package/dist/atomic/{p-4b20cdb3.entry.js → p-b4d47ca9.entry.js} +2 -2
  198. package/dist/atomic/{p-0ea5cbb8.entry.js → p-b4dfe5b2.entry.js} +2 -2
  199. package/dist/atomic/p-b747e4a9.entry.js +2 -0
  200. package/dist/atomic/{p-af8999b1.entry.js → p-b7824e0e.entry.js} +2 -2
  201. package/dist/atomic/{p-1cb6a01c.entry.js → p-ba6a30a7.entry.js} +2 -2
  202. package/dist/atomic/p-ba6a30a7.entry.js.map +1 -0
  203. package/dist/atomic/{p-b3604b54.entry.js → p-bd32ca3c.entry.js} +2 -2
  204. package/dist/atomic/p-bd32ca3c.entry.js.map +1 -0
  205. package/dist/atomic/{p-e7b8ee60.entry.js → p-be13ed5c.entry.js} +2 -2
  206. package/dist/atomic/p-befca41f.entry.js +2 -0
  207. package/dist/atomic/{p-6d264c97.entry.js → p-bfeefcaa.entry.js} +2 -2
  208. package/dist/atomic/{p-34cff6c8.entry.js → p-c0d7b26d.entry.js} +2 -2
  209. package/dist/atomic/{p-7d1ca26f.entry.js → p-c13d4039.entry.js} +2 -2
  210. package/dist/atomic/{p-6d083c4e.entry.js → p-c4f042ae.entry.js} +2 -2
  211. package/dist/atomic/{p-f96655f4.entry.js → p-c83f9cff.entry.js} +2 -2
  212. package/dist/atomic/{p-4e3518c2.entry.js → p-cd87574b.entry.js} +2 -2
  213. package/dist/atomic/{p-e260c799.entry.js → p-ce4e939b.entry.js} +2 -2
  214. package/dist/atomic/p-ce4e939b.entry.js.map +1 -0
  215. package/dist/atomic/{p-fc81ef98.entry.js → p-d1efd50f.entry.js} +2 -2
  216. package/dist/atomic/p-d1efd50f.entry.js.map +1 -0
  217. package/dist/atomic/{p-963a3e18.entry.js → p-d30057a0.entry.js} +2 -2
  218. package/dist/atomic/{p-d5c308fc.entry.js → p-d4aba9f9.entry.js} +2 -2
  219. package/dist/atomic/{p-037fbb27.entry.js → p-d62469e0.entry.js} +2 -2
  220. package/dist/atomic/{p-dd6e18bb.entry.js → p-d69756ae.entry.js} +2 -2
  221. package/dist/atomic/p-d76c5232.entry.js +2 -0
  222. package/dist/atomic/{p-68bf4184.entry.js → p-d827c148.entry.js} +2 -2
  223. package/dist/atomic/{p-cbe083d3.entry.js → p-dd8c6bdd.entry.js} +2 -2
  224. package/dist/atomic/{p-26ec2d6d.entry.js → p-ddd52850.entry.js} +2 -2
  225. package/dist/atomic/{p-c751940f.entry.js → p-e44155cc.entry.js} +2 -2
  226. package/dist/atomic/{p-5e7f50a5.entry.js → p-e4754fd0.entry.js} +2 -2
  227. package/dist/atomic/{p-bd109981.entry.js → p-e604fd29.entry.js} +2 -2
  228. package/dist/atomic/{p-22a0d1b9.entry.js → p-ea5d2736.entry.js} +2 -2
  229. package/dist/atomic/{p-75d11764.entry.js → p-eab28672.entry.js} +2 -2
  230. package/dist/atomic/p-ec0161b7.entry.js +2 -0
  231. package/dist/atomic/p-ec0161b7.entry.js.map +1 -0
  232. package/dist/atomic/{p-6c5524dc.entry.js → p-ec6bc15b.entry.js} +2 -2
  233. package/dist/atomic/p-eebb168b.entry.js +2 -0
  234. package/dist/atomic/p-f1bbe060.entry.js +2 -0
  235. package/dist/atomic/p-f1bbe060.entry.js.map +1 -0
  236. package/dist/atomic/{p-e36f1951.entry.js → p-f3182312.entry.js} +2 -2
  237. package/dist/atomic/p-f3182312.entry.js.map +1 -0
  238. package/dist/atomic/{p-6083c281.js → p-f45d8b3e.js} +1 -1
  239. package/dist/atomic/p-f45d8b3e.js.map +1 -0
  240. package/dist/atomic/{p-1de6a3e2.entry.js → p-f4a1bfe3.entry.js} +2 -2
  241. package/dist/atomic/{p-d1434df4.entry.js → p-f4b98113.entry.js} +2 -2
  242. package/dist/atomic/{p-a15f6b8c.entry.js → p-f6283657.entry.js} +2 -2
  243. package/dist/atomic/{p-e961a0cc.entry.js → p-f7f8096a.entry.js} +2 -2
  244. package/dist/atomic/{p-f8fb398c.entry.js → p-fb0bdcdb.entry.js} +2 -2
  245. package/dist/atomic/p-fbbbc454.entry.js +2 -0
  246. package/dist/atomic/{p-dea13af7.entry.js → p-fd9d1c3f.entry.js} +2 -2
  247. package/dist/cjs/_loader.cjs.js +1 -1
  248. package/dist/cjs/{analytics-config-4caf672d.js → analytics-config-54e62aa5.js} +2 -2
  249. package/dist/cjs/{analytics-config-4caf672d.js.map → analytics-config-54e62aa5.js.map} +1 -1
  250. package/dist/cjs/atomic-aria-live.cjs.entry.js +1 -1
  251. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  252. package/dist/cjs/atomic-citation.cjs.entry.js +1 -1
  253. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js +4 -4
  254. package/dist/cjs/atomic-commerce-facet-number-input_2.cjs.entry.js +3 -3
  255. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +2 -2
  256. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js.map +1 -1
  257. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +2 -2
  258. package/dist/cjs/atomic-commerce-refine-modal.cjs.entry.js +1 -1
  259. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +1 -1
  260. package/dist/cjs/atomic-facet-manager.cjs.entry.js +1 -1
  261. package/dist/cjs/atomic-facet-number-input.cjs.entry.js +2 -2
  262. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  263. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +2 -2
  264. package/dist/cjs/atomic-format-currency.cjs.entry.js +1 -1
  265. package/dist/cjs/atomic-format-number.cjs.entry.js +1 -1
  266. package/dist/cjs/atomic-format-unit.cjs.entry.js +1 -1
  267. package/dist/cjs/atomic-generated-answer-feedback-modal.cjs.entry.js +1 -1
  268. package/dist/cjs/atomic-generated-answer.cjs.entry.js +13 -0
  269. package/dist/cjs/atomic-generated-answer.cjs.entry.js.map +1 -1
  270. package/dist/cjs/atomic-html.cjs.entry.js +1 -1
  271. package/dist/cjs/atomic-insight-edit-toggle.cjs.entry.js +1 -1
  272. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  273. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +1 -1
  274. package/dist/cjs/atomic-insight-full-search-button.cjs.entry.js +1 -1
  275. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +13 -0
  276. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js.map +1 -1
  277. package/dist/cjs/atomic-insight-history-toggle.cjs.entry.js +1 -1
  278. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  279. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  280. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +1 -1
  281. package/dist/cjs/atomic-insight-pager.cjs.entry.js +3 -3
  282. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +2 -2
  283. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  284. package/dist/cjs/atomic-insight-refine-modal.cjs.entry.js +2 -2
  285. package/dist/cjs/atomic-insight-refine-toggle.cjs.entry.js +1 -1
  286. package/dist/cjs/atomic-insight-result-attach-to-case-indicator.cjs.entry.js +1 -1
  287. package/dist/cjs/atomic-insight-result-children.cjs.entry.js +1 -1
  288. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +1 -1
  289. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  290. package/dist/cjs/atomic-insight-result.cjs.entry.js +1 -1
  291. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +2 -2
  292. package/dist/cjs/atomic-insight-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  293. package/dist/cjs/atomic-insight-tabs.cjs.entry.js +1 -1
  294. package/dist/cjs/atomic-insight-user-actions-session_2.cjs.entry.js +1 -1
  295. package/dist/cjs/atomic-insight-user-actions-toggle.cjs.entry.js +1 -1
  296. package/dist/cjs/atomic-ipx-body.cjs.entry.js +2 -2
  297. package/dist/cjs/atomic-ipx-button.cjs.entry.js +2 -2
  298. package/dist/cjs/atomic-ipx-embedded.cjs.entry.js +1 -1
  299. package/dist/cjs/atomic-ipx-modal.cjs.entry.js +2 -2
  300. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +1 -1
  301. package/dist/cjs/atomic-ipx-refine-modal.cjs.entry.js +1 -1
  302. package/dist/cjs/atomic-ipx-refine-toggle.cjs.entry.js +1 -1
  303. package/dist/cjs/atomic-ipx-result-link.cjs.entry.js +1 -1
  304. package/dist/cjs/atomic-ipx-tabs.cjs.entry.js +1 -1
  305. package/dist/cjs/atomic-load-more-results.cjs.entry.js +1 -1
  306. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  307. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +1 -1
  308. package/dist/cjs/atomic-pager.cjs.entry.js +3 -3
  309. package/dist/cjs/atomic-product-description.cjs.entry.js +2 -2
  310. package/dist/cjs/atomic-product-description.cjs.entry.js.map +1 -1
  311. package/dist/cjs/atomic-product-excerpt.cjs.entry.js +2 -2
  312. package/dist/cjs/atomic-product-excerpt.cjs.entry.js.map +1 -1
  313. package/dist/cjs/atomic-product-link.cjs.entry.js +1 -1
  314. package/dist/cjs/atomic-product-numeric-field-value.cjs.entry.js +1 -1
  315. package/dist/cjs/atomic-product-price.cjs.entry.js +2 -2
  316. package/dist/cjs/atomic-query-error.cjs.entry.js +2 -2
  317. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  318. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  319. package/dist/cjs/atomic-quickview-modal.cjs.entry.js +1 -1
  320. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  321. package/dist/cjs/atomic-recs-error.cjs.entry.js +2 -2
  322. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  323. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  324. package/dist/cjs/atomic-recs-list.cjs.entry.js +1 -1
  325. package/dist/cjs/atomic-refine-modal.cjs.entry.js +1 -1
  326. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +1 -1
  327. package/dist/cjs/atomic-relevance-inspector.cjs.entry.js +2 -2
  328. package/dist/cjs/atomic-result-children.cjs.entry.js +1 -1
  329. package/dist/cjs/atomic-result-fields-list.cjs.entry.js +1 -1
  330. package/dist/cjs/atomic-result-link.cjs.entry.js +1 -1
  331. package/dist/cjs/atomic-result-list.cjs.entry.js +1 -1
  332. package/dist/cjs/atomic-result-placeholder_8.cjs.entry.js +3 -3
  333. package/dist/cjs/atomic-result-text_2.cjs.entry.js +46 -4
  334. package/dist/cjs/atomic-result-text_2.cjs.entry.js.map +1 -1
  335. package/dist/cjs/atomic-results-per-page.cjs.entry.js +71 -7
  336. package/dist/cjs/atomic-results-per-page.cjs.entry.js.map +1 -1
  337. package/dist/cjs/atomic-search-box-query-suggestions_2.cjs.entry.js +2 -2
  338. package/dist/cjs/atomic-search-box.cjs.entry.js +4 -4
  339. package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
  340. package/dist/cjs/atomic-smart-snippet-answer_2.cjs.entry.js +2 -2
  341. package/dist/cjs/atomic-smart-snippet-collapse-wrapper_2.cjs.entry.js +3 -3
  342. package/dist/cjs/atomic-smart-snippet-feedback-modal.cjs.entry.js +2 -2
  343. package/dist/cjs/atomic-sort-dropdown.cjs.entry.js +2 -2
  344. package/dist/cjs/atomic-sort-expression.cjs.entry.js +1 -1
  345. package/dist/cjs/atomic-suggestion-renderer.cjs.entry.js +1 -1
  346. package/dist/cjs/atomic-tab-bar_2.cjs.entry.js +1 -1
  347. package/dist/cjs/atomic-tab-button.cjs.entry.js +1 -1
  348. package/dist/cjs/atomic-tab-manager.cjs.entry.js +1 -1
  349. package/dist/cjs/atomic.cjs.js +1 -1
  350. package/dist/cjs/index-757bc886.js +0 -12
  351. package/dist/cjs/{interface-common-stencil-61108e17.js → interface-common-stencil-d4086225.js} +2 -2
  352. package/dist/cjs/{interface-common-stencil-61108e17.js.map → interface-common-stencil-d4086225.js.map} +1 -1
  353. package/dist/cjs/{product-utils-9507462c.js → product-utils-f6c780e3.js} +1 -9
  354. package/dist/cjs/product-utils-f6c780e3.js.map +1 -0
  355. package/dist/cjs/sections-4b4af2f8.js.map +1 -1
  356. package/dist/cjs/{expandable-text-36fe9f8d.js → stencil-expandable-text-80915f74.js} +1 -1
  357. package/dist/cjs/stencil-expandable-text-80915f74.js.map +1 -0
  358. package/dist/cjs/{stencil-link-c6b12034.js → stencil-link-fbb2ab5c.js} +1 -1
  359. package/dist/cjs/stencil-link-fbb2ab5c.js.map +1 -0
  360. package/dist/cjs/version.cjs.js +2 -2
  361. package/dist/esm/_loader.js +1 -1
  362. package/dist/esm/{analytics-config-359b43de.js → analytics-config-6b5c6ac0.js} +2 -2
  363. package/dist/esm/{analytics-config-359b43de.js.map → analytics-config-6b5c6ac0.js.map} +1 -1
  364. package/dist/esm/atomic-aria-live.entry.js +1 -1
  365. package/dist/esm/atomic-category-facet.entry.js +1 -1
  366. package/dist/esm/atomic-citation.entry.js +1 -1
  367. package/dist/esm/atomic-commerce-category-facet_5.entry.js +4 -4
  368. package/dist/esm/atomic-commerce-facet-number-input_2.entry.js +3 -3
  369. package/dist/esm/atomic-commerce-query-error.entry.js +2 -2
  370. package/dist/esm/atomic-commerce-query-error.entry.js.map +1 -1
  371. package/dist/esm/atomic-commerce-recommendation-interface.entry.js +2 -2
  372. package/dist/esm/atomic-commerce-refine-modal.entry.js +1 -1
  373. package/dist/esm/atomic-commerce-refine-toggle.entry.js +1 -1
  374. package/dist/esm/atomic-facet-manager.entry.js +1 -1
  375. package/dist/esm/atomic-facet-number-input.entry.js +2 -2
  376. package/dist/esm/atomic-facet.entry.js +1 -1
  377. package/dist/esm/atomic-focus-trap_2.entry.js +2 -2
  378. package/dist/esm/atomic-format-currency.entry.js +1 -1
  379. package/dist/esm/atomic-format-number.entry.js +1 -1
  380. package/dist/esm/atomic-format-unit.entry.js +1 -1
  381. package/dist/esm/atomic-generated-answer-feedback-modal.entry.js +1 -1
  382. package/dist/esm/atomic-generated-answer.entry.js +13 -0
  383. package/dist/esm/atomic-generated-answer.entry.js.map +1 -1
  384. package/dist/esm/atomic-html.entry.js +1 -1
  385. package/dist/esm/atomic-insight-edit-toggle.entry.js +1 -1
  386. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  387. package/dist/esm/atomic-insight-folded-result-list.entry.js +1 -1
  388. package/dist/esm/atomic-insight-full-search-button.entry.js +1 -1
  389. package/dist/esm/atomic-insight-generated-answer.entry.js +13 -0
  390. package/dist/esm/atomic-insight-generated-answer.entry.js.map +1 -1
  391. package/dist/esm/atomic-insight-history-toggle.entry.js +1 -1
  392. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  393. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  394. package/dist/esm/atomic-insight-numeric-facet.entry.js +1 -1
  395. package/dist/esm/atomic-insight-pager.entry.js +3 -3
  396. package/dist/esm/atomic-insight-query-error.entry.js +2 -2
  397. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  398. package/dist/esm/atomic-insight-refine-modal.entry.js +2 -2
  399. package/dist/esm/atomic-insight-refine-toggle.entry.js +1 -1
  400. package/dist/esm/atomic-insight-result-attach-to-case-indicator.entry.js +1 -1
  401. package/dist/esm/atomic-insight-result-children.entry.js +1 -1
  402. package/dist/esm/atomic-insight-result-list.entry.js +1 -1
  403. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  404. package/dist/esm/atomic-insight-result.entry.js +1 -1
  405. package/dist/esm/atomic-insight-search-box.entry.js +2 -2
  406. package/dist/esm/atomic-insight-smart-snippet-feedback-modal.entry.js +2 -2
  407. package/dist/esm/atomic-insight-tabs.entry.js +1 -1
  408. package/dist/esm/atomic-insight-user-actions-session_2.entry.js +1 -1
  409. package/dist/esm/atomic-insight-user-actions-toggle.entry.js +1 -1
  410. package/dist/esm/atomic-ipx-body.entry.js +2 -2
  411. package/dist/esm/atomic-ipx-button.entry.js +2 -2
  412. package/dist/esm/atomic-ipx-embedded.entry.js +1 -1
  413. package/dist/esm/atomic-ipx-modal.entry.js +2 -2
  414. package/dist/esm/atomic-ipx-recs-list.entry.js +1 -1
  415. package/dist/esm/atomic-ipx-refine-modal.entry.js +1 -1
  416. package/dist/esm/atomic-ipx-refine-toggle.entry.js +1 -1
  417. package/dist/esm/atomic-ipx-result-link.entry.js +1 -1
  418. package/dist/esm/atomic-ipx-tabs.entry.js +1 -1
  419. package/dist/esm/atomic-load-more-results.entry.js +1 -1
  420. package/dist/esm/atomic-no-results.entry.js +1 -1
  421. package/dist/esm/atomic-numeric-facet.entry.js +1 -1
  422. package/dist/esm/atomic-pager.entry.js +3 -3
  423. package/dist/esm/atomic-product-description.entry.js +1 -1
  424. package/dist/esm/atomic-product-description.entry.js.map +1 -1
  425. package/dist/esm/atomic-product-excerpt.entry.js +1 -1
  426. package/dist/esm/atomic-product-excerpt.entry.js.map +1 -1
  427. package/dist/esm/atomic-product-link.entry.js +1 -1
  428. package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
  429. package/dist/esm/atomic-product-price.entry.js +2 -2
  430. package/dist/esm/atomic-query-error.entry.js +2 -2
  431. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  432. package/dist/esm/atomic-query-summary.entry.js +1 -1
  433. package/dist/esm/atomic-quickview-modal.entry.js +1 -1
  434. package/dist/esm/atomic-quickview.entry.js +1 -1
  435. package/dist/esm/atomic-recs-error.entry.js +2 -2
  436. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  437. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  438. package/dist/esm/atomic-recs-list.entry.js +1 -1
  439. package/dist/esm/atomic-refine-modal.entry.js +1 -1
  440. package/dist/esm/atomic-refine-toggle.entry.js +1 -1
  441. package/dist/esm/atomic-relevance-inspector.entry.js +2 -2
  442. package/dist/esm/atomic-result-children.entry.js +1 -1
  443. package/dist/esm/atomic-result-fields-list.entry.js +1 -1
  444. package/dist/esm/atomic-result-link.entry.js +1 -1
  445. package/dist/esm/atomic-result-list.entry.js +1 -1
  446. package/dist/esm/atomic-result-placeholder_8.entry.js +3 -3
  447. package/dist/esm/atomic-result-text_2.entry.js +45 -3
  448. package/dist/esm/atomic-result-text_2.entry.js.map +1 -1
  449. package/dist/esm/atomic-results-per-page.entry.js +68 -4
  450. package/dist/esm/atomic-results-per-page.entry.js.map +1 -1
  451. package/dist/esm/atomic-search-box-query-suggestions_2.entry.js +2 -2
  452. package/dist/esm/atomic-search-box.entry.js +4 -4
  453. package/dist/esm/atomic-search-interface.entry.js +2 -2
  454. package/dist/esm/atomic-smart-snippet-answer_2.entry.js +2 -2
  455. package/dist/esm/atomic-smart-snippet-collapse-wrapper_2.entry.js +3 -3
  456. package/dist/esm/atomic-smart-snippet-feedback-modal.entry.js +2 -2
  457. package/dist/esm/atomic-sort-dropdown.entry.js +2 -2
  458. package/dist/esm/atomic-sort-expression.entry.js +1 -1
  459. package/dist/esm/atomic-suggestion-renderer.entry.js +1 -1
  460. package/dist/esm/atomic-tab-bar_2.entry.js +1 -1
  461. package/dist/esm/atomic-tab-button.entry.js +1 -1
  462. package/dist/esm/atomic-tab-manager.entry.js +1 -1
  463. package/dist/esm/atomic.js +1 -1
  464. package/dist/esm/index-3f35faca.js +0 -12
  465. package/dist/esm/{interface-common-stencil-623d4314.js → interface-common-stencil-fc6f80e8.js} +2 -2
  466. package/dist/esm/{interface-common-stencil-623d4314.js.map → interface-common-stencil-fc6f80e8.js.map} +1 -1
  467. package/dist/esm/{product-utils-8348689f.js → product-utils-85109d2e.js} +2 -9
  468. package/dist/esm/product-utils-85109d2e.js.map +1 -0
  469. package/dist/esm/sections-ae00b53a.js.map +1 -1
  470. package/dist/esm/{expandable-text-4eebe177.js → stencil-expandable-text-957d599c.js} +1 -1
  471. package/dist/esm/stencil-expandable-text-957d599c.js.map +1 -0
  472. package/dist/esm/{stencil-link-637c1ac5.js → stencil-link-32a27dfb.js} +1 -1
  473. package/dist/esm/stencil-link-32a27dfb.js.map +1 -0
  474. package/dist/esm/version.js +2 -2
  475. package/dist/types/components/commerce/atomic-commerce-products-per-page/atomic-commerce-products-per-page.d.ts +13 -7
  476. package/dist/types/components/commerce/atomic-commerce-text/atomic-commerce-text.d.ts +13 -5
  477. package/dist/types/components/commerce/atomic-product-description/atomic-product-description.d.ts +1 -1
  478. package/dist/types/components/commerce/atomic-product-excerpt/atomic-product-excerpt.d.ts +1 -1
  479. package/dist/types/components/commerce/atomic-product-template/atomic-product-template.d.ts +2 -0
  480. package/dist/types/components/commerce/atomic-product-text/atomic-product-text.d.ts +29 -15
  481. package/dist/types/components/commerce/index.d.ts +3 -0
  482. package/dist/types/components/common/atomic-layout-section/atomic-layout-section.d.ts +11 -2
  483. package/dist/types/components/common/atomic-layout-section/sections.d.ts +2 -1
  484. package/dist/types/components/common/expandable-text/expandable-text.d.ts +4 -4
  485. package/dist/types/components/common/expandable-text/stencil-expandable-text.d.ts +13 -0
  486. package/dist/types/components/common/index.d.ts +1 -0
  487. package/dist/types/components/common/items-per-page/choices.d.ts +1 -1
  488. package/dist/types/components/common/items-per-page/error.d.ts +3 -0
  489. package/dist/types/components/common/query-error/show-more.d.ts +4 -4
  490. package/dist/types/components/common/query-error/stencil-show-more.d.ts +10 -0
  491. package/dist/types/components/insight/atomic-insight-generated-answer/atomic-insight-generated-answer.d.ts +6 -0
  492. package/dist/types/components/search/atomic-generated-answer/atomic-generated-answer.d.ts +6 -0
  493. package/dist/types/components.d.ts +18 -208
  494. package/docs/atomic-docs.json +37 -492
  495. package/package.json +3 -3
  496. package/dist/atomic/components/atomic-commerce-products-per-page.d.ts +0 -11
  497. package/dist/atomic/components/atomic-commerce-products-per-page.js +0 -107
  498. package/dist/atomic/components/atomic-commerce-products-per-page.js.map +0 -1
  499. package/dist/atomic/components/atomic-commerce-text.d.ts +0 -11
  500. package/dist/atomic/components/atomic-commerce-text.js +0 -8
  501. package/dist/atomic/components/atomic-commerce-text.js.map +0 -1
  502. package/dist/atomic/components/atomic-commerce-text2.js +0 -60
  503. package/dist/atomic/components/atomic-commerce-text2.js.map +0 -1
  504. package/dist/atomic/components/atomic-layout-section.d.ts +0 -11
  505. package/dist/atomic/components/atomic-layout-section.js +0 -35
  506. package/dist/atomic/components/atomic-layout-section.js.map +0 -1
  507. package/dist/atomic/components/atomic-product-text.d.ts +0 -11
  508. package/dist/atomic/components/atomic-product-text.js +0 -8
  509. package/dist/atomic/components/atomic-product-text.js.map +0 -1
  510. package/dist/atomic/components/atomic-product-text2.js +0 -83
  511. package/dist/atomic/components/atomic-product-text2.js.map +0 -1
  512. package/dist/atomic/components/expandable-text.js.map +0 -1
  513. package/dist/atomic/components/stencil-item-text-highlighted.js +0 -49
  514. package/dist/atomic/components/stencil-item-text-highlighted.js.map +0 -1
  515. package/dist/atomic/components/validate.js +0 -62
  516. package/dist/atomic/components/validate.js.map +0 -1
  517. package/dist/atomic/p-00ba0b42.entry.js.map +0 -1
  518. package/dist/atomic/p-03109525.entry.js +0 -2
  519. package/dist/atomic/p-03109525.entry.js.map +0 -1
  520. package/dist/atomic/p-04c726de.entry.js.map +0 -1
  521. package/dist/atomic/p-162da819.entry.js +0 -2
  522. package/dist/atomic/p-1cb6a01c.entry.js.map +0 -1
  523. package/dist/atomic/p-39223a2a.entry.js +0 -2
  524. package/dist/atomic/p-39223a2a.entry.js.map +0 -1
  525. package/dist/atomic/p-5cf5bb98.entry.js +0 -2
  526. package/dist/atomic/p-6083c281.js.map +0 -1
  527. package/dist/atomic/p-67ef14ac.entry.js +0 -2
  528. package/dist/atomic/p-67ef14ac.entry.js.map +0 -1
  529. package/dist/atomic/p-733252f1.entry.js +0 -2
  530. package/dist/atomic/p-733252f1.entry.js.map +0 -1
  531. package/dist/atomic/p-81874146.entry.js +0 -2
  532. package/dist/atomic/p-98c16767.entry.js +0 -2
  533. package/dist/atomic/p-b0be7782.entry.js +0 -2
  534. package/dist/atomic/p-b1a7d837.js +0 -2
  535. package/dist/atomic/p-b1a7d837.js.map +0 -1
  536. package/dist/atomic/p-b3604b54.entry.js.map +0 -1
  537. package/dist/atomic/p-b90ea7e9.entry.js +0 -2
  538. package/dist/atomic/p-ba5a125f.entry.js +0 -2
  539. package/dist/atomic/p-ba5a125f.entry.js.map +0 -1
  540. package/dist/atomic/p-bb081d4e.js +0 -2
  541. package/dist/atomic/p-bb081d4e.js.map +0 -1
  542. package/dist/atomic/p-c408a774.js +0 -2
  543. package/dist/atomic/p-c408a774.js.map +0 -1
  544. package/dist/atomic/p-d72e52b2.entry.js.map +0 -1
  545. package/dist/atomic/p-de00bdd6.js.map +0 -1
  546. package/dist/atomic/p-e260c799.entry.js.map +0 -1
  547. package/dist/atomic/p-e36f1951.entry.js.map +0 -1
  548. package/dist/atomic/p-fc81ef98.entry.js.map +0 -1
  549. package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js +0 -95
  550. package/dist/cjs/atomic-commerce-products-per-page.cjs.entry.js.map +0 -1
  551. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js +0 -106
  552. package/dist/cjs/atomic-commerce-text_2.cjs.entry.js.map +0 -1
  553. package/dist/cjs/atomic-layout-section.cjs.entry.js +0 -18
  554. package/dist/cjs/atomic-layout-section.cjs.entry.js.map +0 -1
  555. package/dist/cjs/expandable-text-36fe9f8d.js.map +0 -1
  556. package/dist/cjs/product-utils-9507462c.js.map +0 -1
  557. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js +0 -52
  558. package/dist/cjs/stencil-item-text-highlighted-91fd0fe8.js.map +0 -1
  559. package/dist/cjs/stencil-link-c6b12034.js.map +0 -1
  560. package/dist/cjs/validate-232b3138.js +0 -69
  561. package/dist/cjs/validate-232b3138.js.map +0 -1
  562. package/dist/esm/atomic-commerce-products-per-page.entry.js +0 -91
  563. package/dist/esm/atomic-commerce-products-per-page.entry.js.map +0 -1
  564. package/dist/esm/atomic-commerce-text_2.entry.js +0 -101
  565. package/dist/esm/atomic-commerce-text_2.entry.js.map +0 -1
  566. package/dist/esm/atomic-layout-section.entry.js +0 -14
  567. package/dist/esm/atomic-layout-section.entry.js.map +0 -1
  568. package/dist/esm/expandable-text-4eebe177.js.map +0 -1
  569. package/dist/esm/product-utils-8348689f.js.map +0 -1
  570. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js +0 -49
  571. package/dist/esm/stencil-item-text-highlighted-0e1c6c08.js.map +0 -1
  572. package/dist/esm/stencil-link-637c1ac5.js.map +0 -1
  573. package/dist/esm/validate-8b800378.js +0 -62
  574. package/dist/esm/validate-8b800378.js.map +0 -1
  575. /package/dist/atomic/{p-a535a268.entry.js.map → p-0267a585.entry.js.map} +0 -0
  576. /package/dist/atomic/{p-9a161d8f.entry.js.map → p-0a7b0daa.entry.js.map} +0 -0
  577. /package/dist/atomic/{p-f7eab69a.entry.js.map → p-0b0ea7d3.entry.js.map} +0 -0
  578. /package/dist/atomic/{p-07cd7e4a.entry.js.map → p-135be5aa.entry.js.map} +0 -0
  579. /package/dist/atomic/{p-e739825f.entry.js.map → p-1cc97adc.entry.js.map} +0 -0
  580. /package/dist/atomic/{p-005d34a4.entry.js.map → p-29d27418.entry.js.map} +0 -0
  581. /package/dist/atomic/{p-5250f36d.js.map → p-2dbdd073.js.map} +0 -0
  582. /package/dist/atomic/{p-4dbb3798.entry.js.map → p-2f0cb73c.entry.js.map} +0 -0
  583. /package/dist/atomic/{p-bad08ec3.entry.js.map → p-2ff906b9.entry.js.map} +0 -0
  584. /package/dist/atomic/{p-908fa9c8.entry.js.map → p-306c83ea.entry.js.map} +0 -0
  585. /package/dist/atomic/{p-f5ea03f0.entry.js.map → p-32b26cd0.entry.js.map} +0 -0
  586. /package/dist/atomic/{p-dc463f0b.entry.js.map → p-32c90fe9.entry.js.map} +0 -0
  587. /package/dist/atomic/{p-4e1f7c89.entry.js.map → p-36225d4f.entry.js.map} +0 -0
  588. /package/dist/atomic/{p-84b36ec2.entry.js.map → p-3ec18de9.entry.js.map} +0 -0
  589. /package/dist/atomic/{p-8a337769.entry.js.map → p-3f42a2db.entry.js.map} +0 -0
  590. /package/dist/atomic/{p-c74c1b41.entry.js.map → p-45b26cc7.entry.js.map} +0 -0
  591. /package/dist/atomic/{p-1c06ca0c.entry.js.map → p-46522ee4.entry.js.map} +0 -0
  592. /package/dist/atomic/{p-cfec0988.entry.js.map → p-47ee9d37.entry.js.map} +0 -0
  593. /package/dist/atomic/{p-4af746a9.entry.js.map → p-50b9a5d2.entry.js.map} +0 -0
  594. /package/dist/atomic/{p-756462de.entry.js.map → p-51c5acfc.entry.js.map} +0 -0
  595. /package/dist/atomic/{p-1202d6cc.entry.js.map → p-543e811e.entry.js.map} +0 -0
  596. /package/dist/atomic/{p-1243448d.entry.js.map → p-545f7fb1.entry.js.map} +0 -0
  597. /package/dist/atomic/{p-dc9313c5.entry.js.map → p-60527741.entry.js.map} +0 -0
  598. /package/dist/atomic/{p-d4ab4985.entry.js.map → p-60a9e718.entry.js.map} +0 -0
  599. /package/dist/atomic/{p-1c5502a8.entry.js.map → p-66683abd.entry.js.map} +0 -0
  600. /package/dist/atomic/{p-3024c394.entry.js.map → p-67315415.entry.js.map} +0 -0
  601. /package/dist/atomic/{p-baa3b8ee.entry.js.map → p-689e063d.entry.js.map} +0 -0
  602. /package/dist/atomic/{p-b0be7782.entry.js.map → p-690b5853.entry.js.map} +0 -0
  603. /package/dist/atomic/{p-447f0772.entry.js.map → p-70ab347b.entry.js.map} +0 -0
  604. /package/dist/atomic/{p-dc051fee.entry.js.map → p-76122df5.entry.js.map} +0 -0
  605. /package/dist/atomic/{p-4d8ec431.entry.js.map → p-7d1f8d9c.entry.js.map} +0 -0
  606. /package/dist/atomic/{p-d7c44977.entry.js.map → p-80dc3bab.entry.js.map} +0 -0
  607. /package/dist/atomic/{p-c265c67d.entry.js.map → p-8392e900.entry.js.map} +0 -0
  608. /package/dist/atomic/{p-58c8065c.entry.js.map → p-8d7f57d9.entry.js.map} +0 -0
  609. /package/dist/atomic/{p-bb5c19a7.entry.js.map → p-8e09f796.entry.js.map} +0 -0
  610. /package/dist/atomic/{p-1bddfac7.js.map → p-94e22484.js.map} +0 -0
  611. /package/dist/atomic/{p-79e1bcc1.entry.js.map → p-95942ba2.entry.js.map} +0 -0
  612. /package/dist/atomic/{p-a896c7b8.entry.js.map → p-9a08dad7.entry.js.map} +0 -0
  613. /package/dist/atomic/{p-d5c709cd.entry.js.map → p-9ae88402.entry.js.map} +0 -0
  614. /package/dist/atomic/{p-52abba32.entry.js.map → p-9eb108c9.entry.js.map} +0 -0
  615. /package/dist/atomic/{p-558f3bd6.entry.js.map → p-a046cf06.entry.js.map} +0 -0
  616. /package/dist/atomic/{p-9fb18d3e.entry.js.map → p-a3169f59.entry.js.map} +0 -0
  617. /package/dist/atomic/{p-d1e606f2.entry.js.map → p-a4983d49.entry.js.map} +0 -0
  618. /package/dist/atomic/{p-891f0c50.entry.js.map → p-a772b365.entry.js.map} +0 -0
  619. /package/dist/atomic/{p-ccff6c87.entry.js.map → p-a8281e9b.entry.js.map} +0 -0
  620. /package/dist/atomic/{p-c4dd47ca.entry.js.map → p-ab5eec3d.entry.js.map} +0 -0
  621. /package/dist/atomic/{p-2b11517f.entry.js.map → p-b19a8cbb.entry.js.map} +0 -0
  622. /package/dist/atomic/{p-4b20cdb3.entry.js.map → p-b4d47ca9.entry.js.map} +0 -0
  623. /package/dist/atomic/{p-0ea5cbb8.entry.js.map → p-b4dfe5b2.entry.js.map} +0 -0
  624. /package/dist/atomic/{p-81874146.entry.js.map → p-b747e4a9.entry.js.map} +0 -0
  625. /package/dist/atomic/{p-af8999b1.entry.js.map → p-b7824e0e.entry.js.map} +0 -0
  626. /package/dist/atomic/{p-e7b8ee60.entry.js.map → p-be13ed5c.entry.js.map} +0 -0
  627. /package/dist/atomic/{p-b90ea7e9.entry.js.map → p-befca41f.entry.js.map} +0 -0
  628. /package/dist/atomic/{p-6d264c97.entry.js.map → p-bfeefcaa.entry.js.map} +0 -0
  629. /package/dist/atomic/{p-34cff6c8.entry.js.map → p-c0d7b26d.entry.js.map} +0 -0
  630. /package/dist/atomic/{p-7d1ca26f.entry.js.map → p-c13d4039.entry.js.map} +0 -0
  631. /package/dist/atomic/{p-6d083c4e.entry.js.map → p-c4f042ae.entry.js.map} +0 -0
  632. /package/dist/atomic/{p-f96655f4.entry.js.map → p-c83f9cff.entry.js.map} +0 -0
  633. /package/dist/atomic/{p-4e3518c2.entry.js.map → p-cd87574b.entry.js.map} +0 -0
  634. /package/dist/atomic/{p-963a3e18.entry.js.map → p-d30057a0.entry.js.map} +0 -0
  635. /package/dist/atomic/{p-d5c308fc.entry.js.map → p-d4aba9f9.entry.js.map} +0 -0
  636. /package/dist/atomic/{p-037fbb27.entry.js.map → p-d62469e0.entry.js.map} +0 -0
  637. /package/dist/atomic/{p-dd6e18bb.entry.js.map → p-d69756ae.entry.js.map} +0 -0
  638. /package/dist/atomic/{p-5cf5bb98.entry.js.map → p-d76c5232.entry.js.map} +0 -0
  639. /package/dist/atomic/{p-68bf4184.entry.js.map → p-d827c148.entry.js.map} +0 -0
  640. /package/dist/atomic/{p-cbe083d3.entry.js.map → p-dd8c6bdd.entry.js.map} +0 -0
  641. /package/dist/atomic/{p-26ec2d6d.entry.js.map → p-ddd52850.entry.js.map} +0 -0
  642. /package/dist/atomic/{p-c751940f.entry.js.map → p-e44155cc.entry.js.map} +0 -0
  643. /package/dist/atomic/{p-5e7f50a5.entry.js.map → p-e4754fd0.entry.js.map} +0 -0
  644. /package/dist/atomic/{p-bd109981.entry.js.map → p-e604fd29.entry.js.map} +0 -0
  645. /package/dist/atomic/{p-22a0d1b9.entry.js.map → p-ea5d2736.entry.js.map} +0 -0
  646. /package/dist/atomic/{p-75d11764.entry.js.map → p-eab28672.entry.js.map} +0 -0
  647. /package/dist/atomic/{p-6c5524dc.entry.js.map → p-ec6bc15b.entry.js.map} +0 -0
  648. /package/dist/atomic/{p-98c16767.entry.js.map → p-eebb168b.entry.js.map} +0 -0
  649. /package/dist/atomic/{p-1de6a3e2.entry.js.map → p-f4a1bfe3.entry.js.map} +0 -0
  650. /package/dist/atomic/{p-d1434df4.entry.js.map → p-f4b98113.entry.js.map} +0 -0
  651. /package/dist/atomic/{p-a15f6b8c.entry.js.map → p-f6283657.entry.js.map} +0 -0
  652. /package/dist/atomic/{p-e961a0cc.entry.js.map → p-f7f8096a.entry.js.map} +0 -0
  653. /package/dist/atomic/{p-f8fb398c.entry.js.map → p-fb0bdcdb.entry.js.map} +0 -0
  654. /package/dist/atomic/{p-162da819.entry.js.map → p-fbbbc454.entry.js.map} +0 -0
  655. /package/dist/atomic/{p-dea13af7.entry.js.map → p-fd9d1c3f.entry.js.map} +0 -0
@@ -61,7 +61,7 @@ const AtomicInsightUserActionsToggle$1 = /*@__PURE__*/ proxyCustomElement(class
61
61
  this.modalRef.excludedCustomActions = this.excludedCustomActions;
62
62
  }
63
63
  render() {
64
- return (h(IconButton, { key: '23ec405e13e94f52a70a64a19f44da29ce451533', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
64
+ return (h(IconButton, { key: 'f12a60a74d3d1dcc322937b90d281140487f5930', partPrefix: "insight-user-actions-toggle", style: "outline-neutral", icon: Clock, ariaLabel: this.bindings.i18n.t('user-actions'), onClick: () => {
65
65
  this.enableModal();
66
66
  }, title: this.bindings.i18n.t('user-actions'), buttonRef: (button) => {
67
67
  if (!button) {
@@ -35,7 +35,7 @@ const AtomicIPXBody = /*@__PURE__*/ proxyCustomElement(class AtomicIPXBody exten
35
35
  render() {
36
36
  this.updateBreakpoints();
37
37
  const isEmbedded = this.isOpen === undefined;
38
- return (h("article", { key: 'edc7ba1ca4d6cb9f6a5a4761d91a0d1dfeaeaa01', part: "container", class: `${isEmbedded ? '' : this.isOpen ? 'visible' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit() }, h("style", { key: 'd20db5988106291c7b01f731b9cac86791fb49bb' }, `
38
+ return (h("article", { key: 'f1897cdbbd5614036a6e5a82967abd4cfdd01c07', part: "container", class: `${isEmbedded ? '' : this.isOpen ? 'visible' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit() }, h("style", { key: 'a0ec30ae4d88bca22c3a9424ac0921c0e8bab8dc' }, `
39
39
  /* Chrome, Edge & Safari */
40
40
  .scrollbar::-webkit-scrollbar {
41
41
  width: 0.8rem;
@@ -60,7 +60,7 @@ const AtomicIPXBody = /*@__PURE__*/ proxyCustomElement(class AtomicIPXBody exten
60
60
  scrollbar-color: var(--atomic-primary) var(--atomic-background);
61
61
  scrollbar-width: auto;
62
62
  }
63
- `), h("header", { key: 'd0e3833dc9c240d383c755d74b510d061b5b9982', part: "header-wrapper", class: "flex flex-col items-center" }, h("div", { key: 'de7fea319280392b22072e65097b74182424cbc6', part: "header" }, h("slot", { key: '5e1d0d93932eecfea4bc65683edebb16482108eb', name: "header" }))), h("hr", { key: '1ea18c1e763e519983b81462f39085b8922326e0', part: "header-ruler", class: "" }), h("div", { key: '831b191bab94776eb074af454aec80e6fbb5cda3', part: "body-wrapper", class: "scrollbar flex w-full grow flex-col overflow-auto" }, h("div", { key: 'f501de638fd4f00bd14550e3b6e053a88195fb0b', part: "body", class: "w-full" }, h("slot", { key: '62efea047b1d733733abdd32ab3f81aba9f514b1', name: "body" }))), this.displayFooterSlot && (h("footer", { key: '6ef627771e752a2eda1dab406f223224df1abadf', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, h("div", { key: 'e6dec4212243f4c8b353ffeb03b459429fcc3881', part: "footer" }, h("slot", { key: 'a27d4a67070befc18cbedba737783e4d9e5ee683', name: "footer" }))))));
63
+ `), h("header", { key: 'c7a92e664a5f4ed8526e0a98b6181f09224d3f9b', part: "header-wrapper", class: "flex flex-col items-center" }, h("div", { key: 'ffe856f7b41998646fd86b5e526a4bf66d87ecd0', part: "header" }, h("slot", { key: '8da1220fcc1d63347b2b5256647c917187d8e196', name: "header" }))), h("hr", { key: '44986e5aa8fe02916359c4f4faa6004710bd8052', part: "header-ruler", class: "" }), h("div", { key: '5f49248c988b097c35bc88ff166e99ceb849e019', part: "body-wrapper", class: "scrollbar flex w-full grow flex-col overflow-auto" }, h("div", { key: '618d670659a345225943f0e6d9395328d2ffae51', part: "body", class: "w-full" }, h("slot", { key: 'adec0693218224c0031649320946ee34d6d6b06f', name: "body" }))), this.displayFooterSlot && (h("footer", { key: 'b6149ad10392b5ade9e9fd322edb0c982b6d8f6b', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, h("div", { key: '51ba6b6647ad3ea247d7c18eba5c2f4d8e1417b8', part: "footer" }, h("slot", { key: 'f305f803430c2977c6e52aea3543818a2ee51e2b', name: "footer" }))))));
64
64
  }
65
65
  get host() { return this; }
66
66
  static get style() { return AtomicIpxBodyStyle0; }
@@ -67,7 +67,7 @@ const AtomicIPXButton = /*@__PURE__*/ proxyCustomElement(class AtomicIPXButton e
67
67
  if (this.isModalOpen && !this.recommendationsLoaded) {
68
68
  this.getRecommendations();
69
69
  }
70
- return (h(Fragment, { key: '8c19f4a78092f62f9b7666304eff5383fd43315a' }, h("style", { key: 'd2ef95ef6c81d75c323afd3046c4aee0ebcc470d' }, `
70
+ return (h(Fragment, { key: '8d7001430f91d9bb4b62d87f6ced4f40911d19d6' }, h("style", { key: '8c319ffc873ace92ddfaf5b55f7b0441e37e0966' }, `
71
71
  [part=${displayedIcon}] {
72
72
  transform: translateY(0rem);
73
73
  }
@@ -84,7 +84,7 @@ const AtomicIPXButton = /*@__PURE__*/ proxyCustomElement(class AtomicIPXButton e
84
84
  [part=${hiddenIcon}] {
85
85
  transform: translateY(0rem);
86
86
  }
87
- }`), h("div", { key: 'd7da7bed707e72d6387d53dd4dd4dbc7bc81aee1', class: "flex flex-col items-center", part: "container" }, this.renderIPXButton())));
87
+ }`), h("div", { key: '265f512f8b724a6e6c073bf6fa05de30bb83af2f', class: "flex flex-col items-center", part: "container" }, this.renderIPXButton())));
88
88
  }
89
89
  get ipxModal() {
90
90
  return this.bindings.interfaceElement.querySelector('atomic-ipx-modal');
@@ -38,7 +38,7 @@ const AtomicIPXEmbedded = /*@__PURE__*/ proxyCustomElement(class AtomicIPXEmbedd
38
38
  }
39
39
  render() {
40
40
  this.updateBreakpoints();
41
- return (h(Host, { key: '5b12797b44b3ff95977a1f0a52c26dd4589cd7de' }, h("div", { key: '4ce22808acf255c7326d798a629fdd4a6934b33e', part: "backdrop" }, h("atomic-ipx-body", { key: '31222799c1b97b7a72d9f0ff94552ffe86c8320a', displayFooterSlot: this.hasFooterSlotElements }, h("slot", { key: 'a4fb8eb65062e85af671dab90c2d53b04eefb9f0', name: "header", slot: "header" }), h("slot", { key: 'ce13e3dba99667f536b7dad5404b9a4ffd1962fe', name: "body", slot: "body" }), h("slot", { key: '3f7624608c8be603bc4492a0936c060e335c71d7', name: "footer", slot: "footer" })))));
41
+ return (h(Host, { key: '5d5562eab984dcec707990ae0f2c086686e436a6' }, h("div", { key: '89f78668f5bf2615449fc322a9541f3146720a98', part: "backdrop" }, h("atomic-ipx-body", { key: 'ce03a5342520ead976f523039ee059c7e4f55765', displayFooterSlot: this.hasFooterSlotElements }, h("slot", { key: '426b66e514d6ae91a8659f3ff4c44b0a5f4afb09', name: "header", slot: "header" }), h("slot", { key: '5919edea4acb94ac5ee89e38d874b2df1dbcac46', name: "body", slot: "body" }), h("slot", { key: '0b43529b9cdd8132b43d3b820eb184be858c4702', name: "footer", slot: "footer" })))));
42
42
  }
43
43
  get host() { return this; }
44
44
  static get style() { return AtomicIpxEmbeddedStyle0; }
@@ -63,8 +63,8 @@ const AtomicIPXModal = /*@__PURE__*/ proxyCustomElement(class AtomicIPXModal ext
63
63
  }
64
64
  render() {
65
65
  this.updateBreakpoints();
66
- const Body = () => (h("atomic-ipx-body", { key: 'c6b09e407f5642736b9d000ea6864f8342483758', isOpen: this.isOpen, displayFooterSlot: this.hasFooterSlotElements, exportparts: "container" }, h("slot", { key: '72bbb1f6dae97c199f258486242fa525b0d53a84', name: "header", slot: "header" }), h("slot", { key: '932167d8ded2ac154930e13a2843f479acf96d36', name: "body", slot: "body" }), h("slot", { key: '32259775a55b6083933274f8221458adc282e152', name: "footer", slot: "footer" })));
67
- return (h(Host, { key: 'e84b45b6d5bf6cf05d7164b61f4943ccc8c9da1b', class: this.getClasses().join(' '), part: "atomic-ipx-modal" }, h("div", { key: '75dbb1915a3a023a2748034026e1e9e0b36bcae1', part: "backdrop" }, h(Body, { key: '196a2caf0e6df9a7e967c4962e881c6dcdac28f5' }))));
66
+ const Body = () => (h("atomic-ipx-body", { key: '6b55b0f20b664d96e748126a52b9eeb7832db344', isOpen: this.isOpen, displayFooterSlot: this.hasFooterSlotElements, exportparts: "container" }, h("slot", { key: '3f47eaae5dce51fd39b48d039a5ff25cedafdc13', name: "header", slot: "header" }), h("slot", { key: 'bb17d9c9f712d1c573475859637391d89478db0c', name: "body", slot: "body" }), h("slot", { key: '366f184a557f2c13c34638f8620d8e3d7f393f28', name: "footer", slot: "footer" })));
67
+ return (h(Host, { key: '5a1a2d49e870eb2eb157802bfd0c1013c2e0bbc2', class: this.getClasses().join(' '), part: "atomic-ipx-modal" }, h("div", { key: 'ea5cb319c483a17bbe5c1e57ccf5e40fdc569943', part: "backdrop" }, h(Body, { key: '248e1492666b9d2be2bf69c643280d818c77d4ee' }))));
68
68
  }
69
69
  get host() { return this; }
70
70
  static get watchers() { return {
@@ -276,7 +276,7 @@ const AtomicIPXRecsList = /*@__PURE__*/ proxyCustomElement(class AtomicIPXRecsLi
276
276
  }))));
277
277
  }
278
278
  render() {
279
- return (h(Fragment, { key: '8ca73dff5c70064da774a204d85545ae64cb3709' }, this.renderHeading(), this.shouldRenderPagination ? (h(Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
279
+ return (h(Fragment, { key: 'a2444bf3b746ea3aa66f26db89222558a65e34c6' }, this.renderHeading(), this.shouldRenderPagination ? (h(Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
280
280
  }
281
281
  get host() { return this; }
282
282
  static get watchers() { return {
@@ -62,7 +62,7 @@ const AtomicIPXRefineModal = /*@__PURE__*/ proxyCustomElement(class AtomicIPXRef
62
62
  return (h("aside", { slot: "body", class: "adjust-for-scroll-bar flex w-full flex-col" }, this.renderHeader(), h("slot", { name: "facets" })));
63
63
  }
64
64
  render() {
65
- return (h(Host, { key: 'a50c4412ac679ed69fafb7278cad2fd690b3715c' }, h(RefineModal, { key: 'e5c2cdddf437d21493b9d4754c1c4cb98277ffca', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
65
+ return (h(Host, { key: '5bd3c6f144318d8c3e4972be508e0beed14bce2e' }, h(RefineModal, { key: '58a5d2a1606bbabf46aa7f0e07e55bfbb2920231', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), numberOfItems: this.querySummaryState.total, title: this.bindings.i18n.t('filters'), openButton: this.openButton, boundary: "element", scope: this.bindings.interfaceElement }, this.renderBody())));
66
66
  }
67
67
  componentDidLoad() {
68
68
  this.host.style.display = '';
@@ -63,7 +63,7 @@ const AtomicIPXRefineToggle = /*@__PURE__*/ proxyCustomElement(class AtomicIPXRe
63
63
  this.modalRef.collapseFacetsAfter = this.collapseFacetsAfter;
64
64
  }
65
65
  render() {
66
- return (h(IconButton, { key: '02c5f517352a529810221275d89ee7d6c55cd0b2', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
66
+ return (h(IconButton, { key: 'a5195ef1416082d26534eb1292a1756149440463', partPrefix: "ipx-refine-toggle", class: "icon-button", style: "outline-neutral", title: this.bindings.i18n.t('filters'), icon: FilterIcon, disabled: !this.searchStatusState.hasResults && !this.numberOfBreadcrumbs, ariaLabel: this.bindings.i18n.t('sort'), onClick: () => {
67
67
  this.bindings.store.waitUntilAppLoaded(() => {
68
68
  this.enableModal();
69
69
  });
@@ -53,7 +53,7 @@ const AtomicIPXResultLink = /*@__PURE__*/ proxyCustomElement(class AtomicIPXResu
53
53
  const href = isUndefined(this.hrefTemplate)
54
54
  ? this.result.clickUri
55
55
  : buildStringTemplateFromResult(this.hrefTemplate, this.result, this.bindings);
56
- return (h(LinkWithItemAnalytics, { key: 'f9d168c8058c2a24bb3e9697b7fd9b7f4cdabb45', href: href, onSelect: () => this.onSelect(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (h("slot", null)) : (h("atomic-result-text", { field: "title", default: "no-title" }))));
56
+ return (h(LinkWithItemAnalytics, { key: 'e5d7cc0338c4272c6f7cd4dc00fd05115e2f4029', href: href, onSelect: () => this.onSelect(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (h("slot", null)) : (h("atomic-result-text", { field: "title", default: "no-title" }))));
57
57
  }
58
58
  get host() { return this; }
59
59
  static get style() { return AtomicIpxResultLinkStyle0; }
@@ -20,7 +20,7 @@ const AtomicIPXTabs = /*@__PURE__*/ proxyCustomElement(class AtomicIPXTabs exten
20
20
  this.error = undefined;
21
21
  }
22
22
  render() {
23
- return (h("atomic-tab-bar", { key: '93f6171e921c82bba1646989681037a1e4dabee2' }, h("slot", { key: '11ed2803f71484f2c2b80f07d0f8666a2ac4e8be' })));
23
+ return (h("atomic-tab-bar", { key: 'a1ada65b36cb85948f28579fc2fdddefe6726cba' }, h("slot", { key: '04c56b496df9b3e6cd61f1c9ebd87fd1023085c1' })));
24
24
  }
25
25
  }, [4, "atomic-ipx-tabs", {
26
26
  "error": [32]
@@ -49,7 +49,7 @@ const AtomicLoadMoreResults$1 = /*@__PURE__*/ proxyCustomElement(class AtomicLoa
49
49
  render() {
50
50
  const { lastResult: from, total: to } = this.querySummaryState;
51
51
  const { i18n } = this.bindings;
52
- return (h(LoadMoreGuard, { key: 'a1cad0dd3e89738a750f65c4fd7054c744c45551', hasResults: this.querySummaryState.hasResults, isLoaded: this.isAppLoaded }, h(LoadMoreContainer, { key: '1ebcd22ce89f3e52980d9b97f9d50a0707e9a090' }, h(LoadMoreSummary, { key: '6d40e9ecd63f0f69e52640d67dbfb8b4e2ba0a3d', from: from, to: to, i18n: i18n }), h(LoadMoreProgressBar, { key: '41b66762174c3726261f94657af90ec206418e5e', from: from, to: to }), h(LoadMoreButton, { key: 'f2c394f38800fab55de8789f0ccadf39656e8d2d', i18n: i18n, moreAvailable: this.resultListState.moreResultsAvailable, onClick: () => this.onClick() }))));
52
+ return (h(LoadMoreGuard, { key: '6d0054976491646d1cd0fa6ee6ce757c9d51b108', hasResults: this.querySummaryState.hasResults, isLoaded: this.isAppLoaded }, h(LoadMoreContainer, { key: '413a1469afde0f8ea611ed76a8ca1cb8bd3adc69' }, h(LoadMoreSummary, { key: '2cbd4fe13fe921d32fc9474dbb37e81dcdf3665b', from: from, to: to, i18n: i18n }), h(LoadMoreProgressBar, { key: '003dbafd54be53bec58e58656ca18c39cea96bdf', from: from, to: to }), h(LoadMoreButton, { key: '5f6de613909810400bcfd89bce158ac08c23e0ba', i18n: i18n, moreAvailable: this.resultListState.moreResultsAvailable, onClick: () => this.onClick() }))));
53
53
  }
54
54
  static get style() { return AtomicLoadMoreResultsStyle0; }
55
55
  }, [1, "atomic-load-more-results", {
@@ -100,8 +100,8 @@ const AtomicModal = /*@__PURE__*/ proxyCustomElement(class AtomicModal extends H
100
100
  }
101
101
  render() {
102
102
  this.updateBreakpoints();
103
- const Content = () => (h("article", { key: '55d9bc1f7133156f9a6f9e91dd409ff8da494815', part: "container", class: `bg-background text-on-background flex flex-col justify-between ${this.isOpen ? 'animate-open' : 'animate-close'} ${this.wasEverOpened ? '' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit(), ref: (ref) => (this.animatableContainer = ref) }, h("header", { key: '4d2ca5d40fe20240076cab7a6825ca6cfa191947', part: "header-wrapper", class: "flex flex-col items-center" }, h("div", { key: '8642bab5f6dda5892418f593c2e9a71438408ea5', part: "header", class: "flex w-full max-w-lg justify-between text-xl", id: this.headerId }, h("slot", { key: '8115b3f579e60c54554d4f200b8e3aeda4daf1df', name: "header" }))), h("hr", { key: '43126093e2985a49be560d16f41875b22d187a00', part: "header-ruler", class: "border-neutral border-t" }), h("div", { key: '29a443e54d35e1b6fd5236b15b92e505d466f6f1', part: "body-wrapper", class: "flex w-full grow flex-col items-center overflow-auto" }, h("div", { key: '0e465f97572afc0d520722661aff5ae0fd5dd779', part: "body", class: "w-full max-w-lg", ref: (element) => element?.addEventListener('touchmove', (e) => this.isOpen && e.stopPropagation(), { passive: false }) }, h("slot", { key: '8f29bb02344c60dc46c5f477fca5a92863b3f1c3', name: "body" }))), h("footer", { key: '0b90cef54e866ef83a545e271dcb25dd1e158071', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, h("div", { key: 'd5ea0fa31ac37207de65ac3a9530bb3df2c297c5', part: "footer", class: "w-full max-w-lg" }, h("slot", { key: 'ed9ab67debff0dffff535af921643c600c42ab83', name: "footer" })))));
104
- return (h(Host, { key: '878f0f81b908ac62687b2ace6fdd73b42175372c', class: this.getClasses().join(' '), "data-nosnippet": true }, h("div", { key: 'f00226630819b214bf72dc804e0bf4e6afbc152b', part: "backdrop", class: ` ${this.boundary === 'page' ? 'fixed' : 'absolute'} top-0 right-0 bottom-0 left-0 z-9999`, onClick: (e) => e.target === e.currentTarget && this.close() }, h("atomic-focus-trap", { key: 'e17e801c2fe9bf0cc7e1fde36d8afb90779d9194', role: "dialog", "aria-modal": this.isOpen.toString(), "aria-labelledby": this.headerId, source: this.source, container: this.container ?? this.host, ref: (ref) => (this.focusTrap = ref), scope: this.scope }, h(Content, { key: '73ef7e7a308d1b45f5750b3adf232384d662dda5' })))));
103
+ const Content = () => (h("article", { key: '97c068b84321020cc2849ad2aa3a6f88fff51504', part: "container", class: `bg-background text-on-background flex flex-col justify-between ${this.isOpen ? 'animate-open' : 'animate-close'} ${this.wasEverOpened ? '' : 'invisible'}`, onAnimationEnd: () => this.animationEnded.emit(), ref: (ref) => (this.animatableContainer = ref) }, h("header", { key: '5abf8864646b6cd77167122276d59081c4e09f95', part: "header-wrapper", class: "flex flex-col items-center" }, h("div", { key: '86448657992058f5baae1548f0ed429fae775227', part: "header", class: "flex w-full max-w-lg justify-between text-xl", id: this.headerId }, h("slot", { key: '0825c59f7328db13d1a2d88f87682968ab9b13e1', name: "header" }))), h("hr", { key: '52fcdce56b2eccdb5b6dc10eec0c1aea88ec66fa', part: "header-ruler", class: "border-neutral border-t" }), h("div", { key: '6aaf6efe85f5661409ac20708399666ee4f3b51d', part: "body-wrapper", class: "flex w-full grow flex-col items-center overflow-auto" }, h("div", { key: '58502a8abaff5d67ea6e2591862af1eebd34a58a', part: "body", class: "w-full max-w-lg", ref: (element) => element?.addEventListener('touchmove', (e) => this.isOpen && e.stopPropagation(), { passive: false }) }, h("slot", { key: '25658c844fc13ee759af20eda4c15847755c74d1', name: "body" }))), h("footer", { key: '0e4afb825f8e458fa45cfa29a9fd8be4a8afc2ed', part: "footer-wrapper", class: "border-neutral bg-background z-10 flex w-full flex-col items-center border-t" }, h("div", { key: '31dac6874a1dee52e2b3599cd14c38c18941979e', part: "footer", class: "w-full max-w-lg" }, h("slot", { key: '82f8398b4248a15f034f13895c75d0b8f93334a8', name: "footer" })))));
104
+ return (h(Host, { key: 'b2b70e2126b42ac0faf317ac6a8f63578d55c72a', class: this.getClasses().join(' '), "data-nosnippet": true }, h("div", { key: 'c761439e7e02b59f375b8c1195bfd63d37ddc1ef', part: "backdrop", class: ` ${this.boundary === 'page' ? 'fixed' : 'absolute'} top-0 right-0 bottom-0 left-0 z-9999`, onClick: (e) => e.target === e.currentTarget && this.close() }, h("atomic-focus-trap", { key: '93e244f324053e7e7c4472aeb772d19694f098b3', role: "dialog", "aria-modal": this.isOpen.toString(), "aria-labelledby": this.headerId, source: this.source, container: this.container ?? this.host, ref: (ref) => (this.focusTrap = ref), scope: this.scope }, h(Content, { key: '8b9b6210b33e9223bd1457dee91e780255e77d52' })))));
105
105
  }
106
106
  get host() { return this; }
107
107
  static get watchers() { return {
@@ -47,7 +47,7 @@ const AtomicNoResults$1 = /*@__PURE__*/ proxyCustomElement(class AtomicNoResults
47
47
  render() {
48
48
  const { bindings: { i18n }, } = this;
49
49
  this.ariaMessage = getSummary(i18n, this.querySummaryState.query, this.searchStatusState.hasResults, 'no-results');
50
- return (h(NoItemsGuard, { key: 'eca7869a960c2bdc9992994b7f97cd29e272a9f8', ...this.searchStatusState }, h(NoItemsContainer, { key: 'abcb9880559ed1fdec28ad958dac292b8cf0712d' }, h(MagnifyingGlass, { key: '2cd25508edea07406bd82564244045886d65353f' }), h(NoItems, { key: 'f50875d4fa08d6dccfc79e3340a402ccce2054d9', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: '8d146c1b22ac54b70a5f4d68d5964071f52c5ba9', i18n: i18n }), this.enableCancelLastAction && this.historyState.past.length ? (h(Cancel, { i18n: i18n, onClick: () => this.history.backOnNoResults() })) : null)));
50
+ return (h(NoItemsGuard, { key: '68380f48e173373185b89e7ef8204801db3e8b87', ...this.searchStatusState }, h(NoItemsContainer, { key: '362b84e7f6d40f4828bb40171dea4318d8dc6b78' }, h(MagnifyingGlass, { key: '118bf9f02e95c8e9498e20be3df98a3c706c83d4' }), h(NoItems, { key: '96cc5d2b483957718abba91d393afe8d127a887d', query: this.querySummaryState.query, i18n: i18n, i18nKey: "no-results" }), h(SearchTips, { key: 'a2f39a45880e265346313fe9fc4e3eaaef4abd81', i18n: i18n }), this.enableCancelLastAction && this.historyState.past.length ? (h(Cancel, { i18n: i18n, onClick: () => this.history.backOnNoResults() })) : null)));
51
51
  }
52
52
  static get style() { return AtomicNoResultsStyle0; }
53
53
  }, [1, "atomic-no-results", {
@@ -289,7 +289,7 @@ const AtomicNumericFacet$1 = /*@__PURE__*/ proxyCustomElement(class AtomicNumeri
289
289
  }
290
290
  render() {
291
291
  const { searchStatusState: { firstSearchExecuted, hasError }, bindings: { i18n }, } = this;
292
- return (h(FacetGuard, { key: '5216c8086d077a4183af64d235ef2f8c767feb90', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: this.label, onClearFilters: () => {
292
+ return (h(FacetGuard, { key: '28cedaa84d6d7befeaa4cf019b7ca9d885bb216f', enabled: this.enabled, firstSearchExecuted: firstSearchExecuted, hasError: hasError, hasResults: this.shouldRenderFacet }, firstSearchExecuted ? (h(FacetContainer, null, h(FacetHeader, { i18n: i18n, label: this.label, onClearFilters: () => {
293
293
  this.focusTarget.focusAfterSearch();
294
294
  if (this.filterState?.range) {
295
295
  this.filter?.clear();
@@ -67,15 +67,15 @@ const AtomicPager$1 = /*@__PURE__*/ proxyCustomElement(class AtomicPager extends
67
67
  });
68
68
  }
69
69
  render() {
70
- return (h(PagerGuard, { key: '155f75728df4ddd95aed6b429d437705768bff7e', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, h(PagerNavigation, { key: 'ef5a742de3ab5bdd72e5b91fc55d7412e2f28339', i18n: this.bindings.i18n }, h(PagerPreviousButton, { key: 'c90319edf66fd0880c1132a8f523082cda1e97b3', icon: this.previousButtonIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
70
+ return (h(PagerGuard, { key: '369f78fa1cb09522f21da7c46c1d570e69e4ef1b', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, h(PagerNavigation, { key: 'bfed460dcdab8375525ea1e9851960c0c9bd82ab', i18n: this.bindings.i18n }, h(PagerPreviousButton, { key: '53af0bb4f467e2008aad68f1adf05650176f0b24', icon: this.previousButtonIcon, disabled: !this.pagerState.hasPreviousPage, i18n: this.bindings.i18n, onClick: () => {
71
71
  this.pager.previousPage();
72
72
  this.focusOnFirstResultAndScrollToTop();
73
- } }), h(PagerPageButtons, { key: '5a27e4a57aea3277bcf4e1fa978abd4b34571604', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
73
+ } }), h(PagerPageButtons, { key: '8612ffe46a0861b9daf9cf3501a59a5c1a4bc294', i18n: this.bindings.i18n }, this.pagerState.currentPages.map((pageNumber) => {
74
74
  return (h(PagerPageButton, { isSelected: this.pager.isCurrentPage(pageNumber), ariaLabel: this.bindings.i18n.t('page-number', { pageNumber }), onChecked: () => {
75
75
  this.pager.selectPage(pageNumber);
76
76
  this.focusOnFirstResultAndScrollToTop();
77
77
  }, page: pageNumber, groupName: this.radioGroupName, text: pageNumber.toLocaleString(this.bindings.i18n.language) }));
78
- })), h(PagerNextButton, { key: 'bcf8af89d496cad9cae4f517a26614068d6965ac', icon: this.nextButtonIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
78
+ })), h(PagerNextButton, { key: 'be9ea2d1da6809f24b9f3988d27acf19f3c0ae42', icon: this.nextButtonIcon, disabled: !this.pagerState.hasNextPage, i18n: this.bindings.i18n, onClick: () => {
79
79
  this.pager.nextPage();
80
80
  this.focusOnFirstResultAndScrollToTop();
81
81
  } }))));
@@ -5,7 +5,6 @@ import { I as InitializeBindings } from './initialization-utils.js';
5
5
  import { f as filterProtocol } from './xss-utils.js';
6
6
  import { B as Button } from './stencil-button.js';
7
7
  import { P as ProductContext } from './stencil-product-template-decorators.js';
8
- import { d as defineCustomElement$2 } from './atomic-commerce-text2.js';
9
8
 
10
9
  const atomicProductChildrenCss = "/*! tailwindcss v4.1.10 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme;\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, var(--atomic-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n }\n @supports (color: color-mix(in lab, red, red)) {\n ::placeholder {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .\\@container {\n container-type: inline-size;\n }\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .collapse {\n visibility: collapse;\n }\n .invisible {\n visibility: hidden;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .sticky {\n position: sticky;\n }\n .-top-2 {\n top: calc(0.25rem * -2);\n }\n .-top-4 {\n top: calc(0.25rem * -4);\n }\n .top-0 {\n top: calc(0.25rem * 0);\n }\n .top-1\\/2 {\n top: calc(1/2 * 100%);\n }\n .top-6 {\n top: calc(0.25rem * 6);\n }\n .top-\\[4px\\] {\n top: 4px;\n }\n .top-full {\n top: 100%;\n }\n .top-px {\n top: 1px;\n }\n .-right-2 {\n right: calc(0.25rem * -2);\n }\n .right-0 {\n right: calc(0.25rem * 0);\n }\n .right-2 {\n right: calc(0.25rem * 2);\n }\n .right-6 {\n right: calc(0.25rem * 6);\n }\n .right-12 {\n right: calc(0.25rem * 12);\n }\n .right-20 {\n right: calc(0.25rem * 20);\n }\n .right-px {\n right: 1px;\n }\n .bottom-0 {\n bottom: calc(0.25rem * 0);\n }\n .bottom-1 {\n bottom: calc(0.25rem * 1);\n }\n .bottom-2 {\n bottom: calc(0.25rem * 2);\n }\n .bottom-px {\n bottom: 1px;\n }\n .left-0 {\n left: calc(0.25rem * 0);\n }\n .left-1 {\n left: calc(0.25rem * 1);\n }\n .left-2 {\n left: calc(0.25rem * 2);\n }\n .left-\\[15px\\] {\n left: 15px;\n }\n .isolate {\n isolation: isolate;\n }\n .z-0 {\n z-index: 0;\n }\n .z-1 {\n z-index: 1;\n }\n .z-10 {\n z-index: 10;\n }\n .z-9998 {\n z-index: 9998;\n }\n .z-9999 {\n z-index: 9999;\n }\n .order-last {\n order: 9999;\n }\n .col-span-2 {\n grid-column: span 2 / span 2;\n }\n .container {\n width: 100%;\n }\n @media (width >= 1024px) {\n .container {\n max-width: 1024px;\n }\n }\n @media (width >= 40rem) {\n .container {\n max-width: 40rem;\n }\n }\n @media (width >= 48rem) {\n .container {\n max-width: 48rem;\n }\n }\n @media (width >= 64rem) {\n .container {\n max-width: 64rem;\n }\n }\n @media (width >= 80rem) {\n .container {\n max-width: 80rem;\n }\n }\n @media (width >= 96rem) {\n .container {\n max-width: 96rem;\n }\n }\n .m-0 {\n margin: calc(0.25rem * 0);\n }\n .m-2 {\n margin: calc(0.25rem * 2);\n }\n .mx-0\\.5 {\n margin-inline: calc(0.25rem * 0.5);\n }\n .mx-1 {\n margin-inline: calc(0.25rem * 1);\n }\n .mx-6 {\n margin-inline: calc(0.25rem * 6);\n }\n .mx-16 {\n margin-inline: calc(0.25rem * 16);\n }\n .mx-auto {\n margin-inline: auto;\n }\n .my-2 {\n margin-block: calc(0.25rem * 2);\n }\n .my-3 {\n margin-block: calc(0.25rem * 3);\n }\n .my-4 {\n margin-block: calc(0.25rem * 4);\n }\n .my-6 {\n margin-block: calc(0.25rem * 6);\n }\n .my-auto {\n margin-block: auto;\n }\n .mt-0 {\n margin-top: calc(0.25rem * 0);\n }\n .mt-1 {\n margin-top: calc(0.25rem * 1);\n }\n .mt-1\\.5 {\n margin-top: calc(0.25rem * 1.5);\n }\n .mt-2 {\n margin-top: calc(0.25rem * 2);\n }\n .mt-2\\.5 {\n margin-top: calc(0.25rem * 2.5);\n }\n .mt-3 {\n margin-top: calc(0.25rem * 3);\n }\n .mt-4 {\n margin-top: calc(0.25rem * 4);\n }\n .mt-6 {\n margin-top: calc(0.25rem * 6);\n }\n .mt-7 {\n margin-top: calc(0.25rem * 7);\n }\n .mt-8 {\n margin-top: calc(0.25rem * 8);\n }\n .mt-10 {\n margin-top: calc(0.25rem * 10);\n }\n .mt-px {\n margin-top: 1px;\n }\n .mr-0 {\n margin-right: calc(0.25rem * 0);\n }\n .mr-0\\.5 {\n margin-right: calc(0.25rem * 0.5);\n }\n .mr-1 {\n margin-right: calc(0.25rem * 1);\n }\n .mr-1\\.5 {\n margin-right: calc(0.25rem * 1.5);\n }\n .mr-2 {\n margin-right: calc(0.25rem * 2);\n }\n .mr-3 {\n margin-right: calc(0.25rem * 3);\n }\n .mr-6 {\n margin-right: calc(0.25rem * 6);\n }\n .mb-0 {\n margin-bottom: calc(0.25rem * 0);\n }\n .mb-1 {\n margin-bottom: calc(0.25rem * 1);\n }\n .mb-2 {\n margin-bottom: calc(0.25rem * 2);\n }\n .mb-3 {\n margin-bottom: calc(0.25rem * 3);\n }\n .mb-4 {\n margin-bottom: calc(0.25rem * 4);\n }\n .mb-6 {\n margin-bottom: calc(0.25rem * 6);\n }\n .ml-0\\.5 {\n margin-left: calc(0.25rem * 0.5);\n }\n .ml-1 {\n margin-left: calc(0.25rem * 1);\n }\n .ml-2 {\n margin-left: calc(0.25rem * 2);\n }\n .ml-4 {\n margin-left: calc(0.25rem * 4);\n }\n .ml-6 {\n margin-left: calc(0.25rem * 6);\n }\n .ml-auto {\n margin-left: auto;\n }\n .box-border {\n box-sizing: border-box;\n }\n .box-content {\n box-sizing: content-box;\n }\n .line-clamp-1 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 1;\n }\n .line-clamp-2 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 2;\n }\n .line-clamp-3 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 3;\n }\n .line-clamp-4 {\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: 4;\n }\n .line-clamp-none {\n overflow: visible;\n display: block;\n -webkit-box-orient: horizontal;\n -webkit-line-clamp: unset;\n }\n .block {\n display: block;\n }\n .contents {\n display: contents;\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .inline {\n display: inline;\n }\n .inline-block {\n display: inline-block;\n }\n .inline-flex {\n display: inline-flex;\n }\n .table {\n display: table;\n }\n .aspect-square {\n aspect-ratio: 1 / 1;\n }\n .size-\\[27px\\] {\n width: 27px;\n height: 27px;\n }\n .h-1 {\n height: calc(0.25rem * 1);\n }\n .h-2 {\n height: calc(0.25rem * 2);\n }\n .h-2\\.5 {\n height: calc(0.25rem * 2.5);\n }\n .h-3 {\n height: calc(0.25rem * 3);\n }\n .h-4 {\n height: calc(0.25rem * 4);\n }\n .h-5 {\n height: calc(0.25rem * 5);\n }\n .h-5\\/6 {\n height: calc(5/6 * 100%);\n }\n .h-6 {\n height: calc(0.25rem * 6);\n }\n .h-7 {\n height: calc(0.25rem * 7);\n }\n .h-8 {\n height: calc(0.25rem * 8);\n }\n .h-9 {\n height: calc(0.25rem * 9);\n }\n .h-10 {\n height: calc(0.25rem * 10);\n }\n .h-12 {\n height: calc(0.25rem * 12);\n }\n .h-\\[2\\.6rem\\] {\n height: 2.6rem;\n }\n .h-\\[9px\\] {\n height: 9px;\n }\n .h-full {\n height: 100%;\n }\n .max-h-96 {\n max-height: calc(0.25rem * 96);\n }\n .min-h-10 {\n min-height: calc(0.25rem * 10);\n }\n .w-0\\.5 {\n width: calc(0.25rem * 0.5);\n }\n .w-1 {\n width: calc(0.25rem * 1);\n }\n .w-1\\/2 {\n width: calc(1/2 * 100%);\n }\n .w-2 {\n width: calc(0.25rem * 2);\n }\n .w-2\\.5 {\n width: calc(0.25rem * 2.5);\n }\n .w-3 {\n width: calc(0.25rem * 3);\n }\n .w-3\\.5 {\n width: calc(0.25rem * 3.5);\n }\n .w-3\\/5 {\n width: calc(3/5 * 100%);\n }\n .w-4 {\n width: calc(0.25rem * 4);\n }\n .w-5 {\n width: calc(0.25rem * 5);\n }\n .w-5\\/6 {\n width: calc(5/6 * 100%);\n }\n .w-6 {\n width: calc(0.25rem * 6);\n }\n .w-7 {\n width: calc(0.25rem * 7);\n }\n .w-8 {\n width: calc(0.25rem * 8);\n }\n .w-9 {\n width: calc(0.25rem * 9);\n }\n .w-10 {\n width: calc(0.25rem * 10);\n }\n .w-12 {\n width: calc(0.25rem * 12);\n }\n .w-20 {\n width: calc(0.25rem * 20);\n }\n .w-28 {\n width: calc(0.25rem * 28);\n }\n .w-32 {\n width: calc(0.25rem * 32);\n }\n .w-44 {\n width: calc(0.25rem * 44);\n }\n .w-48 {\n width: calc(0.25rem * 48);\n }\n .w-60 {\n width: calc(0.25rem * 60);\n }\n .w-72 {\n width: calc(0.25rem * 72);\n }\n .w-100 {\n width: calc(0.25rem * 100);\n }\n .w-\\[2\\.6rem\\] {\n width: 2.6rem;\n }\n .w-auto {\n width: auto;\n }\n .w-fit {\n width: fit-content;\n }\n .w-full {\n width: 100%;\n }\n .w-max {\n width: max-content;\n }\n .max-w-4\\/5 {\n max-width: calc(4/5 * 100%);\n }\n .max-w-60 {\n max-width: calc(0.25rem * 60);\n }\n .max-w-\\[30ch\\] {\n max-width: 30ch;\n }\n .max-w-full {\n max-width: 100%;\n }\n .max-w-lg {\n max-width: 32rem;\n }\n .max-w-max {\n max-width: max-content;\n }\n .min-w-0 {\n min-width: calc(0.25rem * 0);\n }\n .min-w-10 {\n min-width: calc(0.25rem * 10);\n }\n .min-w-20 {\n min-width: calc(0.25rem * 20);\n }\n .min-w-24 {\n min-width: calc(0.25rem * 24);\n }\n .min-w-full {\n min-width: 100%;\n }\n .flex-1 {\n flex: 1;\n }\n .flex-none {\n flex: none;\n }\n .flex-shrink {\n flex-shrink: 1;\n }\n .shrink-0 {\n flex-shrink: 0;\n }\n .flex-grow {\n flex-grow: 1;\n }\n .grow {\n flex-grow: 1;\n }\n .basis-1\\/2 {\n flex-basis: calc(1/2 * 100%);\n }\n .basis-8 {\n flex-basis: calc(0.25rem * 8);\n }\n .border-collapse {\n border-collapse: collapse;\n }\n .-translate-x-1\\/2 {\n --tw-translate-x: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .translate-x-1\\/2 {\n --tw-translate-x: calc(1/2 * 100%);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .-translate-y-1\\/2 {\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n }\n .scale-75 {\n --tw-scale-x: 75%;\n --tw-scale-y: 75%;\n --tw-scale-z: 75%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .scale-100 {\n --tw-scale-x: 100%;\n --tw-scale-y: 100%;\n --tw-scale-z: 100%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .rotate-180 {\n rotate: 180deg;\n }\n .transform {\n transform: var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,);\n }\n .animate-pulse {\n animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n }\n .animate-spin {\n animation: spin 1s linear infinite;\n }\n .cursor-\\[inherit\\] {\n cursor: inherit;\n }\n .cursor-pointer {\n cursor: pointer;\n }\n .resize {\n resize: both;\n }\n .resize-none {\n resize: none;\n }\n .list-outside {\n list-style-position: outside;\n }\n .list-decimal {\n list-style-type: decimal;\n }\n .list-disc {\n list-style-type: disc;\n }\n .list-none {\n list-style-type: none;\n }\n .appearance-none {\n appearance: none;\n }\n .grid-cols-\\[min-content_1fr\\] {\n grid-template-columns: min-content 1fr;\n }\n .grid-cols-\\[min-content_auto\\] {\n grid-template-columns: min-content auto;\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-nowrap {\n flex-wrap: nowrap;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .place-items-center {\n place-items: center;\n }\n .content-center {\n align-content: center;\n }\n .items-baseline {\n align-items: baseline;\n }\n .items-center {\n align-items: center;\n }\n .items-start {\n align-items: flex-start;\n }\n .justify-between {\n justify-content: space-between;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .gap-0\\.5 {\n gap: calc(0.25rem * 0.5);\n }\n .gap-1 {\n gap: calc(0.25rem * 1);\n }\n .gap-2 {\n gap: calc(0.25rem * 2);\n }\n .gap-3 {\n gap: calc(0.25rem * 3);\n }\n .gap-4 {\n gap: calc(0.25rem * 4);\n }\n .gap-8 {\n gap: calc(0.25rem * 8);\n }\n .gap-x-1\\.5 {\n column-gap: calc(0.25rem * 1.5);\n }\n .gap-x-2 {\n column-gap: calc(0.25rem * 2);\n }\n .gap-x-4 {\n column-gap: calc(0.25rem * 4);\n }\n :where(.space-x-1\\.5 > :not(:last-child)) {\n --tw-space-x-reverse: 0;\n margin-inline-start: calc(calc(0.25rem * 1.5) * var(--tw-space-x-reverse));\n margin-inline-end: calc(calc(0.25rem * 1.5) * calc(1 - var(--tw-space-x-reverse)));\n }\n .gap-y-0\\.5 {\n row-gap: calc(0.25rem * 0.5);\n }\n :where(.divide-y > :not(:last-child)) {\n --tw-divide-y-reverse: 0;\n border-bottom-style: var(--tw-border-style);\n border-top-style: var(--tw-border-style);\n border-top-width: calc(1px * var(--tw-divide-y-reverse));\n border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));\n }\n :where(.divide-neutral > :not(:last-child)) {\n border-color: var(--atomic-neutral);\n }\n .self-center {\n align-self: center;\n }\n .self-start {\n align-self: flex-start;\n }\n .truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .overflow-auto {\n overflow: auto;\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .overflow-x-auto {\n overflow-x: auto;\n }\n .overflow-x-clip {\n overflow-x: clip;\n }\n .overflow-x-scroll {\n overflow-x: scroll;\n }\n .overflow-y-auto {\n overflow-y: auto;\n }\n .overflow-y-visible {\n overflow-y: visible;\n }\n .scroll-smooth {\n scroll-behavior: smooth;\n }\n .rounded {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-lg {\n border-radius: var(--atomic-border-radius-lg);\n }\n .rounded-md {\n border-radius: var(--atomic-border-radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-sm {\n border-radius: var(--atomic-border-radius);\n }\n .rounded-xl {\n border-radius: var(--atomic-border-radius-xl);\n }\n .rounded-tl-none {\n border-top-left-radius: 0;\n }\n .rounded-r-none {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-0 {\n border-style: var(--tw-border-style);\n border-width: 0px;\n }\n .border-t {\n border-top-style: var(--tw-border-style);\n border-top-width: 1px;\n }\n .border-r {\n border-right-style: var(--tw-border-style);\n border-right-width: 1px;\n }\n .border-b {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 1px;\n }\n .border-l {\n border-left-style: var(--tw-border-style);\n border-left-width: 1px;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-neutral {\n border-color: var(--atomic-neutral);\n }\n .border-neutral-dark {\n border-color: var(--atomic-neutral-dark);\n }\n .border-neutral-dim {\n border-color: var(--atomic-neutral-dim);\n }\n .border-primary {\n border-color: var(--atomic-primary);\n }\n .border-primary-light {\n border-color: var(--atomic-primary-light);\n }\n .border-t-neutral {\n border-top-color: var(--atomic-neutral);\n }\n .border-b-neutral {\n border-bottom-color: var(--atomic-neutral);\n }\n .border-b-neutral-dim {\n border-bottom-color: var(--atomic-neutral-dim);\n }\n .border-l-neutral {\n border-left-color: var(--atomic-neutral);\n }\n .border-l-neutral-dim {\n border-left-color: var(--atomic-neutral-dim);\n }\n .bg-\\[\\#F1F2FF\\] {\n background-color: #F1F2FF;\n }\n .bg-background {\n background-color: var(--atomic-background);\n }\n .bg-error {\n background-color: var(--atomic-error);\n }\n .bg-neutral {\n background-color: var(--atomic-neutral);\n }\n .bg-neutral-dark {\n background-color: var(--atomic-neutral-dark);\n }\n .bg-neutral-light {\n background-color: var(--atomic-neutral-light);\n }\n .bg-primary {\n background-color: var(--atomic-primary);\n }\n .bg-primary-background {\n background-color: var(--atomic-primary-background);\n }\n .bg-transparent {\n background-color: transparent;\n }\n .bg-white {\n background-color: #fff;\n }\n .bg-linear-to-l {\n --tw-gradient-position: to left;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-l {\n --tw-gradient-position: to left in oklab;\n }\n }\n .bg-linear-to-l {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .bg-linear-to-r {\n --tw-gradient-position: to right;\n }\n @supports (background-image: linear-gradient(in lab, red, red)) {\n .bg-linear-to-r {\n --tw-gradient-position: to right in oklab;\n }\n }\n .bg-linear-to-r {\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in srgb, #ffffff 60%, transparent);\n }\n @supports (color: color-mix(in lab, red, red)) {\n .from-background\\/60 {\n --tw-gradient-from: color-mix(in oklab, var(--atomic-background) 60%, transparent);\n }\n }\n .from-background\\/60 {\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .fill-current {\n fill: currentcolor;\n }\n .stroke-\\[1\\.25\\] {\n stroke-width: 1.25;\n }\n .p-0 {\n padding: calc(0.25rem * 0);\n }\n .p-1 {\n padding: calc(0.25rem * 1);\n }\n .p-2 {\n padding: calc(0.25rem * 2);\n }\n .p-2\\.5 {\n padding: calc(0.25rem * 2.5);\n }\n .p-3 {\n padding: calc(0.25rem * 3);\n }\n .p-3\\.5 {\n padding: calc(0.25rem * 3.5);\n }\n .p-4 {\n padding: calc(0.25rem * 4);\n }\n .p-6 {\n padding: calc(0.25rem * 6);\n }\n .p-7 {\n padding: calc(0.25rem * 7);\n }\n .p-8 {\n padding: calc(0.25rem * 8);\n }\n .px-1 {\n padding-inline: calc(0.25rem * 1);\n }\n .px-2 {\n padding-inline: calc(0.25rem * 2);\n }\n .px-2\\.5 {\n padding-inline: calc(0.25rem * 2.5);\n }\n .px-3 {\n padding-inline: calc(0.25rem * 3);\n }\n .px-4 {\n padding-inline: calc(0.25rem * 4);\n }\n .px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n .px-9 {\n padding-inline: calc(0.25rem * 9);\n }\n .py-0\\.5 {\n padding-block: calc(0.25rem * 0.5);\n }\n .py-1 {\n padding-block: calc(0.25rem * 1);\n }\n .py-1\\.5 {\n padding-block: calc(0.25rem * 1.5);\n }\n .py-2 {\n padding-block: calc(0.25rem * 2);\n }\n .py-2\\.5 {\n padding-block: calc(0.25rem * 2.5);\n }\n .py-3 {\n padding-block: calc(0.25rem * 3);\n }\n .py-3\\.5 {\n padding-block: calc(0.25rem * 3.5);\n }\n .py-4 {\n padding-block: calc(0.25rem * 4);\n }\n .py-5 {\n padding-block: calc(0.25rem * 5);\n }\n .pt-0\\.5 {\n padding-top: calc(0.25rem * 0.5);\n }\n .pt-8 {\n padding-top: calc(0.25rem * 8);\n }\n .pr-2 {\n padding-right: calc(0.25rem * 2);\n }\n .pr-6 {\n padding-right: calc(0.25rem * 6);\n }\n .pr-24 {\n padding-right: calc(0.25rem * 24);\n }\n .pb-1 {\n padding-bottom: calc(0.25rem * 1);\n }\n .pb-3 {\n padding-bottom: calc(0.25rem * 3);\n }\n .pb-4 {\n padding-bottom: calc(0.25rem * 4);\n }\n .pb-6 {\n padding-bottom: calc(0.25rem * 6);\n }\n .pl-0 {\n padding-left: calc(0.25rem * 0);\n }\n .pl-1 {\n padding-left: calc(0.25rem * 1);\n }\n .pl-3 {\n padding-left: calc(0.25rem * 3);\n }\n .pl-7 {\n padding-left: calc(0.25rem * 7);\n }\n .pl-9 {\n padding-left: calc(0.25rem * 9);\n }\n .pl-10 {\n padding-left: calc(0.25rem * 10);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .align-baseline {\n vertical-align: baseline;\n }\n .align-bottom {\n vertical-align: bottom;\n }\n .align-middle {\n vertical-align: middle;\n }\n .font-sans {\n font-family: var(--atomic-font-family);\n }\n .text-2xl {\n font-size: var(--atomic-text-2xl);\n line-height: var(--tw-leading, calc(2 / 1.5));\n }\n .text-base {\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n }\n .text-lg {\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n .text-sm {\n font-size: var(--atomic-text-sm);\n line-height: var(--tw-leading, calc(1.25 / 0.875));\n }\n .text-xl {\n font-size: var(--atomic-text-xl);\n line-height: var(--tw-leading, calc(1.75 / 1.25));\n }\n .text-xs {\n font-size: 0.75rem;\n line-height: var(--tw-leading, calc(1 / 0.75));\n }\n .text-xs\\/\\[1rem\\] {\n font-size: 0.75rem;\n line-height: 1rem;\n }\n .leading-4 {\n --tw-leading: calc(0.25rem * 4);\n line-height: calc(0.25rem * 4);\n }\n .leading-5 {\n --tw-leading: calc(0.25rem * 5);\n line-height: calc(0.25rem * 5);\n }\n .leading-6 {\n --tw-leading: calc(0.25rem * 6);\n line-height: calc(0.25rem * 6);\n }\n .leading-8 {\n --tw-leading: calc(0.25rem * 8);\n line-height: calc(0.25rem * 8);\n }\n .leading-10 {\n --tw-leading: calc(0.25rem * 10);\n line-height: calc(0.25rem * 10);\n }\n .leading-\\[calc\\(1\\/\\.75\\)\\] {\n --tw-leading: calc(1 / .75);\n line-height: calc(1 / .75);\n }\n .font-bold {\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n .font-light {\n --tw-font-weight: 300;\n font-weight: 300;\n }\n .font-medium {\n --tw-font-weight: 500;\n font-weight: 500;\n }\n .font-normal {\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n .font-semibold {\n --tw-font-weight: 600;\n font-weight: 600;\n }\n .break-words {\n overflow-wrap: break-word;\n }\n .break-all {\n word-break: break-all;\n }\n .break-keep {\n word-break: keep-all;\n }\n .text-ellipsis {\n text-overflow: ellipsis;\n }\n .whitespace-normal {\n white-space: normal;\n }\n .whitespace-nowrap {\n white-space: nowrap;\n }\n .whitespace-pre-wrap {\n white-space: pre-wrap;\n }\n .text-\\[\\#54698D\\] {\n color: #54698D;\n }\n .text-\\[inherit\\] {\n color: inherit;\n }\n .text-black {\n color: #000;\n }\n .text-error {\n color: var(--atomic-error);\n }\n .text-inline-code {\n color: var(--atomic-inline-code);\n }\n .text-neutral {\n color: var(--atomic-neutral);\n }\n .text-neutral-dark {\n color: var(--atomic-neutral-dark);\n }\n .text-on-background {\n color: var(--atomic-on-background);\n }\n .text-on-primary {\n color: var(--atomic-on-primary);\n }\n .text-primary {\n color: var(--atomic-primary);\n }\n .text-primary-light {\n color: var(--atomic-primary-light);\n }\n .text-success {\n color: var(--atomic-success);\n }\n .text-transparent {\n color: transparent;\n }\n .capitalize {\n text-transform: capitalize;\n }\n .lowercase {\n text-transform: lowercase;\n }\n .italic {\n font-style: italic;\n }\n .line-through {\n text-decoration-line: line-through;\n }\n .placeholder-neutral-dark::placeholder {\n color: var(--atomic-neutral-dark);\n }\n .opacity-0 {\n opacity: 0%;\n }\n .opacity-50 {\n opacity: 50%;\n }\n .opacity-80 {\n opacity: 80%;\n }\n .shadow {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-inner-primary {\n --tw-shadow: inset 0 0 0 1px var(--tw-shadow-color, var(--atomic-primary));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-lg {\n --tw-shadow: 0px 2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-sm {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .shadow-t-lg {\n --tw-shadow: 0px -2px 8px var(--tw-shadow-color, rgba(229, 232, 232, 0.75));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-1 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-3 {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .ring-primary {\n --tw-ring-color: var(--atomic-primary);\n }\n .ring-primary-light {\n --tw-ring-color: var(--atomic-primary-light);\n }\n .ring-ring-primary {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .outline-error {\n outline-color: var(--atomic-error);\n }\n .outline-neutral {\n outline-color: var(--atomic-neutral);\n }\n .outline-primary {\n outline-color: var(--atomic-primary);\n }\n .blur {\n --tw-blur: blur(8px);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .invert {\n --tw-invert: invert(100%);\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .transition {\n transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, visibility, content-visibility, overlay, pointer-events;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-\\[visibility\\] {\n transition-property: visibility;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-all {\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .transition-opacity {\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function, cubic-bezier(0.4, 0, 0.2, 1)));\n transition-duration: var(--tw-duration, var(--default-transition-duration, 150ms));\n }\n .duration-200 {\n --tw-duration: 200ms;\n transition-duration: 200ms;\n }\n .duration-300 {\n --tw-duration: 300ms;\n transition-duration: 300ms;\n }\n .ease-in-out {\n --tw-ease: cubic-bezier(0.4, 0, 0.2, 1);\n transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n }\n @media (hover: hover) {\n .group-hover\\:visible:is(:where(.group):hover *) {\n visibility: visible;\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-error:is(:where(.group):hover *) {\n color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary:is(:where(.group):hover *) {\n color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .group-hover\\:text-primary-light:is(:where(.group):hover *) {\n color: var(--atomic-primary-light);\n }\n }\n .group-focus\\:text-primary:is(:where(.group):focus *) {\n color: var(--atomic-primary);\n }\n .group-focus\\:text-primary-light:is(:where(.group):focus *) {\n color: var(--atomic-primary-light);\n }\n .group-focus-visible\\:text-error:is(:where(.group):focus-visible *) {\n color: var(--atomic-error);\n }\n .group-focus-visible\\:text-primary:is(:where(.group):focus-visible *) {\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .peer-hover\\:text-error:is(:where(.peer):hover ~ *) {\n color: var(--atomic-error);\n }\n }\n .after\\:absolute::after {\n content: var(--tw-content);\n position: absolute;\n }\n .after\\:-bottom-0\\.5::after {\n content: var(--tw-content);\n bottom: calc(0.25rem * -0.5);\n }\n .after\\:block::after {\n content: var(--tw-content);\n display: block;\n }\n .after\\:h-1::after {\n content: var(--tw-content);\n height: calc(0.25rem * 1);\n }\n .after\\:w-full::after {\n content: var(--tw-content);\n width: 100%;\n }\n .after\\:rounded::after {\n content: var(--tw-content);\n border-radius: var(--atomic-border-radius);\n }\n .after\\:bg-primary::after {\n content: var(--tw-content);\n background-color: var(--atomic-primary);\n }\n .focus-within\\:border-disabled:focus-within {\n border-color: var(--atomic-disabled);\n }\n .focus-within\\:border-primary:focus-within {\n border-color: var(--atomic-primary);\n }\n .focus-within\\:ring-3:focus-within {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-within\\:ring-neutral:focus-within {\n --tw-ring-color: var(--atomic-neutral);\n }\n .focus-within\\:ring-ring-primary:focus-within {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n @media (hover: hover) {\n .hover\\:border:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n @media (hover: hover) {\n .hover\\:border-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:border-primary-light:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-error:hover {\n background-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-neutral-light:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-primary-light:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:bg-transparent:hover {\n background-color: transparent;\n }\n }\n @media (hover: hover) {\n .hover\\:fill-white:hover {\n fill: #fff;\n }\n }\n @media (hover: hover) {\n .hover\\:text-primary-light:hover {\n color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .hover\\:underline:hover {\n text-decoration-line: underline;\n }\n }\n @media (hover: hover) {\n .hover\\:opacity-100:hover {\n opacity: 100%;\n }\n }\n @media (hover: hover) {\n .hover\\:shadow-sm:hover {\n --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n }\n .focus\\:opacity-100:focus {\n opacity: 100%;\n }\n .focus\\:outline-hidden:focus {\n --tw-outline-style: none;\n outline-style: none;\n }\n @media (forced-colors: active) {\n .focus\\:outline-hidden:focus {\n outline: 2px solid transparent;\n outline-offset: 2px;\n }\n }\n .focus-visible\\:border:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .focus-visible\\:border-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .focus-visible\\:border-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .focus-visible\\:border-primary-light:focus-visible {\n border-color: var(--atomic-primary-light);\n }\n .focus-visible\\:bg-error:focus-visible {\n background-color: var(--atomic-error);\n }\n .focus-visible\\:bg-neutral-light:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .focus-visible\\:bg-primary-light:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .focus-visible\\:text-primary-light:focus-visible {\n color: var(--atomic-primary-light);\n }\n .focus-visible\\:underline:focus-visible {\n text-decoration-line: underline;\n }\n .focus-visible\\:ring-2:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .focus-visible\\:outline-none:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n @media (width >= 40rem) {\n .sm\\:px-6 {\n padding-inline: calc(0.25rem * 6);\n }\n }\n .\\[part\\=\\\"breadcrumb-button\\\"\\]\\:visible:is(part=\"breadcrumb-button\") {\n visibility: visible;\n }\n}\n@layer theme, base, components, utilities;\n@layer components {\n .input-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n }\n @media (hover: hover) {\n .input-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n .input-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .input-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .input-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .input-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-radio {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n }\n .btn-radio::before {\n content: var(--tw-content);\n --tw-content: attr(value);\n content: var(--tw-content);\n }\n .btn-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-primary);\n color: var(--atomic-on-primary);\n }\n @media (hover: hover) {\n .btn-primary:hover {\n background-color: var(--atomic-primary-light);\n }\n }\n .btn-primary:focus-visible {\n background-color: var(--atomic-primary-light);\n }\n .btn-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-primary:disabled {\n cursor: not-allowed;\n }\n .btn-primary:disabled {\n background-color: var(--atomic-disabled);\n }\n .btn-outline-primary {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n border-color: var(--atomic-primary-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-primary:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-outline-primary:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-primary:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-primary:disabled {\n cursor: not-allowed;\n }\n .btn-outline-primary:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-primary:disabled {\n color: var(--atomic-neutral);\n }\n .btn-text-primary {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-primary);\n }\n @media (hover: hover) {\n .btn-text-primary:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-text-primary:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-primary:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-neutral {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-neutral:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-neutral:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-neutral:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-neutral:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-neutral:disabled {\n opacity: 50%;\n }\n .btn-outline-bg-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n border-color: var(--atomic-primary);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-outline-bg-error:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-outline-bg-error:focus-visible {\n border-color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-outline-bg-error:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-bg-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-bg-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-bg-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-bg-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-bg-error:disabled {\n opacity: 50%;\n }\n .btn-outline-error {\n border-radius: var(--atomic-border-radius);\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n border-color: var(--atomic-error);\n }\n }\n @media (hover: hover) {\n .btn-outline-error:hover {\n color: var(--atomic-error);\n }\n }\n .btn-outline-error:focus-visible {\n border-color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n color: var(--atomic-error);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);\n box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .btn-outline-error:focus-visible {\n --tw-ring-color: var(--atomic-ring-primary);\n }\n .btn-outline-error:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-outline-error:disabled {\n cursor: not-allowed;\n }\n .btn-outline-error:disabled {\n border-color: var(--atomic-neutral);\n }\n .btn-outline-error:disabled {\n color: var(--atomic-on-background);\n }\n .btn-outline-error:disabled {\n opacity: 50%;\n }\n .btn-text-neutral {\n border-radius: var(--atomic-border-radius);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n @media (hover: hover) {\n .btn-text-neutral:hover {\n color: var(--atomic-primary);\n }\n }\n .btn-text-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-text-neutral:focus-visible {\n color: var(--atomic-primary);\n }\n .btn-text-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-text-transparent {\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-text-transparent:hover {\n color: var(--atomic-primary-light);\n }\n }\n .btn-text-transparent:focus-visible {\n color: var(--atomic-primary-light);\n }\n .btn-square-neutral {\n border-style: var(--tw-border-style);\n border-width: 1px;\n border-color: var(--atomic-neutral);\n background-color: var(--atomic-background);\n color: var(--atomic-on-background);\n }\n @media (hover: hover) {\n .btn-square-neutral:hover {\n background-color: var(--atomic-neutral-light);\n }\n }\n .btn-square-neutral:focus-visible {\n background-color: var(--atomic-neutral-light);\n }\n .btn-square-neutral:focus-visible {\n --tw-outline-style: none;\n outline-style: none;\n }\n .btn-page {\n display: grid;\n height: calc(0.25rem * 10);\n width: calc(0.25rem * 10);\n place-items: center;\n border-style: var(--tw-border-style);\n border-width: 0px;\n font-size: var(--atomic-text-lg);\n line-height: var(--tw-leading, calc(1.75 / 1.125));\n }\n @media (hover: hover) {\n .btn-page:hover {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n }\n .btn-page:focus-visible {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .btn-page.selected {\n border-style: var(--tw-border-style);\n border-width: 2px;\n border-color: var(--atomic-primary);\n --tw-font-weight: var(--atomic-font-bold);\n font-weight: var(--atomic-font-bold);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n border-color: oklch(0.928 0.006 264.531);\n }\n :host {\n display: block;\n }\n :host, button, input, select {\n font-family: var(--atomic-font-family);\n font-size: var(--atomic-text-base);\n line-height: var(--tw-leading, calc(1.5 / 1));\n --tw-font-weight: var(--atomic-font-normal);\n font-weight: var(--atomic-font-normal);\n }\n button {\n cursor: pointer;\n }\n :host(.atomic-hidden) {\n display: none;\n }\n .ripple {\n position: absolute;\n pointer-events: none;\n transform: scale(0);\n border-radius: 50%;\n animation: ripple var(--animation-duration) linear;\n }\n .ripple-relative {\n position: relative;\n }\n .ripple-parent {\n overflow: hidden;\n }\n @keyframes ripple {\n to {\n transform: scale(4);\n opacity: 0;\n }\n }\n}\n@keyframes scaleUp {\n 0% {\n transform: scale(0.7) translateY(150vh);\n opacity: 0.7;\n }\n 100% {\n transform: scale(1) translateY(0px);\n opacity: 1;\n }\n}\n@keyframes slideDown {\n 0% {\n transform: translateY(0px);\n opacity: 1;\n }\n 100% {\n transform: translateY(150vh);\n opacity: 0.7;\n }\n}\natomic-product-children .children-container {\n display: flex;\n flex-wrap: wrap;\n}\n.display-grid atomic-product-children .children-container .product-child:nth-child(n + 6) {\n display: none;\n}\n.display-grid atomic-product-children .children-container .product-child:nth-child(6) ~ .plus-button {\n display: block;\n}\n.display-grid atomic-product-children .children-container .product-child:nth-child(6):last-child ~ .plus-button {\n display: none;\n}\natomic-product-children .children-container .plus-button {\n display: none;\n}\n@property --tw-translate-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-translate-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-scale-x {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-y {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-scale-z {\n syntax: \"*\";\n inherits: false;\n initial-value: 1;\n}\n@property --tw-rotate-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-rotate-z {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-x {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-skew-y {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-space-x-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-divide-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-gradient-position {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-via {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-to {\n syntax: \"<color>\";\n inherits: false;\n initial-value: #0000;\n}\n@property --tw-gradient-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-via-stops {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-gradient-from-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 0%;\n}\n@property --tw-gradient-via-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 50%;\n}\n@property --tw-gradient-to-position {\n syntax: \"<length-percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-leading {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-inset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-inset-ring-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-inset-ring-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-ring-inset {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ring-offset-width {\n syntax: \"<length>\";\n inherits: false;\n initial-value: 0px;\n}\n@property --tw-ring-offset-color {\n syntax: \"*\";\n inherits: false;\n initial-value: #fff;\n}\n@property --tw-ring-offset-shadow {\n syntax: \"*\";\n inherits: false;\n initial-value: 0 0 #0000;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-blur {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-brightness {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-contrast {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-grayscale {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-hue-rotate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-invert {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-opacity {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-saturate {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-sepia {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-color {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-drop-shadow-alpha {\n syntax: \"<percentage>\";\n inherits: false;\n initial-value: 100%;\n}\n@property --tw-drop-shadow-size {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-duration {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-ease {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-content {\n syntax: \"*\";\n initial-value: \"\";\n inherits: false;\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n --tw-rotate-x: initial;\n --tw-rotate-y: initial;\n --tw-rotate-z: initial;\n --tw-skew-x: initial;\n --tw-skew-y: initial;\n --tw-space-x-reverse: 0;\n --tw-divide-y-reverse: 0;\n --tw-border-style: solid;\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-leading: initial;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-outline-style: solid;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-duration: initial;\n --tw-ease: initial;\n --tw-content: \"\";\n }\n }\n}\n";
11
10
  const AtomicProductChildrenStyle0 = atomicProductChildrenCss;
@@ -124,18 +123,13 @@ function defineCustomElement$1() {
124
123
  if (typeof customElements === "undefined") {
125
124
  return;
126
125
  }
127
- const components = ["atomic-product-children", "atomic-commerce-text"];
126
+ const components = ["atomic-product-children"];
128
127
  components.forEach(tagName => { switch (tagName) {
129
128
  case "atomic-product-children":
130
129
  if (!customElements.get(tagName)) {
131
130
  customElements.define(tagName, AtomicProductChildren$1);
132
131
  }
133
132
  break;
134
- case "atomic-commerce-text":
135
- if (!customElements.get(tagName)) {
136
- defineCustomElement$2();
137
- }
138
- break;
139
133
  } });
140
134
  }
141
135
 
@@ -1 +1 @@
1
- {"file":"atomic-product-children.js","mappings":";;;;;;;;;AAAA,MAAM,wBAAwB,GAAG,2w2DAA2w2D,CAAC;AAC7y2D,oCAAe,wBAAwB;;;;;;;;;;;;MCoC1BA,uBAAqB;IAwChC;;;;QAhCiB,aAAQ,GAAmB,EAAE,CAAC;QAC9B,kBAAa,GAAW,EAAE,CAAC;;;;;;QAS7B,UAAK,GAAW,cAAc,CAAC;;;;;;QAOvB,UAAK,GAAW,eAAe,CAAC;;;;QAKhC,aAAQ;;YAE7B,4LAA4L,CAAC;wBAxBnJ,EAAE;6BACL,EAAE;qBASZ,cAAc;qBAON,eAAe;;;YAOpD,4LAA4L;QAS5L,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,iBAAiB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KAC7C;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,KAAK,EAAE,IAAI,WAAW,EAAE;YACxB,KAAK,EAAE,IAAI,WAAW,EAAE;YACxB,QAAQ,EAAE,IAAI,WAAW,EAAE;SAC5B,CAAC,CAAC,QAAQ,CAAC;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;KACJ;IAEO,aAAa,CAAC,KAAmB;QACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,KAAK;SACN,CAAC,CAAC;KACJ;IAEO,WAAW,CAAC,KAAmB;QACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACxD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;IAED,IAAY,kBAAkB;QAC5B,OAAO,4CAA4C,CAAC;KACrD;;IAGO,WAAW,CAAC,KAAmB;QACrC,QACE,cACE,KAAK,EAAE,gBAAgB,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE,EACjG,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EACjC,UAAU,EAAE,CAAC,KAAK,KAChB,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAEpD,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC7C,YAAY,EAAE,CAAC,KAAK;gBAClB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3B,IAED,WACE,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC5B,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EAC/B,OAAO,EAAC,MAAM,GACd,CACK,EACT;KACH;IAEO,WAAW;QACjB,QACE,WAAK,KAAK,EAAC,sCAAsC,IAC/C,4BACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GACjB,CACpB,EACN;KACH;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,QACE,EAAC,IAAI,QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAC/C,WAAK,KAAK,EAAC,oBAAoB,IAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EACtD,EAAC,MAAM,IAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAC,2BAA2B,SAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACnB,CACL,CACD,EACP;KACH;;;;;;;;;;AAvI4B;IAA5B,kBAAkB,EAAE;yDAAoC;AAC/B;IAAzB,cAAc,EAAE;wDAA2B;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductChildren"],"sources":["src/components/commerce/atomic-product-children/atomic-product-children.pcss?tag=atomic-product-children","src/components/commerce/atomic-product-children/atomic-product-children.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\natomic-product-children .children-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.display-grid {\n atomic-product-children .children-container {\n .product-child:nth-child(n + 6) {\n display: none;\n }\n\n .product-child:nth-child(6) ~ .plus-button {\n display: block;\n }\n\n .product-child:nth-child(6):last-child ~ .plus-button {\n display: none;\n }\n }\n}\n\natomic-product-children .children-container .plus-button {\n display: none;\n}\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n Product,\n ChildProduct,\n ProductTemplatesHelpers,\n} from '@coveo/headless/commerce';\nimport {\n Component,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n State,\n Host,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {filterProtocol} from '../../../utils/xss-utils';\nimport {Button} from '../../common/stencil-button';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\nimport {SelectChildProductEventArgs} from './select-child-product-event';\n\n/**\n * @alpha\n * The `atomic-product-children` component renders a section that allows the user to select a nested product (e.g., a color variant of a given product).\n *\n * This component leverages the [product grouping](https://docs.coveo.com/en/l78i2152/) feature.\n */\n@Component({\n tag: 'atomic-product-children',\n styleUrl: 'atomic-product-children.pcss',\n shadow: false,\n})\nexport class AtomicProductChildren\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n @State() private children: ChildProduct[] = [];\n @State() private activeChildId: string = '';\n\n public error!: Error;\n\n /**\n * The non-localized label to display for the product children section.\n *\n * Set this to an empty string if you do not want to render the label at all.\n */\n @Prop() public label: string = 'available-in';\n\n /**\n * The child product field to use to render product children images. Fields in the `additionalFields` property of the child products are supported.\n *\n * This field should be defined on each child product, and its value should be an image URL (or an array of image URLs, in which case the component will use the first one in the array).\n */\n @Prop({reflect: true}) field: string = 'ec_thumbnails';\n\n /**\n * A fallback image URL to use when the specified `field` is not defined on a given child product, or when its value is invalid.\n */\n @Prop({reflect: true}) fallback: string =\n // eslint-disable-next-line @cspell/spellchecker\n 'data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\"%3E%3Crect width=\"50\" height=\"50\" fill=\"none\" stroke=\"gray\"%3E%3C/rect%3E%3C/svg%3E';\n\n @Event({\n eventName: 'atomic/selectChildProduct',\n bubbles: true,\n })\n public selectChildProduct!: EventEmitter<SelectChildProductEventArgs>;\n\n constructor() {\n this.validateProps();\n }\n\n public connectedCallback(): void {\n this.activeChildId = this.product.permanentid;\n this.children = this.product.children ?? [];\n }\n\n private validateProps() {\n new Schema({\n label: new StringValue(),\n field: new StringValue(),\n fallback: new StringValue(),\n }).validate({\n label: this.label,\n field: this.field,\n fallback: this.fallback,\n });\n }\n\n private onSelectChild(child: ChildProduct) {\n this.activeChildId = child.permanentid;\n this.selectChildProduct.emit({\n child,\n });\n }\n\n private getImageUrl(child: ChildProduct) {\n const value = ProductTemplatesHelpers.getProductProperty(child, this.field);\n\n if (typeof value === 'string') {\n return filterProtocol(value);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string') {\n return filterProtocol(value[0]);\n }\n\n return filterProtocol(this.fallback);\n }\n\n private get activeChildClasses() {\n return ' box-border rounded border border-primary ';\n }\n\n // TODO: We could leverage the totalNumberOfRelatedProducts property on the Product to show the number of available children (e.g., ...and 3 more). This would require some UX design however.\n private renderChild(child: ChildProduct) {\n return (\n <button\n class={`product-child${child.permanentid === this.activeChildId ? this.activeChildClasses : ' '}`}\n title={child.ec_name || undefined}\n onKeyPress={(event) =>\n event.key === 'Enter' && this.onSelectChild(child)\n }\n onMouseEnter={() => this.onSelectChild(child)}\n onTouchStart={(event) => {\n event.stopPropagation();\n event.preventDefault();\n this.onSelectChild(child);\n }}\n >\n <img\n class=\"aspect-square p-1\"\n src={this.getImageUrl(child)}\n alt={child.ec_name || undefined}\n loading=\"lazy\"\n />\n </button>\n );\n }\n\n private renderLabel() {\n return (\n <div class=\"text-neutral-dark my-2 font-semibold\">\n <atomic-commerce-text\n value={this.bindings.i18n.t(this.label)}\n ></atomic-commerce-text>\n </div>\n );\n }\n\n public render() {\n if (this.children.length === 0) {\n return null;\n }\n\n return (\n <Host>\n {this.label.trim() !== '' && this.renderLabel()}\n <div class=\"children-container\">\n {this.children.map((child) => this.renderChild(child))}\n <Button style=\"text-primary\" class=\"product-child plus-button\">\n +{this.children.length - 5}\n </Button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-product-children.js","mappings":";;;;;;;;AAAA,MAAM,wBAAwB,GAAG,2w2DAA2w2D,CAAC;AAC7y2D,oCAAe,wBAAwB;;;;;;;;;;;;MCoC1BA,uBAAqB;IAwChC;;;;QAhCiB,aAAQ,GAAmB,EAAE,CAAC;QAC9B,kBAAa,GAAW,EAAE,CAAC;;;;;;QAS7B,UAAK,GAAW,cAAc,CAAC;;;;;;QAOvB,UAAK,GAAW,eAAe,CAAC;;;;QAKhC,aAAQ;;YAE7B,4LAA4L,CAAC;wBAxBnJ,EAAE;6BACL,EAAE;qBASZ,cAAc;qBAON,eAAe;;;YAOpD,4LAA4L;QAS5L,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEM,iBAAiB;QACtB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;QAC9C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC;KAC7C;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,KAAK,EAAE,IAAI,WAAW,EAAE;YACxB,KAAK,EAAE,IAAI,WAAW,EAAE;YACxB,QAAQ,EAAE,IAAI,WAAW,EAAE;SAC5B,CAAC,CAAC,QAAQ,CAAC;YACV,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;KACJ;IAEO,aAAa,CAAC,KAAmB;QACvC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;YAC3B,KAAK;SACN,CAAC,CAAC;KACJ;IAEO,WAAW,CAAC,KAAmB;QACrC,MAAM,KAAK,GAAG,uBAAuB,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5E,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC;SAC9B;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE;YACxD,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;QAED,OAAO,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACtC;IAED,IAAY,kBAAkB;QAC5B,OAAO,4CAA4C,CAAC;KACrD;;IAGO,WAAW,CAAC,KAAmB;QACrC,QACE,cACE,KAAK,EAAE,gBAAgB,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,kBAAkB,GAAG,GAAG,EAAE,EACjG,KAAK,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EACjC,UAAU,EAAE,CAAC,KAAK,KAChB,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAEpD,YAAY,EAAE,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAC7C,YAAY,EAAE,CAAC,KAAK;gBAClB,KAAK,CAAC,eAAe,EAAE,CAAC;gBACxB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3B,IAED,WACE,KAAK,EAAC,mBAAmB,EACzB,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAC5B,GAAG,EAAE,KAAK,CAAC,OAAO,IAAI,SAAS,EAC/B,OAAO,EAAC,MAAM,GACd,CACK,EACT;KACH;IAEO,WAAW;QACjB,QACE,WAAK,KAAK,EAAC,sCAAsC,IAC/C,4BACE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GACjB,CACpB,EACN;KACH;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;YAC9B,OAAO,IAAI,CAAC;SACb;QAED,QACE,EAAC,IAAI,QACF,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,EAC/C,WAAK,KAAK,EAAC,oBAAoB,IAC5B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EACtD,EAAC,MAAM,IAAC,KAAK,EAAC,cAAc,EAAC,KAAK,EAAC,2BAA2B,SAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CACnB,CACL,CACD,EACP;KACH;;;;;;;;;;AAvI4B;IAA5B,kBAAkB,EAAE;yDAAoC;AAC/B;IAAzB,cAAc,EAAE;wDAA2B;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductChildren"],"sources":["src/components/commerce/atomic-product-children/atomic-product-children.pcss?tag=atomic-product-children","src/components/commerce/atomic-product-children/atomic-product-children.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n\natomic-product-children .children-container {\n display: flex;\n flex-wrap: wrap;\n}\n\n.display-grid {\n atomic-product-children .children-container {\n .product-child:nth-child(n + 6) {\n display: none;\n }\n\n .product-child:nth-child(6) ~ .plus-button {\n display: block;\n }\n\n .product-child:nth-child(6):last-child ~ .plus-button {\n display: none;\n }\n }\n}\n\natomic-product-children .children-container .plus-button {\n display: none;\n}\n","import {Schema, StringValue} from '@coveo/bueno';\nimport {\n Product,\n ChildProduct,\n ProductTemplatesHelpers,\n} from '@coveo/headless/commerce';\nimport {\n Component,\n h,\n Element,\n Prop,\n Event,\n EventEmitter,\n State,\n Host,\n} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {filterProtocol} from '../../../utils/xss-utils';\nimport {Button} from '../../common/stencil-button';\nimport {CommerceBindings} from '../atomic-commerce-interface/atomic-commerce-interface';\nimport {ProductContext} from '../product-template-component-utils/stencil-product-template-decorators';\nimport {SelectChildProductEventArgs} from './select-child-product-event';\n\n/**\n * @alpha\n * The `atomic-product-children` component renders a section that allows the user to select a nested product (e.g., a color variant of a given product).\n *\n * This component leverages the [product grouping](https://docs.coveo.com/en/l78i2152/) feature.\n */\n@Component({\n tag: 'atomic-product-children',\n styleUrl: 'atomic-product-children.pcss',\n shadow: false,\n})\nexport class AtomicProductChildren\n implements InitializableComponent<CommerceBindings>\n{\n @InitializeBindings() public bindings!: CommerceBindings;\n @ProductContext() private product!: Product;\n\n @Element() hostElement!: HTMLElement;\n\n @State() private children: ChildProduct[] = [];\n @State() private activeChildId: string = '';\n\n public error!: Error;\n\n /**\n * The non-localized label to display for the product children section.\n *\n * Set this to an empty string if you do not want to render the label at all.\n */\n @Prop() public label: string = 'available-in';\n\n /**\n * The child product field to use to render product children images. Fields in the `additionalFields` property of the child products are supported.\n *\n * This field should be defined on each child product, and its value should be an image URL (or an array of image URLs, in which case the component will use the first one in the array).\n */\n @Prop({reflect: true}) field: string = 'ec_thumbnails';\n\n /**\n * A fallback image URL to use when the specified `field` is not defined on a given child product, or when its value is invalid.\n */\n @Prop({reflect: true}) fallback: string =\n // eslint-disable-next-line @cspell/spellchecker\n 'data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"50\" height=\"50\" viewBox=\"0 0 50 50\"%3E%3Crect width=\"50\" height=\"50\" fill=\"none\" stroke=\"gray\"%3E%3C/rect%3E%3C/svg%3E';\n\n @Event({\n eventName: 'atomic/selectChildProduct',\n bubbles: true,\n })\n public selectChildProduct!: EventEmitter<SelectChildProductEventArgs>;\n\n constructor() {\n this.validateProps();\n }\n\n public connectedCallback(): void {\n this.activeChildId = this.product.permanentid;\n this.children = this.product.children ?? [];\n }\n\n private validateProps() {\n new Schema({\n label: new StringValue(),\n field: new StringValue(),\n fallback: new StringValue(),\n }).validate({\n label: this.label,\n field: this.field,\n fallback: this.fallback,\n });\n }\n\n private onSelectChild(child: ChildProduct) {\n this.activeChildId = child.permanentid;\n this.selectChildProduct.emit({\n child,\n });\n }\n\n private getImageUrl(child: ChildProduct) {\n const value = ProductTemplatesHelpers.getProductProperty(child, this.field);\n\n if (typeof value === 'string') {\n return filterProtocol(value);\n }\n\n if (Array.isArray(value) && typeof value[0] === 'string') {\n return filterProtocol(value[0]);\n }\n\n return filterProtocol(this.fallback);\n }\n\n private get activeChildClasses() {\n return ' box-border rounded border border-primary ';\n }\n\n // TODO: We could leverage the totalNumberOfRelatedProducts property on the Product to show the number of available children (e.g., ...and 3 more). This would require some UX design however.\n private renderChild(child: ChildProduct) {\n return (\n <button\n class={`product-child${child.permanentid === this.activeChildId ? this.activeChildClasses : ' '}`}\n title={child.ec_name || undefined}\n onKeyPress={(event) =>\n event.key === 'Enter' && this.onSelectChild(child)\n }\n onMouseEnter={() => this.onSelectChild(child)}\n onTouchStart={(event) => {\n event.stopPropagation();\n event.preventDefault();\n this.onSelectChild(child);\n }}\n >\n <img\n class=\"aspect-square p-1\"\n src={this.getImageUrl(child)}\n alt={child.ec_name || undefined}\n loading=\"lazy\"\n />\n </button>\n );\n }\n\n private renderLabel() {\n return (\n <div class=\"text-neutral-dark my-2 font-semibold\">\n <atomic-commerce-text\n value={this.bindings.i18n.t(this.label)}\n ></atomic-commerce-text>\n </div>\n );\n }\n\n public render() {\n if (this.children.length === 0) {\n return null;\n }\n\n return (\n <Host>\n {this.label.trim() !== '' && this.renderLabel()}\n <div class=\"children-container\">\n {this.children.map((child) => this.renderChild(child))}\n <Button style=\"text-primary\" class=\"product-child plus-button\">\n +{this.children.length - 5}\n </Button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,10 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
  import { Schema, StringValue } from '@coveo/bueno';
3
3
  import { I as InitializeBindings, H as Hidden } from './initialization-utils.js';
4
- import { E as ExpandableText } from './expandable-text.js';
4
+ import { E as ExpandableText } from './stencil-expandable-text.js';
5
5
  import { P as ProductContext } from './stencil-product-template-decorators.js';
6
- import { d as defineCustomElement$3 } from './atomic-commerce-text2.js';
7
- import { d as defineCustomElement$2 } from './atomic-product-text2.js';
8
6
 
9
7
  const atomicProductDescriptionCss = "/*! tailwindcss v4.1.10 | 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)}";
10
8
  const AtomicProductDescriptionStyle0 = atomicProductDescriptionCss;
@@ -107,23 +105,13 @@ function defineCustomElement$1() {
107
105
  if (typeof customElements === "undefined") {
108
106
  return;
109
107
  }
110
- const components = ["atomic-product-description", "atomic-commerce-text", "atomic-product-text"];
108
+ const components = ["atomic-product-description"];
111
109
  components.forEach(tagName => { switch (tagName) {
112
110
  case "atomic-product-description":
113
111
  if (!customElements.get(tagName)) {
114
112
  customElements.define(tagName, AtomicProductDescription$1);
115
113
  }
116
114
  break;
117
- case "atomic-commerce-text":
118
- if (!customElements.get(tagName)) {
119
- defineCustomElement$3();
120
- }
121
- break;
122
- case "atomic-product-text":
123
- if (!customElements.get(tagName)) {
124
- defineCustomElement$2();
125
- }
126
- break;
127
115
  } });
128
116
  }
129
117
 
@@ -1 +1 @@
1
- {"file":"atomic-product-description.js","mappings":";;;;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7BA,0BAAwB;IA+BnC;;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAI,WAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;;;;;;;;AAjG4B;IAA5B,kBAAkB,EAAE;4DAAoC;AAC/B;IAAzB,cAAc,EAAE;2DAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductDescription"],"sources":["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 '../../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/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
+ {"file":"atomic-product-description.js","mappings":";;;;;;AAAA,MAAM,2BAA2B,GAAG,wUAAwU,CAAC;AAC7W,uCAAe,2BAA2B;;;;;;;;;;;;MCuB7BA,0BAAwB;IA+BnC;;;QArBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,UAAK,GAAsC,cAAc,CAAC;;;;QAK1D,kBAAa,GAAG,IAAI,CAAC;0BAnBN,KAAK;2BACJ,KAAK;6BAQU,GAAG;qBAKS,cAAc;6BAKzC,IAAI;QAGjC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,eAAe;gBACpB,IAAI,CAAC,eAAe,CAAC,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,EACrE;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;YACF,KAAK,EAAE,IAAI,WAAW,CAAC;gBACrB,WAAW,EAAE,CAAC,cAAc,EAAE,gBAAgB,CAAC;aAChD,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CACnD,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACnD;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAE5D,IAAI,CAAC,kBAAkB,EAAE;YACvB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAE,IAAI,CAAC,KAAK,GAAwB,CAC/C,EACjB;KACH;;;;;;;;;;AAjG4B;IAA5B,kBAAkB,EAAE;4DAAoC;AAC/B;IAAzB,cAAc,EAAE;2DAA2B;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductDescription"],"sources":["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 '../../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 +1,8 @@
1
1
  import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
2
  import { Schema, StringValue } from '@coveo/bueno';
3
3
  import { I as InitializeBindings, H as Hidden } from './initialization-utils.js';
4
- import { E as ExpandableText } from './expandable-text.js';
4
+ import { E as ExpandableText } from './stencil-expandable-text.js';
5
5
  import { P as ProductContext } from './stencil-product-template-decorators.js';
6
- import { d as defineCustomElement$3 } from './atomic-commerce-text2.js';
7
- import { d as defineCustomElement$2 } from './atomic-product-text2.js';
8
6
 
9
7
  const atomicProductExcerptCss = "/*! tailwindcss v4.1.10 | 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)}";
10
8
  const AtomicProductExcerptStyle0 = atomicProductExcerptCss;
@@ -97,23 +95,13 @@ function defineCustomElement$1() {
97
95
  if (typeof customElements === "undefined") {
98
96
  return;
99
97
  }
100
- const components = ["atomic-product-excerpt", "atomic-commerce-text", "atomic-product-text"];
98
+ const components = ["atomic-product-excerpt"];
101
99
  components.forEach(tagName => { switch (tagName) {
102
100
  case "atomic-product-excerpt":
103
101
  if (!customElements.get(tagName)) {
104
102
  customElements.define(tagName, AtomicProductExcerpt$1);
105
103
  }
106
104
  break;
107
- case "atomic-commerce-text":
108
- if (!customElements.get(tagName)) {
109
- defineCustomElement$3();
110
- }
111
- break;
112
- case "atomic-product-text":
113
- if (!customElements.get(tagName)) {
114
- defineCustomElement$2();
115
- }
116
- break;
117
105
  } });
118
106
  }
119
107
 
@@ -1 +1 @@
1
- {"file":"atomic-product-excerpt.js","mappings":";;;;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzBA,sBAAoB;IA0B/B;;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;;;;;;;AAxF4B;IAA5B,kBAAkB,EAAE;wDAAoC;AAC/B;IAAzB,cAAc,EAAE;uDAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductExcerpt"],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@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/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-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\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 excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\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 }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\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 productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\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=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-product-excerpt.js","mappings":";;;;;;AAAA,MAAM,uBAAuB,GAAG,wUAAwU,CAAC;AACzW,mCAAe,uBAAuB;;;;;;;;;;;;MCuBzBA,sBAAoB;IA0B/B;;;QAhBiB,eAAU,GAAG,KAAK,CAAC;QACnB,gBAAW,GAAG,KAAK,CAAC;;;;QAQtB,kBAAa,GAAkB,GAAG,CAAC;;;;QAKnC,kBAAa,GAAG,KAAK,CAAC;0BAdP,KAAK;2BACJ,KAAK;6BAQU,GAAG;6BAKlB,KAAK;QAGlC,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC;YACvC,IACE,IAAI,CAAC,WAAW;gBAChB,IAAI,CAAC,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7D;gBACA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;aAC1B;SACF,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,EAAE,CAAC;KACtB;IAEO,aAAa;QACnB,IAAI,MAAM,CAAC;YACT,aAAa,EAAE,IAAI,WAAW,CAAC;gBAC7B,WAAW,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;aAC1C,CAAC;SACH,CAAC,CAAC,QAAQ,CAAC;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;KACJ;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/C,kBAAkB,CACD,CAAC;QACpB,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;SAC/C;KACF;IAEO,cAAc,CAAC,CAAc;QACnC,IAAI,CAAC,EAAE;YACL,CAAC,CAAC,eAAe,EAAE,CAAC;SACrB;QAED,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;KACpC;IAED,oBAAoB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;KAClC;IAEM,MAAM;QACX,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC;QAEvD,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,EAAC,MAAM,OAAG,CAAC;SACnB;QAED,QACE,EAAC,cAAc,IACb,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,WAAW,EAAE,IAAI,CAAC,WAAW,EAC7B,aAAa,EAAE,IAAI,CAAC,aAAa,EACjC,cAAc,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAC7C,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,EAChD,aAAa,EAAE,IAAI,CAAC,aAAa,IAEjC,2BAAqB,KAAK,EAAC,SAAS,GAAuB,CAC5C,EACjB;KACH;;;;;;;;;AAxF4B;IAA5B,kBAAkB,EAAE;wDAAoC;AAC/B;IAAzB,cAAc,EAAE;uDAA2B;;;;;;;;;;;;;;;;;;;;","names":["AtomicProductExcerpt"],"sources":["src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.pcss?tag=atomic-product-excerpt","src/components/commerce/atomic-product-excerpt/atomic-product-excerpt.tsx"],"sourcesContent":["@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-excerpt` component renders the excerpt of a product generated at query time.\n */\n@Component({\n tag: 'atomic-product-excerpt',\n styleUrl: 'atomic-product-excerpt.pcss',\n shadow: false,\n})\nexport class AtomicProductExcerpt\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 excerptText!: HTMLDivElement;\n private resizeObserver: ResizeObserver;\n\n /**\n * The number of lines after which the product excerpt should be truncated. A value of \"none\" will disable truncation.\n */\n @Prop() public truncateAfter: TruncateAfter = '2';\n\n /**\n * Whether the excerpt should be collapsible after being expanded.\n */\n @Prop() public isCollapsible = false;\n\n constructor() {\n this.resizeObserver = new ResizeObserver(() => {\n if (\n this.excerptText &&\n this.excerptText.scrollHeight > this.excerptText.offsetHeight\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 }).validate({\n truncateAfter: this.truncateAfter,\n });\n }\n\n componentDidLoad() {\n this.excerptText = this.hostElement.querySelector(\n '.expandable-text'\n ) as HTMLDivElement;\n if (this.excerptText) {\n this.resizeObserver.observe(this.excerptText);\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 productExcerpt = this.product['excerpt'] ?? null;\n\n if (!productExcerpt) {\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=\"excerpt\"></atomic-product-text>\n </ExpandableText>\n );\n }\n}\n"],"version":3}