@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
@@ -268,7 +268,7 @@ const AtomicRecsList = class {
268
268
  }))));
269
269
  }
270
270
  render() {
271
- return (index.h(index.Fragment, { key: 'f07235481cf340447423e905a4d2d3b16dd94f7a' }, this.renderHeading(), this.shouldRenderPagination ? (index.h(stencilCarousel.Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
271
+ return (index.h(index.Fragment, { key: '8e2cdc749e141dc6c83ffbdf53e3cb3ab4331f67' }, this.renderHeading(), this.shouldRenderPagination ? (index.h(stencilCarousel.Carousel, { bindings: this.bindings, currentPage: this.currentPage, nextPage: () => this.nextPage(), previousPage: () => this.previousPage(), numberOfPages: this.numberOfPages }, this.renderListOfRecommendations())) : (this.renderListOfRecommendations())));
272
272
  }
273
273
  get host() { return index.getElement(this); }
274
274
  static get watchers() { return {
@@ -183,7 +183,7 @@ const AtomicRefineModal = class {
183
183
  return (index.h(stencilSort.RefineModalFiltersSection, { i18n: i18n, withFacets: hasFacetElements, withAutomaticFacets: hasAutomaticFacets }, this.breadcrumbManagerState.hasBreadcrumbs && (index.h(stencilSort.RefineModalFiltersClearButton, { i18n: i18n, onClick: () => this.breadcrumbManager.deselectAll() }))));
184
184
  }
185
185
  render() {
186
- return (index.h(stencilModal.RefineModal, { key: '2c29acd6676d5632bc8487d5f7bd3b50bb18e769', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), title: this.bindings.i18n.t('sort-and-filter'), numberOfItems: this.querySummaryState.total, openButton: this.openButton }, index.h(stencilSort.RefineModalBody, { key: '3b0067763eef3b7acdc19cefc22af68bc9aedd2f' }, this.renderSort(), this.renderFilters())));
186
+ return (index.h(stencilModal.RefineModal, { key: '1e877f4411313bcc5c3998c8802dbc807dc189a8', i18n: this.bindings.i18n, host: this.host, isOpen: this.isOpen, onClose: () => (this.isOpen = false), title: this.bindings.i18n.t('sort-and-filter'), numberOfItems: this.querySummaryState.total, openButton: this.openButton }, index.h(stencilSort.RefineModalBody, { key: '7cc1ef970c9623247304cfbbcbb96fbf72b2bfa7' }, this.renderSort(), this.renderFilters())));
187
187
  }
188
188
  componentDidLoad() {
189
189
  this.host.style.display = '';
@@ -57,7 +57,7 @@ const AtomicRefineToggle = class {
57
57
  this.modalRef && (this.modalRef.isOpen = true);
58
58
  }
59
59
  render() {
60
- return (index.h(stencilGuard.RefineToggleGuard, { key: '276acb5f7fc7b2a3552b795b087a5e8a6f5fda31', firstRequestExecuted: this.searchStatusState.firstSearchExecuted, hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults }, index.h(stencilGuard.RefineToggleButton, { key: 'b2d426789aafd70fbe849713cafd1cdd560be31c', i18n: this.bindings.i18n, onClick: () => this.enableModal(), setRef: (button) => {
60
+ return (index.h(stencilGuard.RefineToggleGuard, { key: '7dc34e7fd9ee7f10a74d49e57d45a89554eda119', firstRequestExecuted: this.searchStatusState.firstSearchExecuted, hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults }, index.h(stencilGuard.RefineToggleButton, { key: '1833f1b2b333e5eba52699bea29fbe086ac1e292', i18n: this.bindings.i18n, onClick: () => this.enableModal(), setRef: (button) => {
61
61
  if (!button) {
62
62
  return;
63
63
  }
@@ -21,9 +21,9 @@ const AtomicRelevanceInspector = class {
21
21
  this.open = false;
22
22
  }
23
23
  render() {
24
- return (index.h("atomic-modal", { key: '4039bbc07cf66801552d442b2a0d5703d5dab5dc', exportparts: "footer", isOpen: this.open, close: () => {
24
+ return (index.h("atomic-modal", { key: '46ce0cc49ee3cc72208e17ec5a47fc44bc364669', exportparts: "footer", isOpen: this.open, close: () => {
25
25
  this.closeRelevanceInspector?.emit();
26
- } }, index.h("p", { key: '82bbfe5931c61c4f63f512978b82fb5693937a72', slot: "header" }, "Open the relevance inspector"), index.h("p", { key: '5ece1a1d6c87609a9a666acf5da7fb99c793e47f', slot: "body" }, "The Relevance Inspector will open in the Coveo Administration Console."), index.h("div", { key: '1f28d9eb8fe880f4db445e81fa6b4e822ccad8a6', slot: "footer", class: "flex w-full items-center justify-end" }, index.h(stencilButton.Button, { key: '2fb84e865192ce63eebf63e231dd100e32edb6d5', style: "outline-primary", class: "mr-2 p-2", onClick: () => this.closeRelevanceInspector?.emit() }, "Ignore"), index.h("a", { key: '6539194dede816cd1090a0299b8bd5d6dc273b4c', class: "btn-primary p-2", target: "_blank", href: this.adminHref, onClick: () => this.closeRelevanceInspector?.emit() }, "Open"))));
26
+ } }, index.h("p", { key: '3e9e61f720d3508d151ec2bbee9f0fe8320d48c0', slot: "header" }, "Open the relevance inspector"), index.h("p", { key: 'e105518acca647f7e38e405a468d8c6b8e86a1b4', slot: "body" }, "The Relevance Inspector will open in the Coveo Administration Console."), index.h("div", { key: '177e646a5eb79311f567c531debd84a4cf18e44b', slot: "footer", class: "flex w-full items-center justify-end" }, index.h(stencilButton.Button, { key: 'f4fd56d47235c4cbcaf41da0da814f2503c6a8d9', style: "outline-primary", class: "mr-2 p-2", onClick: () => this.closeRelevanceInspector?.emit() }, "Ignore"), index.h("a", { key: 'c98c637d86171fde324e97fee9862d9ede38bb3d', class: "btn-primary p-2", target: "_blank", href: this.adminHref, onClick: () => this.closeRelevanceInspector?.emit() }, "Open"))));
27
27
  }
28
28
  get adminHref() {
29
29
  const { organizationId, environment } = this.bindings.engine.state.configuration;
@@ -140,7 +140,7 @@ const AtomicResultChildren = class {
140
140
  return (index.h(showHideButton.ChildrenWrapper, { hasChildren: children.length > 0 }, children.map((child, i) => this.renderChild(child, i === children.length - 1))));
141
141
  }
142
142
  render() {
143
- return (index.h(showHideButton.ResultChildrenGuard, { key: '848074b62963fefa9969693fa836eedda37043e4', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
143
+ return (index.h(showHideButton.ResultChildrenGuard, { key: 'f6183807a8b58ead059e5fa7db300117c77e5425', inheritTemplates: this.inheritTemplates, resultTemplateRegistered: this.resultTemplateRegistered, templateHasError: this.templateHasError }, this.collection ? this.renderCollection() : this.renderFoldedResult()));
144
144
  }
145
145
  get host() { return index.getElement(this); }
146
146
  };
@@ -104,7 +104,7 @@ const AtomicResultFieldsList = class {
104
104
  }
105
105
  }
106
106
  render() {
107
- return index.h(index.Host, { key: '943f07e6abf871ecaec4075b0d0a732d5e6c4468' });
107
+ return index.h(index.Host, { key: 'a5dc1fdae78e0475a7952f31369f6cccf6f6c2b7' });
108
108
  }
109
109
  get host() { return index.getElement(this); }
110
110
  };
@@ -51,7 +51,7 @@ const AtomicResultLink = class {
51
51
  const href = bueno.isUndefined(this.hrefTemplate)
52
52
  ? this.result.clickUri
53
53
  : resultUtils.buildStringTemplateFromResult(this.hrefTemplate, this.result, this.bindings);
54
- return (index.h(itemLink.LinkWithItemAnalytics, { key: '4e32ef7ccc3376b83474a1e282e65fa7ec91e4bf', href: href, onSelect: () => this.interactiveResult.select(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (index.h("slot", null)) : (index.h("atomic-result-text", { field: "title", default: "no-title" }))));
54
+ return (index.h(itemLink.LinkWithItemAnalytics, { key: '73c2bb5a7ca23992bbf448ff25e1763e789b0148', href: href, onSelect: () => this.interactiveResult.select(), onBeginDelayedSelect: () => this.interactiveResult.beginDelayedSelect(), onCancelPendingSelect: () => this.interactiveResult.cancelPendingSelect(), attributes: this.linkAttributes, stopPropagation: this.stopPropagation }, this.hasDefaultSlot ? (index.h("slot", null)) : (index.h("atomic-result-text", { field: "title", default: "no-title" }))));
55
55
  }
56
56
  get host() { return index.getElement(this); }
57
57
  };
@@ -195,7 +195,7 @@ const AtomicResultList = class {
195
195
  render() {
196
196
  this.resultListCommon.updateBreakpoints();
197
197
  const listClasses = this.computeListDisplayClasses();
198
- return (index.h(TabGuard, { key: 'f0fd67b5c6a71ca73f945ae29b56ab0364a7a25f', tabsIncluded: this.tabsIncluded, tabsExcluded: this.tabsExcluded, activeTab: this.tabManagerState.activeTab }, index.h(itemListGuard.ItemListGuard, { key: '7a2fa1913ea5fe0665fd0c21f07b5674a42ff574', hasError: this.resultListState.hasError, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: 'ea6dbf1fa6d23c33c2edffa6fb3d4f170beacc26', display: this.display, listClasses: listClasses }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: '89a3ac76376f1832cb429bcc0d4dc433d513dd2d', density: this.density, display: this.display, imageSize: this.imageSize, displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: '690c850edbe81dd217837e255742bc544cd3cdfb', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.display === 'table'
198
+ return (index.h(TabGuard, { key: '8cd1828891f42c56c35d1dd45b87b12c79254826', tabsIncluded: this.tabsIncluded, tabsExcluded: this.tabsExcluded, activeTab: this.tabManagerState.activeTab }, index.h(itemListGuard.ItemListGuard, { key: '514229c8a95f6675a0683e37ea65a14263e88c78', hasError: this.resultListState.hasError, hasTemplate: this.resultTemplateRegistered, templateHasError: this.itemTemplateProvider.hasError, firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, index.h(stencilDisplayWrapper.DisplayWrapper, { key: '435e24ee5c19c9d4f46de0e813918afc441f310b', display: this.display, listClasses: listClasses }, index.h(stencilPlaceholders.ResultsPlaceholdersGuard, { key: 'e04b1c8ccebc79ea6f031b62331b0b89c53e67b7', density: this.density, display: this.display, imageSize: this.imageSize, displayPlaceholders: !this.isAppLoaded, numberOfPlaceholders: this.resultsPerPageState.numberOfResults }), index.h(stencilDisplayWrapper.ItemDisplayGuard, { key: '987265fbaab67daeebb031393fbba65dad737439', firstRequestExecuted: this.resultListState.firstSearchExecuted, hasItems: this.resultListState.hasResults }, this.display === 'table'
199
199
  ? this.renderAsTable()
200
200
  : this.display === 'grid'
201
201
  ? this.renderAsGrid()
@@ -28,9 +28,9 @@ const AtomicResultPlaceholder = class {
28
28
  } }, index.h("div", { class: placeholderClasses$1, style: { height: 'var(--font-size)' } })));
29
29
  }
30
30
  render() {
31
- return (index.h("div", { key: 'bffaddea0566e064180727174a377ac8c7899e06', class: `result-root placeholder with-sections animate-pulse ${displayOptions.getItemDisplayClasses(this.display, this.density, this.imageSize)
31
+ return (index.h("div", { key: '44d6f6fcae141700636748bf0bf1d324801ad7b0', class: `result-root placeholder with-sections animate-pulse ${displayOptions.getItemDisplayClasses(this.display, this.density, this.imageSize)
32
32
  .join(' ')
33
- .trim()}` }, index.h("atomic-result-section-visual", { key: 'a2b8d0d98582513ec857627f3b3d4ba2b7b7c95e' }, index.h("div", { key: '537a31a4e0c403552eb120e343656489d4339f35', class: placeholderClasses$1 })), index.h("atomic-result-section-badges", { key: '3515429f07e5af670c9b0031788b817726595250' }, index.h("div", { key: '716f2e99ef0b8f1a63c579b8093588797e74670f', class: `badge ${placeholderClasses$1}` })), index.h("atomic-result-section-actions", { key: 'bf214a0a66c17ad4cedba462804c8667624dd888' }, index.h("div", { key: 'f56b0516c820914c115d8ff3d23ed60fd364e181', class: `action ${placeholderClasses$1}` })), index.h("atomic-result-section-title", { key: 'cb8462a378c1894a731d2884c78681c054ab14ad' }, index.h("div", { key: 'fd6003555d060a2de532a069fc47b4084294bd8b', class: `title ${placeholderClasses$1}` })), index.h("atomic-result-section-excerpt", { key: 'a4afa5d315c80ed6bea4e9241204c84ba7af9805' }, this.renderExcerptLine('100%'), this.renderExcerptLine('95%'), this.renderExcerptLine('98%')), index.h("atomic-result-section-bottom-metadata", { key: '937faf6ac6e46d60c28c8caac19e1dc3e52b7f0c' }, index.h("div", { key: 'ad5520817e71d991d8928440a57ea70cf80913c3', class: "fields-placeholder" }, Array.from({ length: 4 }, () => (index.h("div", { class: `field-value-placeholder ${placeholderClasses$1}` })))))));
33
+ .trim()}` }, index.h("atomic-result-section-visual", { key: '26dfc3541d739adf34491f475068f7eaed1b9450' }, index.h("div", { key: 'f191b225416bab5522ccbd04482d46b8e0917e90', class: placeholderClasses$1 })), index.h("atomic-result-section-badges", { key: '08a0ba74c846888549718c9da9e8a8c931193770' }, index.h("div", { key: '6112d11347845ceebea377a9dda46f29893ea4b2', class: `badge ${placeholderClasses$1}` })), index.h("atomic-result-section-actions", { key: '37c82ca42e6f287137bb6c734d2387fab395c143' }, index.h("div", { key: 'dcadfe0f127aa99b934c0a4de70e230ba0cd6cc6', class: `action ${placeholderClasses$1}` })), index.h("atomic-result-section-title", { key: '6f934bbaa48ce4e8b39eb5f8e6294e635551a977' }, index.h("div", { key: '98cbc660cb80f97aebb18673883649cb6cdbc37b', class: `title ${placeholderClasses$1}` })), index.h("atomic-result-section-excerpt", { key: '8faa1af5537e63d3862b7f98ef81e3f813908ccb' }, this.renderExcerptLine('100%'), this.renderExcerptLine('95%'), this.renderExcerptLine('98%')), index.h("atomic-result-section-bottom-metadata", { key: '5bccd91ac5ed5f9ae2abcf005ad436927856f49d' }, index.h("div", { key: 'e947f3929a136565bc86383855c78d6f15faf317', class: "fields-placeholder" }, Array.from({ length: 4 }, () => (index.h("div", { class: `field-value-placeholder ${placeholderClasses$1}` })))))));
34
34
  }
35
35
  };
36
36
  AtomicResultPlaceholder.style = AtomicResultPlaceholderStyle0;
@@ -111,7 +111,7 @@ const AtomicResultTablePlaceholder = class {
111
111
  return displayOptions.getItemDisplayClasses('table', this.density, this.imageSize);
112
112
  }
113
113
  render() {
114
- return (index.h("table", { key: '8e9394e0cbe5972a467fd1ef68525bd482abaff5', class: `list-root animate-pulse ${this.getClasses().join(' ')}` }, index.h("thead", { key: 'f72ea34d37f10a24bb5fb67536738f38e3e241ff' }, index.h("tr", { key: '9d8a7a8b7448a24d295d63f453d4fe679c62b272' }, index.h("th", { key: 'bad6d4d4f6cb8cfd2edebc2b2cb245c56a2353ae' }, index.h("div", { key: '63ed0b2ca9783b2741e7c9db5d1f6e87dc6e0607', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '14.5rem' } })), index.h("th", { key: '68fb7a99d9f43e348302c437acae306dd068ef17' }, index.h("div", { key: 'e9b0b8b7d179776bfebc76dfb61da2f44d751787', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '9.75rem' } })), index.h("th", { key: '92483802d77604252091345271584c0252ad7f5f' }, index.h("div", { key: '213de40652195bb5e0b7ac234e42c0bbf8171f48', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '6.5rem' } })))), index.h("tbody", { key: '9d3786641bc2c23028f1bd6e9d4fff4693d7713a' }, Array.from({ length: this.rows }, () => (index.h("tr", null, index.h("td", null, index.h("div", { class: `mb-6 h-8 ${placeholderClasses}`, style: { width: '22.875rem' } }), index.h("div", { class: `mb-2 h-5 ${placeholderClasses}`, style: { width: '23.75rem' } }), index.h("div", { class: `h-5 ${placeholderClasses}`, style: { width: '11.5rem' } })), index.h("td", null, index.h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '11rem' } })), index.h("td", null, index.h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '4.875rem' } }))))))));
114
+ return (index.h("table", { key: 'db3a9b9d55eb8d3417e60b89f13f07636c8196f9', class: `list-root animate-pulse ${this.getClasses().join(' ')}` }, index.h("thead", { key: '5dc2f253b16ec6302fbafa604d7bffac41670dd0' }, index.h("tr", { key: 'fd20bb0566ddadfaf855f9624d58aadb942e772d' }, index.h("th", { key: '85875071396ae899dc8479dfa52ec16bd3ea2e19' }, index.h("div", { key: 'b6707df93ed8d964755a539966f109c20f5e9f5f', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '14.5rem' } })), index.h("th", { key: 'ee7cc8149bd3eee23225a3e2622f999acf030385' }, index.h("div", { key: '07ec2fa2f4625c63e353a842680d04540c94e85e', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '9.75rem' } })), index.h("th", { key: 'c24de3a80547bc1af784a238e68c931ea2586167' }, index.h("div", { key: 'fed9db9f0174e5961845d5f3cec4806f395c6722', class: `mt-2 h-8 ${placeholderClasses}`, style: { width: '6.5rem' } })))), index.h("tbody", { key: 'e1a3e36e69c633186d4530cc499dcd5a29b1fdb8' }, Array.from({ length: this.rows }, () => (index.h("tr", null, index.h("td", null, index.h("div", { class: `mb-6 h-8 ${placeholderClasses}`, style: { width: '22.875rem' } }), index.h("div", { class: `mb-2 h-5 ${placeholderClasses}`, style: { width: '23.75rem' } }), index.h("div", { class: `h-5 ${placeholderClasses}`, style: { width: '11.5rem' } })), index.h("td", null, index.h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '11rem' } })), index.h("td", null, index.h("div", { class: `mt-1.5 h-5 ${placeholderClasses}`, style: { width: '4.875rem' } }))))))));
115
115
  }
116
116
  };
117
117
  AtomicResultTablePlaceholder.style = AtomicResultTablePlaceholderStyle0;
@@ -7,16 +7,58 @@ const headless = require('@coveo/headless');
7
7
  const fieldUtils = require('./field-utils-a715deca.js');
8
8
  const initializationUtils = require('./initialization-utils-62dc9852.js');
9
9
  const resultUtils = require('./result-utils-f5ee91df.js');
10
- const stencilItemTextHighlighted = require('./stencil-item-text-highlighted-91fd0fe8.js');
10
+ const bueno = require('@coveo/bueno');
11
11
  const resultTemplateDecorators = require('./result-template-decorators-432d11a9.js');
12
12
  require('./dom-utils-d4790328.js');
13
13
  require('./event-utils-9bfcf3c5.js');
14
14
  require('./init-queue-a18aa323.js');
15
15
  require('./initialization-lit-stencil-common-utils-24279cfa.js');
16
16
  require('./object-utils-799780d3.js');
17
- require('@coveo/bueno');
18
17
  require('./stencil-item-decorators-43a96f33.js');
19
18
 
19
+ function possiblyWarnOnBadFieldType(field, itemValueRaw, host, logger) {
20
+ if (bueno.isArray(itemValueRaw)) {
21
+ logger.error(`${host.nodeName.toLowerCase()} cannot be used with multi value field "${field}" with values "${itemValueRaw}".`, host);
22
+ }
23
+ }
24
+
25
+ const ItemTextFallback = ({ field, host, logger, defaultValue, item, getProperty }, children) => {
26
+ const raw = getProperty(item, field);
27
+ possiblyWarnOnBadFieldType(field, raw, host, logger);
28
+ if (bueno.isUndefined(defaultValue)) {
29
+ host.remove();
30
+ return null;
31
+ }
32
+ else {
33
+ return index.h(index.Fragment, null, children);
34
+ }
35
+ };
36
+
37
+ function renderWithHighlights(value, highlights, highlightString) {
38
+ const openingDelimiter = '_openingDelimiter_';
39
+ const closingDelimiter = '_closingDelimiter_';
40
+ const highlightedValue = highlightString({
41
+ content: value,
42
+ openingDelimiter,
43
+ closingDelimiter,
44
+ highlights,
45
+ });
46
+ return highlightedValue
47
+ .replace(new RegExp(openingDelimiter, 'g'), '<b>')
48
+ .replace(new RegExp(closingDelimiter, 'g'), '</b>');
49
+ }
50
+
51
+ const ItemTextHighlighted = ({ highlightKeywords, highlightString, onError, textValue }) => {
52
+ try {
53
+ const highlightedValue = renderWithHighlights(textValue, highlightKeywords, highlightString);
54
+ // deepcode ignore ReactSetInnerHtml: This is not React code
55
+ return index.h(index.Host, { innerHTML: highlightedValue });
56
+ }
57
+ catch (error) {
58
+ onError(error);
59
+ }
60
+ };
61
+
20
62
  var __decorate$1 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
21
63
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
22
64
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
@@ -42,11 +84,11 @@ const AtomicResultText = class {
42
84
  render() {
43
85
  const resultValueAsString = resultUtils.getStringValueFromResultOrNull(this.result, this.field);
44
86
  if (resultValueAsString === null) {
45
- return (index.h(stencilItemTextHighlighted.ItemTextFallback, { field: this.field, host: this.host, logger: this.bindings.engine.logger, defaultValue: this.default, item: this.result, getProperty: headless.ResultTemplatesHelpers.getResultProperty }, index.h("atomic-text", { value: fieldUtils.getFieldValueCaption(this.field, this.default, this.bindings.i18n) })));
87
+ return (index.h(ItemTextFallback, { field: this.field, host: this.host, logger: this.bindings.engine.logger, defaultValue: this.default, item: this.result, getProperty: headless.ResultTemplatesHelpers.getResultProperty }, index.h("atomic-text", { value: fieldUtils.getFieldValueCaption(this.field, this.default, this.bindings.i18n) })));
46
88
  }
47
89
  const textValue = `${resultValueAsString}`;
48
90
  const highlightKeywords = headless.ResultTemplatesHelpers.getResultProperty(this.result, `${this.field}Highlights`);
49
- return this.shouldHighlight && highlightKeywords ? (index.h(stencilItemTextHighlighted.ItemTextHighlighted, { textValue: textValue, highlightKeywords: highlightKeywords, highlightString: headless.HighlightUtils.highlightString, onError: (error) => (this.error = error) })) : (fieldUtils.getFieldValueCaption(this.field, textValue, this.bindings.i18n));
91
+ return this.shouldHighlight && highlightKeywords ? (index.h(ItemTextHighlighted, { textValue: textValue, highlightKeywords: highlightKeywords, highlightString: headless.HighlightUtils.highlightString, onError: (error) => (this.error = error) })) : (fieldUtils.getFieldValueCaption(this.field, textValue, this.bindings.i18n));
50
92
  }
51
93
  get host() { return index.getElement(this); }
52
94
  };
@@ -1 +1 @@
1
- {"file":"atomic-result-text.atomic-text.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoBa,gBAAgB;;;;;;QAiBG,oBAAe,GAAG,IAAI,CAAC;;;+BAAL,IAAI;;;IAO7C,MAAM;QACX,MAAM,mBAAmB,GAAGA,0CAA8B,CACxD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAChC,QACEC,QAACC,2CAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EACnC,YAAY,EAAE,IAAI,CAAC,OAAO,EAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,EACjB,WAAW,EAAEC,+BAAsB,CAAC,iBAAiB,IAErDF,yBACE,KAAK,EAAEG,+BAAoB,CACzB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnB,GACY,CACE,EACnB;SACH;QAED,MAAM,SAAS,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAGD,+BAAsB,CAAC,iBAAiB,CAChE,IAAI,CAAC,MAAM,EACX,GAAG,IAAI,CAAC,KAAK,YAAY,CACW,CAAC;QAEvC,OAAO,IAAI,CAAC,eAAe,IAAI,iBAAiB,IAC9CF,QAACI,8CAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAEC,uBAAc,CAAC,eAAe,EAC/C,OAAO,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GACnB,KAEvBF,+BAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChE,CAAC;KACH;;;AAlE4BG;IAA5BC,sCAAkB,EAAE;kDAA4B;AACxBD;IAAxBE,sCAAa,EAAE;gDAAyB;;;;;;;;;;;;MCR9B,UAAU;;;QAGb,YAAO,GAAG;YAChB,KAAK,EAAE,MACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;SACL,CAAC;;;;;IAYK,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAClE;KACF;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;KAC7B;;AA3B4B;IAA5BD,sCAAkB,EAAE;4CAA4B;;;;;","names":["getStringValueFromResultOrNull","h","ItemTextFallback","ResultTemplatesHelpers","getFieldValueCaption","ItemTextHighlighted","HighlightUtils","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/search/result-template-components/atomic-result-text/atomic-result-text.tsx","src/components/search/atomic-text/atomic-text.tsx"],"sourcesContent":["import {HighlightUtils, Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {ItemTextFallback} from '../../../common/item-text/stencil-item-text-fallback';\nimport {ItemTextHighlighted} from '../../../common/item-text/stencil-item-text-highlighted';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-text` component renders the value of a string result field.\n */\n@Component({\n tag: 'atomic-result-text',\n shadow: false,\n})\nexport class AtomicResultText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look in the Result object first, and then in the Result.raw object for the fields.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * When this is set to `true`, the component attempts to highlight text based on the highlighting properties provided by the search API response.\n */\n @Prop({reflect: true}) public shouldHighlight = true;\n\n /**\n * The locale key for the text to display when the configured field has no value.\n */\n @Prop({reflect: true}) public default?: string;\n\n public render() {\n const resultValueAsString = getStringValueFromResultOrNull(\n this.result,\n this.field\n );\n\n if (resultValueAsString === null) {\n return (\n <ItemTextFallback\n field={this.field}\n host={this.host}\n logger={this.bindings.engine.logger}\n defaultValue={this.default}\n item={this.result}\n getProperty={ResultTemplatesHelpers.getResultProperty}\n >\n <atomic-text\n value={getFieldValueCaption(\n this.field,\n this.default!,\n this.bindings.i18n\n )}\n ></atomic-text>\n </ItemTextFallback>\n );\n }\n\n const textValue = `${resultValueAsString}`;\n const highlightKeywords = ResultTemplatesHelpers.getResultProperty(\n this.result,\n `${this.field}Highlights`\n ) as HighlightUtils.HighlightKeyword[];\n\n return this.shouldHighlight && highlightKeywords ? (\n <ItemTextHighlighted\n textValue={textValue}\n highlightKeywords={highlightKeywords}\n highlightString={HighlightUtils.highlightString}\n onError={(error) => (this.error = error)}\n ></ItemTextHighlighted>\n ) : (\n getFieldValueCaption(this.field, textValue, this.bindings.i18n)\n );\n }\n}\n","import {Component, Prop, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-text` component leverages the I18n translation module through the atomic-search-interface.\n */\n@Component({\n tag: 'atomic-text',\n shadow: true,\n})\nexport class AtomicText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n\n private strings = {\n value: () =>\n this.bindings.i18n.t(this.value, {\n count: this.count,\n }),\n };\n @State() public error!: Error;\n\n /**\n * The string key value.\n */\n @Prop({reflect: true}) public value!: string;\n /**\n * The count value used for plurals.\n */\n @Prop({reflect: true}) public count?: number;\n\n public connectedCallback() {\n if (!this.value) {\n this.error = new Error('The \"value\" attribute must be defined.');\n }\n }\n\n public render() {\n return this.strings.value();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-result-text.atomic-text.entry.cjs.js","mappings":";;;;;;;;;;;;;;;;;;SAEgB,0BAA0B,CACxC,KAAa,EACb,YAAqB,EACrB,IAAiB,EACjB,MAA8B;IAE9B,IAAIA,aAAO,CAAC,YAAY,CAAC,EAAE;QACzB,MAAM,CAAC,KAAK,CACV,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,2CAA2C,KAAK,kBAAkB,YAAY,IAAI,EAChH,IAAI,CACL,CAAC;KACH;AACH;;ACDO,MAAM,gBAAgB,GAAG,CAC9B,EAAC,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAmB,EACxE,QAAiB;IAEjB,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,0BAA0B,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAErD,IAAIC,iBAAW,CAAC,YAAY,CAAC,EAAE;QAC7B,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;KACb;SAAM;QACL,OAAOC,QAACC,cAAQ,QAAE,QAAQ,CAAY,CAAC;KACxC;AACH,CAAC;;SCde,oBAAoB,CAClC,KAAa,EACb,UAA+B,EAC/B,eAAgC;IAEhC,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC9C,MAAM,gBAAgB,GAAG,oBAAoB,CAAC;IAC9C,MAAM,gBAAgB,GAAG,eAAe,CAAC;QACvC,OAAO,EAAE,KAAK;QACd,gBAAgB;QAChB,gBAAgB;QAChB,UAAU;KACX,CAAC,CAAC;IACH,OAAO,gBAAgB;SACpB,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC;SACjD,OAAO,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;AACxD;;ACdO,MAAM,mBAAmB,GAE5B,CAAC,EAAC,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAC;IAC3D,IAAI;QACF,MAAM,gBAAgB,GAAG,oBAAoB,CAC3C,SAAS,EACT,iBAAiB,EACjB,eAAe,CAChB,CAAC;;QAGF,OAAOD,QAACE,UAAI,IAAC,SAAS,EAAE,gBAAgB,GAAS,CAAC;KACnD;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,CAAC,KAAc,CAAC,CAAC;KACzB;AACH,CAAC;;;;;;;;;;;;MCTY,gBAAgB;;;;;;QAiBG,oBAAe,GAAG,IAAI,CAAC;;;+BAAL,IAAI;;;IAO7C,MAAM;QACX,MAAM,mBAAmB,GAAGC,0CAA8B,CACxD,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,IAAI,mBAAmB,KAAK,IAAI,EAAE;YAChC,QACEH,QAAC,gBAAgB,IACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EACnC,YAAY,EAAE,IAAI,CAAC,OAAO,EAC1B,IAAI,EAAE,IAAI,CAAC,MAAM,EACjB,WAAW,EAAEI,+BAAsB,CAAC,iBAAiB,IAErDJ,yBACE,KAAK,EAAEK,+BAAoB,CACzB,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,OAAQ,EACb,IAAI,CAAC,QAAQ,CAAC,IAAI,CACnB,GACY,CACE,EACnB;SACH;QAED,MAAM,SAAS,GAAG,GAAG,mBAAmB,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAGD,+BAAsB,CAAC,iBAAiB,CAChE,IAAI,CAAC,MAAM,EACX,GAAG,IAAI,CAAC,KAAK,YAAY,CACW,CAAC;QAEvC,OAAO,IAAI,CAAC,eAAe,IAAI,iBAAiB,IAC9CJ,QAAC,mBAAmB,IAClB,SAAS,EAAE,SAAS,EACpB,iBAAiB,EAAE,iBAAiB,EACpC,eAAe,EAAEM,uBAAc,CAAC,eAAe,EAC/C,OAAO,EAAE,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,GACnB,KAEvBD,+BAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAChE,CAAC;KACH;;;AAlE4BE;IAA5BC,sCAAkB,EAAE;kDAA4B;AACxBD;IAAxBE,sCAAa,EAAE;gDAAyB;;;;;;;;;;;;MCR9B,UAAU;;;QAGb,YAAO,GAAG;YAChB,KAAK,EAAE,MACL,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC/B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;SACL,CAAC;;;;;IAYK,iBAAiB;QACtB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;SAClE;KACF;IAEM,MAAM;QACX,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;KAC7B;;AA3B4B;IAA5BD,sCAAkB,EAAE;4CAA4B;;;;;","names":["isArray","isUndefined","h","Fragment","Host","getStringValueFromResultOrNull","ResultTemplatesHelpers","getFieldValueCaption","HighlightUtils","__decorate","InitializeBindings","ResultContext"],"sources":["src/components/common/item-text/field-warning.ts","src/components/common/item-text/stencil-item-text-fallback.tsx","src/components/common/item-text/render-highlights.ts","src/components/common/item-text/stencil-item-text-highlighted.tsx","src/components/search/result-template-components/atomic-result-text/atomic-result-text.tsx","src/components/search/atomic-text/atomic-text.tsx"],"sourcesContent":["import {isArray} from '@coveo/bueno';\n\nexport function possiblyWarnOnBadFieldType(\n field: string,\n itemValueRaw: unknown,\n host: HTMLElement,\n logger: Pick<Console, 'error'>\n) {\n if (isArray(itemValueRaw)) {\n logger.error(\n `${host.nodeName.toLowerCase()} cannot be used with multi value field \"${field}\" with values \"${itemValueRaw}\".`,\n host\n );\n }\n}\n","import {isUndefined} from '@coveo/bueno';\nimport {Fragment, FunctionalComponent, VNode, h} from '@stencil/core';\nimport {possiblyWarnOnBadFieldType} from './field-warning';\n\nexport interface ItemTextProps<T> {\n logger: Pick<Console, 'error'>;\n host: HTMLElement;\n defaultValue: string | undefined;\n field: string;\n item: T;\n getProperty: (result: T, property: string) => unknown;\n}\n\nexport const ItemTextFallback = <T,>(\n {field, host, logger, defaultValue, item, getProperty}: ItemTextProps<T>,\n children: VNode[]\n): FunctionalComponent<ItemTextProps<T>> | null => {\n const raw = getProperty(item, field);\n possiblyWarnOnBadFieldType(field, raw, host, logger);\n\n if (isUndefined(defaultValue)) {\n host.remove();\n return null;\n } else {\n return <Fragment>{children}</Fragment>;\n }\n};\n","export type HighlightKeywords = {\n offset: number;\n length: number;\n};\n\nexport type HighlightString = (params: {\n content: string;\n openingDelimiter: string;\n closingDelimiter: string;\n highlights: HighlightKeywords[];\n}) => string;\n\nexport function renderWithHighlights(\n value: string,\n highlights: HighlightKeywords[],\n highlightString: HighlightString\n) {\n const openingDelimiter = '_openingDelimiter_';\n const closingDelimiter = '_closingDelimiter_';\n const highlightedValue = highlightString({\n content: value,\n openingDelimiter,\n closingDelimiter,\n highlights,\n });\n return highlightedValue\n .replace(new RegExp(openingDelimiter, 'g'), '<b>')\n .replace(new RegExp(closingDelimiter, 'g'), '</b>');\n}\n","import {FunctionalComponent, h, Host} from '@stencil/core';\nimport {\n HighlightKeywords,\n HighlightString,\n renderWithHighlights,\n} from './render-highlights';\n\nexport interface ItemTextHighlightedProps {\n textValue: string;\n highlightKeywords: HighlightKeywords[];\n onError: (error: Error) => void;\n highlightString: HighlightString;\n}\n\nexport const ItemTextHighlighted: FunctionalComponent<\n ItemTextHighlightedProps\n> = ({highlightKeywords, highlightString, onError, textValue}) => {\n try {\n const highlightedValue = renderWithHighlights(\n textValue,\n highlightKeywords,\n highlightString\n );\n\n // deepcode ignore ReactSetInnerHtml: This is not React code\n return <Host innerHTML={highlightedValue}></Host>;\n } catch (error) {\n onError(error as Error);\n }\n};\n","import {HighlightUtils, Result, ResultTemplatesHelpers} from '@coveo/headless';\nimport {Component, Prop, h, Element, State} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../../utils/field-utils';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../../utils/initialization-utils';\nimport {getStringValueFromResultOrNull} from '../../../../utils/result-utils';\nimport {ItemTextFallback} from '../../../common/item-text/stencil-item-text-fallback';\nimport {ItemTextHighlighted} from '../../../common/item-text/stencil-item-text-highlighted';\nimport {Bindings} from '../../atomic-search-interface/atomic-search-interface';\nimport {ResultContext} from '../result-template-decorators';\n\n/**\n * The `atomic-result-text` component renders the value of a string result field.\n */\n@Component({\n tag: 'atomic-result-text',\n shadow: false,\n})\nexport class AtomicResultText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n @ResultContext() private result!: Result;\n\n @Element() private host!: HTMLElement;\n\n @State() public error!: Error;\n\n /**\n * The result field which the component should use.\n * This will look in the Result object first, and then in the Result.raw object for the fields.\n * It is important to include the necessary field in the `atomic-search-interface` component.\n */\n @Prop({reflect: true}) public field!: string;\n /**\n * When this is set to `true`, the component attempts to highlight text based on the highlighting properties provided by the search API response.\n */\n @Prop({reflect: true}) public shouldHighlight = true;\n\n /**\n * The locale key for the text to display when the configured field has no value.\n */\n @Prop({reflect: true}) public default?: string;\n\n public render() {\n const resultValueAsString = getStringValueFromResultOrNull(\n this.result,\n this.field\n );\n\n if (resultValueAsString === null) {\n return (\n <ItemTextFallback\n field={this.field}\n host={this.host}\n logger={this.bindings.engine.logger}\n defaultValue={this.default}\n item={this.result}\n getProperty={ResultTemplatesHelpers.getResultProperty}\n >\n <atomic-text\n value={getFieldValueCaption(\n this.field,\n this.default!,\n this.bindings.i18n\n )}\n ></atomic-text>\n </ItemTextFallback>\n );\n }\n\n const textValue = `${resultValueAsString}`;\n const highlightKeywords = ResultTemplatesHelpers.getResultProperty(\n this.result,\n `${this.field}Highlights`\n ) as HighlightUtils.HighlightKeyword[];\n\n return this.shouldHighlight && highlightKeywords ? (\n <ItemTextHighlighted\n textValue={textValue}\n highlightKeywords={highlightKeywords}\n highlightString={HighlightUtils.highlightString}\n onError={(error) => (this.error = error)}\n ></ItemTextHighlighted>\n ) : (\n getFieldValueCaption(this.field, textValue, this.bindings.i18n)\n );\n }\n}\n","import {Component, Prop, State} from '@stencil/core';\nimport {\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-text` component leverages the I18n translation module through the atomic-search-interface.\n */\n@Component({\n tag: 'atomic-text',\n shadow: true,\n})\nexport class AtomicText implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n\n private strings = {\n value: () =>\n this.bindings.i18n.t(this.value, {\n count: this.count,\n }),\n };\n @State() public error!: Error;\n\n /**\n * The string key value.\n */\n @Prop({reflect: true}) public value!: string;\n /**\n * The count value used for plurals.\n */\n @Prop({reflect: true}) public count?: number;\n\n public connectedCallback() {\n if (!this.value) {\n this.error = new Error('The \"value\" attribute must be defined.');\n }\n }\n\n public render() {\n return this.strings.value();\n }\n}\n"],"version":3}
@@ -7,7 +7,7 @@ const headless = require('@coveo/headless');
7
7
  const initializationUtils = require('./initialization-utils-62dc9852.js');
8
8
  const utils = require('./utils-b6642872.js');
9
9
  const store = require('./store-116fd400.js');
10
- const validate = require('./validate-232b3138.js');
10
+ const stencilRadioButton = require('./stencil-radio-button-0d881f57.js');
11
11
  const stencilPagerGuard = require('./stencil-pager-guard-16f46f73.js');
12
12
  const stencilFieldsetGroup = require('./stencil-fieldset-group-3b25c138.js');
13
13
  require('./dom-utils-d4790328.js');
@@ -16,10 +16,74 @@ require('./init-queue-a18aa323.js');
16
16
  require('./initialization-lit-stencil-common-utils-24279cfa.js');
17
17
  require('./purify-85b542e2.js');
18
18
  require('./_commonjsHelpers-b3309d7b.js');
19
- require('./stencil-radio-button-0d881f57.js');
20
19
  require('./ripple-fb3f3438.js');
21
20
  require('./stencil-button-style-ba779fe2.js');
22
21
 
22
+ class ChoiceIsNaNError extends Error {
23
+ constructor(choice) {
24
+ super(`The choice value "${choice}" from the "choicesDisplayed" option is not a number.`);
25
+ this.name = 'ChoiceIsNaNError';
26
+ }
27
+ }
28
+ class InitialChoiceNotInChoicesError extends Error {
29
+ constructor(initialChoice, choices) {
30
+ super(`The initial choice value "${initialChoice}" is not included in the choices ${choices}.`);
31
+ this.name = 'InitialChoiceNotInChoicesError';
32
+ }
33
+ }
34
+ class ChoiceIsNonPositiveError extends Error {
35
+ constructor(choice) {
36
+ super(`The choice value "${choice}" from the "choicesDisplayed" option is not positive (<= 0).`);
37
+ this.name = 'ChoiceIsNonPositiveError';
38
+ }
39
+ }
40
+
41
+ const Choices = ({ label, groupName, pageSize, choices, lang, scrollToTopEvent, setItemSize, focusOnFirstResultAfterNextSearch, focusOnNextNewResult, }) => {
42
+ const focusOnProperResultDependingOnChoice = (choice) => {
43
+ if (choice < pageSize) {
44
+ focusOnFirstResultAfterNextSearch()?.then(() => scrollToTopEvent());
45
+ }
46
+ else if (choice > pageSize) {
47
+ focusOnNextNewResult();
48
+ }
49
+ };
50
+ return (index.h("div", { part: "buttons", role: "radiogroup", "aria-label": label, class: "flex flex-wrap gap-2" }, choices.map((choice) => {
51
+ const isSelected = pageSize === choice;
52
+ const parts = ['button'];
53
+ if (isSelected) {
54
+ parts.push('active-button');
55
+ }
56
+ const text = choice.toLocaleString(lang);
57
+ return (index.h(stencilRadioButton.RadioButton, { key: 'choice', groupName: groupName, style: "outline-neutral", checked: isSelected, ariaLabel: text, onChecked: () => {
58
+ focusOnProperResultDependingOnChoice(choice);
59
+ setItemSize(choice);
60
+ }, class: "btn-page focus-visible:bg-neutral-light", part: parts.join(' '), text: text, selectWhenFocused: false }));
61
+ })));
62
+ };
63
+
64
+ const Label = (_, children) => {
65
+ return (index.h("span", { part: "label", class: "text-on-background mr-3 self-start text-lg leading-10", "aria-hidden": "true" }, children));
66
+ };
67
+
68
+ function convertChoicesToNumbers(choices) {
69
+ return choices.split(',').map((choice) => {
70
+ const parsedChoice = parseInt(choice);
71
+ if (isNaN(parsedChoice)) {
72
+ throw new ChoiceIsNaNError(choice);
73
+ }
74
+ if (parsedChoice <= 0) {
75
+ throw new ChoiceIsNonPositiveError(parsedChoice);
76
+ }
77
+ return parsedChoice;
78
+ });
79
+ }
80
+ function validateInitialChoice(initialChoice, choices) {
81
+ if (!choices.includes(initialChoice)) {
82
+ throw new InitialChoiceNotInChoicesError(initialChoice, choices);
83
+ }
84
+ return initialChoice;
85
+ }
86
+
23
87
  const atomicResultsPerPageCss = "/*! 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}\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";
24
88
  const AtomicResultsPerPageStyle0 = atomicResultsPerPageCss;
25
89
 
@@ -52,13 +116,13 @@ const AtomicResultsPerPage = class {
52
116
  }
53
117
  initialize() {
54
118
  try {
55
- this.choices = validate.convertChoicesToNumbers(this.choicesDisplayed);
119
+ this.choices = convertChoicesToNumbers(this.choicesDisplayed);
56
120
  this.initialChoice = this.initialChoice ?? this.choices[0];
57
- validate.validateInitialChoice(this.initialChoice, this.choices);
121
+ validateInitialChoice(this.initialChoice, this.choices);
58
122
  }
59
123
  catch (error) {
60
- if (error instanceof validate.ChoiceIsNaNError ||
61
- error instanceof validate.InitialChoiceNotInChoicesError) {
124
+ if (error instanceof ChoiceIsNaNError ||
125
+ error instanceof InitialChoiceNotInChoicesError) {
62
126
  this.bindings.engine.logger.error(error.message, this);
63
127
  throw error;
64
128
  }
@@ -75,7 +139,7 @@ const AtomicResultsPerPage = class {
75
139
  return this.bindings.i18n.t('results-per-page');
76
140
  }
77
141
  render() {
78
- return (index.h(stencilPagerGuard.PagerGuard, { key: 'fd1c078d3e1eb3d7fe7dcc2290401e788c36d7a2', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, index.h("div", { key: '87f823a3926f2ed37be72be711142cd56f713608', class: "flex items-center", role: "toolbar", "aria-label": this.label }, index.h(validate.Label, { key: '8f810c66eeea8fa8c38f72490fad5a2ab541c103' }, this.label), index.h(stencilFieldsetGroup.FieldsetGroup, { key: '70dc540eade8654ca80ef6234cb3dd89df39f280', label: this.label }, index.h(validate.Choices, { key: 'fe786cb6a66f1bece5779a5ca5dc5f117d030b9a', label: this.label, groupName: this.radioGroupName, pageSize: this.resultPerPageState.numberOfResults, choices: this.choices, lang: this.bindings.i18n.language, scrollToTopEvent: this.scrollToTopEvent.emit, setItemSize: this.resultPerPage.set, focusOnFirstResultAfterNextSearch: () => this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch(), focusOnNextNewResult: () => this.bindings.store.state.resultList?.focusOnNextNewResult() })))));
142
+ return (index.h(stencilPagerGuard.PagerGuard, { key: 'b0fe31054e793cf60358ec7b1edbcea450175443', hasError: this.searchStatusState.hasError, hasItems: this.searchStatusState.hasResults, isAppLoaded: this.isAppLoaded }, index.h("div", { key: '165171b0faa9d0fb0377035828682cd99b862766', class: "flex items-center", role: "toolbar", "aria-label": this.label }, index.h(Label, { key: 'c210230840e71fd5b58264f3e062901e531dd2e2' }, this.label), index.h(stencilFieldsetGroup.FieldsetGroup, { key: 'e36ca5f11d489f371d1917b04bb502bef29ca7fc', label: this.label }, index.h(Choices, { key: '2c3c5a568de2c50b1eb361c68f4acf7311969887', label: this.label, groupName: this.radioGroupName, pageSize: this.resultPerPageState.numberOfResults, choices: this.choices, lang: this.bindings.i18n.language, scrollToTopEvent: this.scrollToTopEvent.emit, setItemSize: this.resultPerPage.set, focusOnFirstResultAfterNextSearch: () => this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch(), focusOnNextNewResult: () => this.bindings.store.state.resultList?.focusOnNextNewResult() })))));
79
143
  }
80
144
  };
81
145
  __decorate([
@@ -1 +1 @@
1
- {"file":"atomic-results-per-page.entry.cjs.js","mappings":"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","names":["randomID","convertChoicesToNumbers","validateInitialChoice","ChoiceIsNaNError","InitialChoiceNotInChoicesError","buildSearchStatus","buildResultsPerPage","createAppLoadedListener","h","PagerGuard","Label","FieldsetGroup","Choices","InitializeBindings","BindStateToController"],"sources":["src/components/search/atomic-results-per-page/atomic-results-per-page.pcss?tag=atomic-results-per-page&encapsulation=shadow","src/components/search/atomic-results-per-page/atomic-results-per-page.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n","import {\n ResultsPerPage,\n buildResultsPerPage,\n ResultsPerPageState,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n} from '@coveo/headless';\nimport {Component, Event, EventEmitter, h, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {randomID} from '../../../utils/utils';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {\n ChoiceIsNaNError,\n InitialChoiceNotInChoicesError,\n} from '../../common/items-per-page/error';\nimport {Choices} from '../../common/items-per-page/stencil-choices';\nimport {Label} from '../../common/items-per-page/stencil-label';\nimport {\n convertChoicesToNumbers,\n validateInitialChoice,\n} from '../../common/items-per-page/validate';\nimport {PagerGuard} from '../../common/pager/stencil-pager-guard';\nimport {FieldsetGroup} from '../../common/stencil-fieldset-group';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-results-per-page` component determines how many results to display per page.\n *\n * @part label - The \"Results per page\" label.\n * @part buttons - The list of buttons.\n * @part button - The result per page button.\n * @part active-button - The active result per page button.\n */\n@Component({\n tag: 'atomic-results-per-page',\n styleUrl: 'atomic-results-per-page.pcss',\n shadow: true,\n})\nexport class AtomicResultsPerPage implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private resultPerPage!: ResultsPerPage;\n public searchStatus!: SearchStatus;\n private choices!: number[];\n private readonly radioGroupName = randomID('atomic-results-per-page-');\n\n @State()\n @BindStateToController('resultPerPage')\n public resultPerPageState!: ResultsPerPageState;\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n /**\n * A list of choices for the number of results to display per page, separated by commas.\n */\n @Prop({reflect: true}) choicesDisplayed = '10,25,50,100';\n /**\n * The initial selection for the number of result per page. This should be part of the `choicesDisplayed` option. By default, this is set to the first value in `choicesDisplayed`.\n * @type {number}\n */\n @Prop({mutable: true, reflect: true}) initialChoice?: number;\n\n @Event({\n eventName: 'atomic/scrollToTop',\n })\n private scrollToTopEvent!: EventEmitter;\n\n public initialize() {\n try {\n this.choices = convertChoicesToNumbers(this.choicesDisplayed);\n this.initialChoice = this.initialChoice ?? this.choices[0];\n validateInitialChoice(this.initialChoice, this.choices);\n } catch (error) {\n if (\n error instanceof ChoiceIsNaNError ||\n error instanceof InitialChoiceNotInChoicesError\n ) {\n this.bindings.engine.logger.error(error.message, this);\n throw error;\n }\n }\n\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.resultPerPage = buildResultsPerPage(this.bindings.engine, {\n initialState: {numberOfResults: this.initialChoice},\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private get label() {\n return this.bindings.i18n.t('results-per-page');\n }\n\n public render() {\n return (\n <PagerGuard\n hasError={this.searchStatusState.hasError}\n hasItems={this.searchStatusState.hasResults}\n isAppLoaded={this.isAppLoaded}\n >\n <div class=\"flex items-center\" role=\"toolbar\" aria-label={this.label}>\n <Label>{this.label}</Label>\n <FieldsetGroup label={this.label}>\n <Choices\n label={this.label}\n groupName={this.radioGroupName}\n pageSize={this.resultPerPageState.numberOfResults}\n choices={this.choices}\n lang={this.bindings.i18n.language}\n scrollToTopEvent={this.scrollToTopEvent.emit}\n setItemSize={this.resultPerPage.set}\n focusOnFirstResultAfterNextSearch={() =>\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch()\n }\n focusOnNextNewResult={() =>\n this.bindings.store.state.resultList?.focusOnNextNewResult()\n }\n ></Choices>\n </FieldsetGroup>\n </div>\n </PagerGuard>\n );\n }\n}\n"],"version":3}
1
+ {"file":"atomic-results-per-page.entry.cjs.js","mappings":"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","names":["h","RadioButton","randomID","buildSearchStatus","buildResultsPerPage","createAppLoadedListener","PagerGuard","FieldsetGroup","InitializeBindings","BindStateToController"],"sources":["src/components/common/items-per-page/error.ts","src/components/common/items-per-page/stencil-choices.tsx","src/components/common/items-per-page/stencil-label.tsx","src/components/common/items-per-page/validate.ts","src/components/search/atomic-results-per-page/atomic-results-per-page.pcss?tag=atomic-results-per-page&encapsulation=shadow","src/components/search/atomic-results-per-page/atomic-results-per-page.tsx"],"sourcesContent":["export class ChoiceIsNaNError extends Error {\n constructor(choice: string) {\n super(\n `The choice value \"${choice}\" from the \"choicesDisplayed\" option is not a number.`\n );\n this.name = 'ChoiceIsNaNError';\n }\n}\n\nexport class InitialChoiceNotInChoicesError extends Error {\n constructor(initialChoice: number, choices: number[]) {\n super(\n `The initial choice value \"${initialChoice}\" is not included in the choices ${choices}.`\n );\n this.name = 'InitialChoiceNotInChoicesError';\n }\n}\n\nexport class ChoiceIsNonPositiveError extends Error {\n constructor(choice: number) {\n super(\n `The choice value \"${choice}\" from the \"choicesDisplayed\" option is not positive (<= 0).`\n );\n this.name = 'ChoiceIsNonPositiveError';\n }\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {RadioButton} from '../stencil-radio-button';\n\ninterface ChoicesProps {\n label: string;\n groupName: string;\n pageSize: number;\n choices: number[];\n lang: string;\n scrollToTopEvent: () => {};\n setItemSize: (size: number) => void;\n focusOnFirstResultAfterNextSearch: () => Promise<void> | undefined;\n focusOnNextNewResult: () => void | undefined;\n}\n\nexport const Choices: FunctionalComponent<ChoicesProps> = ({\n label,\n groupName,\n pageSize,\n choices,\n lang,\n scrollToTopEvent,\n setItemSize,\n focusOnFirstResultAfterNextSearch,\n focusOnNextNewResult,\n}) => {\n const focusOnProperResultDependingOnChoice = (choice: number) => {\n if (choice < pageSize) {\n focusOnFirstResultAfterNextSearch()?.then(() => scrollToTopEvent());\n } else if (choice > pageSize) {\n focusOnNextNewResult();\n }\n };\n\n return (\n <div\n part=\"buttons\"\n role=\"radiogroup\"\n aria-label={label}\n class=\"flex flex-wrap gap-2\"\n >\n {choices.map((choice) => {\n const isSelected = pageSize === choice;\n const parts = ['button'];\n if (isSelected) {\n parts.push('active-button');\n }\n const text = choice.toLocaleString(lang);\n return (\n <RadioButton\n key={'choice'}\n groupName={groupName}\n style=\"outline-neutral\"\n checked={isSelected}\n ariaLabel={text}\n onChecked={() => {\n focusOnProperResultDependingOnChoice(choice);\n setItemSize(choice);\n }}\n class=\"btn-page focus-visible:bg-neutral-light\"\n part={parts.join(' ')}\n text={text}\n selectWhenFocused={false}\n ></RadioButton>\n );\n })}\n </div>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\n\nexport const Label: FunctionalComponent = (_, children) => {\n return (\n <span\n part=\"label\"\n class=\"text-on-background mr-3 self-start text-lg leading-10\"\n aria-hidden=\"true\"\n >\n {children}\n </span>\n );\n};\n","import {\n ChoiceIsNaNError,\n ChoiceIsNonPositiveError,\n InitialChoiceNotInChoicesError,\n} from './error';\n\nexport function convertChoicesToNumbers(choices: string) {\n return choices.split(',').map((choice) => {\n const parsedChoice = parseInt(choice);\n if (isNaN(parsedChoice)) {\n throw new ChoiceIsNaNError(choice);\n }\n if (parsedChoice <= 0) {\n throw new ChoiceIsNonPositiveError(parsedChoice);\n }\n\n return parsedChoice;\n });\n}\n\nexport function validateInitialChoice(\n initialChoice: number,\n choices: number[]\n): number {\n if (!choices.includes(initialChoice)) {\n throw new InitialChoiceNotInChoicesError(initialChoice, choices);\n }\n\n return initialChoice;\n}\n","@import '../../../global/global.pcss';\n","import {\n ResultsPerPage,\n buildResultsPerPage,\n ResultsPerPageState,\n buildSearchStatus,\n SearchStatus,\n SearchStatusState,\n} from '@coveo/headless';\nimport {Component, Event, EventEmitter, h, Prop, State} from '@stencil/core';\nimport {\n BindStateToController,\n InitializableComponent,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {randomID} from '../../../utils/utils';\nimport {createAppLoadedListener} from '../../common/interface/store';\nimport {\n ChoiceIsNaNError,\n InitialChoiceNotInChoicesError,\n} from '../../common/items-per-page/error';\nimport {Choices} from '../../common/items-per-page/stencil-choices';\nimport {Label} from '../../common/items-per-page/stencil-label';\nimport {\n convertChoicesToNumbers,\n validateInitialChoice,\n} from '../../common/items-per-page/validate';\nimport {PagerGuard} from '../../common/pager/stencil-pager-guard';\nimport {FieldsetGroup} from '../../common/stencil-fieldset-group';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-results-per-page` component determines how many results to display per page.\n *\n * @part label - The \"Results per page\" label.\n * @part buttons - The list of buttons.\n * @part button - The result per page button.\n * @part active-button - The active result per page button.\n */\n@Component({\n tag: 'atomic-results-per-page',\n styleUrl: 'atomic-results-per-page.pcss',\n shadow: true,\n})\nexport class AtomicResultsPerPage implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private resultPerPage!: ResultsPerPage;\n public searchStatus!: SearchStatus;\n private choices!: number[];\n private readonly radioGroupName = randomID('atomic-results-per-page-');\n\n @State()\n @BindStateToController('resultPerPage')\n public resultPerPageState!: ResultsPerPageState;\n @BindStateToController('searchStatus')\n @State()\n private searchStatusState!: SearchStatusState;\n @State() public error!: Error;\n @State() private isAppLoaded = false;\n\n /**\n * A list of choices for the number of results to display per page, separated by commas.\n */\n @Prop({reflect: true}) choicesDisplayed = '10,25,50,100';\n /**\n * The initial selection for the number of result per page. This should be part of the `choicesDisplayed` option. By default, this is set to the first value in `choicesDisplayed`.\n * @type {number}\n */\n @Prop({mutable: true, reflect: true}) initialChoice?: number;\n\n @Event({\n eventName: 'atomic/scrollToTop',\n })\n private scrollToTopEvent!: EventEmitter;\n\n public initialize() {\n try {\n this.choices = convertChoicesToNumbers(this.choicesDisplayed);\n this.initialChoice = this.initialChoice ?? this.choices[0];\n validateInitialChoice(this.initialChoice, this.choices);\n } catch (error) {\n if (\n error instanceof ChoiceIsNaNError ||\n error instanceof InitialChoiceNotInChoicesError\n ) {\n this.bindings.engine.logger.error(error.message, this);\n throw error;\n }\n }\n\n this.searchStatus = buildSearchStatus(this.bindings.engine);\n this.resultPerPage = buildResultsPerPage(this.bindings.engine, {\n initialState: {numberOfResults: this.initialChoice},\n });\n createAppLoadedListener(this.bindings.store, (isAppLoaded) => {\n this.isAppLoaded = isAppLoaded;\n });\n }\n\n private get label() {\n return this.bindings.i18n.t('results-per-page');\n }\n\n public render() {\n return (\n <PagerGuard\n hasError={this.searchStatusState.hasError}\n hasItems={this.searchStatusState.hasResults}\n isAppLoaded={this.isAppLoaded}\n >\n <div class=\"flex items-center\" role=\"toolbar\" aria-label={this.label}>\n <Label>{this.label}</Label>\n <FieldsetGroup label={this.label}>\n <Choices\n label={this.label}\n groupName={this.radioGroupName}\n pageSize={this.resultPerPageState.numberOfResults}\n choices={this.choices}\n lang={this.bindings.i18n.language}\n scrollToTopEvent={this.scrollToTopEvent.emit}\n setItemSize={this.resultPerPage.set}\n focusOnFirstResultAfterNextSearch={() =>\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch()\n }\n focusOnNextNewResult={() =>\n this.bindings.store.state.resultList?.focusOnNextNewResult()\n }\n ></Choices>\n </FieldsetGroup>\n </div>\n </PagerGuard>\n );\n }\n}\n"],"version":3}
@@ -70,7 +70,7 @@ const AtomicSearchBoxQuerySuggestions = class {
70
70
  }
71
71
  render() {
72
72
  if (this.error) {
73
- return (index.h("atomic-component-error", { key: 'ab1abe9b4950d827bb60c6609d41484a23e4197c', element: this.host, error: this.error }));
73
+ return (index.h("atomic-component-error", { key: '8bf7ca4f0c8c9a4bda7a0af471b2ee3881e65e7b', element: this.host, error: this.error }));
74
74
  }
75
75
  }
76
76
  get host() { return index.getElement(this); }
@@ -222,7 +222,7 @@ const AtomicSearchBoxRecentQueries = class {
222
222
  }
223
223
  render() {
224
224
  if (this.error) {
225
- return (index.h("atomic-component-error", { key: '1205a8fccc5967fa2139cf14a043f77a15cca140', element: this.host, error: this.error }));
225
+ return (index.h("atomic-component-error", { key: '35b831a2e561510f9fe3d15cf956e46d35fb965e', element: this.host, error: this.error }));
226
226
  }
227
227
  }
228
228
  get host() { return index.getElement(this); }