@coveo/atomic 3.27.4-pre.da155af9e1 → 3.27.4-pre.e4bf3d33c6

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 (438) 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 +2 -0
  4. package/dist/atomic/components/_index.js +1 -0
  5. package/dist/atomic/components/atomic-breadbox.js +2 -91
  6. package/dist/atomic/components/atomic-breadbox.js.map +1 -1
  7. package/dist/atomic/components/atomic-commerce-breadbox.d.ts +11 -0
  8. package/dist/atomic/components/atomic-commerce-breadbox.js +295 -0
  9. package/dist/atomic/components/atomic-commerce-breadbox.js.map +1 -0
  10. package/dist/atomic/components/atomic-commerce-load-more-products.js +2 -5
  11. package/dist/atomic/components/atomic-commerce-load-more-products.js.map +1 -1
  12. package/dist/atomic/components/atomic-commerce-numeric-facet2.js +1 -1
  13. package/dist/atomic/components/atomic-commerce-query-error.js +2 -2
  14. package/dist/atomic/components/atomic-commerce-query-error.js.map +1 -1
  15. package/dist/atomic/components/atomic-commerce-recommendation-interface.js +2 -1
  16. package/dist/atomic/components/atomic-commerce-recommendation-interface.js.map +1 -1
  17. package/dist/atomic/components/atomic-commerce-refine-toggle.js +2 -2
  18. package/dist/atomic/components/atomic-commerce-refine-toggle.js.map +1 -1
  19. package/dist/atomic/components/atomic-format-currency.js +1 -1
  20. package/dist/atomic/components/atomic-format-number.js +1 -1
  21. package/dist/atomic/components/atomic-format-unit.js +1 -1
  22. package/dist/atomic/components/atomic-insight-numeric-facet.js +3 -2
  23. package/dist/atomic/components/atomic-insight-numeric-facet.js.map +1 -1
  24. package/dist/atomic/components/atomic-insight-query-error.js +2 -2
  25. package/dist/atomic/components/atomic-insight-query-error.js.map +1 -1
  26. package/dist/atomic/components/atomic-load-more-results.js +2 -5
  27. package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
  28. package/dist/atomic/components/atomic-numeric-facet.js +3 -2
  29. package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
  30. package/dist/atomic/components/atomic-product-numeric-field-value.js +1 -1
  31. package/dist/atomic/components/atomic-query-error.js +2 -2
  32. package/dist/atomic/components/atomic-query-error.js.map +1 -1
  33. package/dist/atomic/components/atomic-recs-error.js +2 -2
  34. package/dist/atomic/components/atomic-recs-error.js.map +1 -1
  35. package/dist/atomic/components/atomic-refine-toggle.js +2 -2
  36. package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
  37. package/dist/atomic/components/atomic-result-number.js +1 -1
  38. package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +11 -0
  39. package/dist/atomic/components/components/commerce/index.js +0 -1
  40. package/dist/atomic/components/components/commerce/lazy-index.js +0 -1
  41. package/dist/atomic/components/components/common/item-list/item-list-common.js +0 -3
  42. package/dist/atomic/components/decorators/light-dom.js +0 -16
  43. package/dist/atomic/components/format-common.js +1 -1
  44. package/dist/atomic/components/{components/common/facets/numeric-facet/formatter.js → formatter.js} +8 -3
  45. package/dist/atomic/components/formatter.js.map +1 -0
  46. package/dist/atomic/components/global/environment.js +1 -1
  47. package/dist/atomic/components/index.js.map +1 -1
  48. package/dist/atomic/components/interface-common-stencil.js +1 -1
  49. package/dist/atomic/components/stencil-accessibility-utils.js +4 -14
  50. package/dist/atomic/components/stencil-accessibility-utils.js.map +1 -1
  51. package/dist/atomic/components/stencil-breadcrumb-show-more.js +95 -0
  52. package/dist/atomic/components/stencil-breadcrumb-show-more.js.map +1 -0
  53. package/dist/atomic/components/{stencil-guard.js → stencil-button2.js} +5 -5
  54. package/dist/atomic/components/stencil-button2.js.map +1 -0
  55. package/dist/atomic/components/stencil-item-list-common.js +0 -3
  56. package/dist/atomic/components/stencil-item-list-common.js.map +1 -1
  57. package/dist/atomic/components/{stencil-link.js → title.js} +56 -56
  58. package/dist/atomic/components/title.js.map +1 -0
  59. package/dist/atomic/components/utils/accessibility-utils.js +4 -14
  60. package/dist/atomic/components/values-container.js +2 -26
  61. package/dist/atomic/components/values-container.js.map +1 -1
  62. package/dist/atomic/{p-af8999b1.entry.js → p-02996f86.entry.js} +2 -2
  63. package/dist/atomic/{p-a15f6b8c.entry.js → p-02b28870.entry.js} +2 -2
  64. package/dist/atomic/{p-59017e0a.entry.js → p-02ff6630.entry.js} +2 -2
  65. package/dist/atomic/{p-e961a0cc.entry.js → p-040d11cd.entry.js} +2 -2
  66. package/dist/atomic/{p-bc77fab7.entry.js → p-0bfe403b.entry.js} +2 -2
  67. package/dist/atomic/{p-b2d57b15.entry.js → p-0cc48eee.entry.js} +2 -2
  68. package/dist/atomic/p-0cc48eee.entry.js.map +1 -0
  69. package/dist/atomic/{p-ec03a238.entry.js → p-0f925e7b.entry.js} +2 -2
  70. package/dist/atomic/{p-51810027.entry.js → p-14a2646c.entry.js} +2 -2
  71. package/dist/atomic/p-14a2646c.entry.js.map +1 -0
  72. package/dist/atomic/{p-c74c1b41.entry.js → p-1566803a.entry.js} +2 -2
  73. package/dist/atomic/p-1566803a.entry.js.map +1 -0
  74. package/dist/atomic/{p-6d264c97.entry.js → p-1b75ca01.entry.js} +2 -2
  75. package/dist/atomic/{p-6c5524dc.entry.js → p-1dd886f0.entry.js} +2 -2
  76. package/dist/atomic/p-248089a0.js +2 -0
  77. package/dist/atomic/p-248089a0.js.map +1 -0
  78. package/dist/atomic/{p-ceadf1e3.entry.js → p-25dcb619.entry.js} +2 -2
  79. package/dist/atomic/{p-310c93bc.entry.js → p-2fb8ceed.entry.js} +2 -2
  80. package/dist/atomic/p-35d06c55.entry.js +2 -0
  81. package/dist/atomic/{p-f96655f4.entry.js.map → p-35d06c55.entry.js.map} +1 -1
  82. package/dist/atomic/{p-4e57cee1.entry.js → p-3a2d55e0.entry.js} +2 -2
  83. package/dist/atomic/p-428f3e7d.js +2 -0
  84. package/dist/atomic/{p-ccff6c87.entry.js → p-4294c5fe.entry.js} +2 -2
  85. package/dist/atomic/{p-d5c308fc.entry.js → p-4c0c78f8.entry.js} +2 -2
  86. package/dist/atomic/{p-963a3e18.entry.js → p-4d2fc026.entry.js} +2 -2
  87. package/dist/atomic/{p-bad08ec3.entry.js → p-5b9957c5.entry.js} +2 -2
  88. package/dist/atomic/{p-d72e52b2.entry.js → p-5d7c5154.entry.js} +2 -2
  89. package/dist/atomic/p-6058008a.js +2 -0
  90. package/dist/atomic/p-6058008a.js.map +1 -0
  91. package/dist/atomic/{p-b0be7782.entry.js → p-6a66eae4.entry.js} +2 -2
  92. package/dist/atomic/{p-07cd7e4a.entry.js → p-6b1ae398.entry.js} +2 -2
  93. package/dist/atomic/{p-39447826.entry.js → p-6ef0e47a.entry.js} +2 -2
  94. package/dist/atomic/p-725183ba.js +2 -0
  95. package/dist/atomic/p-725183ba.js.map +1 -0
  96. package/dist/atomic/{p-9a161d8f.entry.js → p-73d43334.entry.js} +2 -2
  97. package/dist/atomic/{p-c2f0ca36.js → p-7b4f6ed6.js} +2 -2
  98. package/dist/atomic/p-7f0593a5.js +2 -0
  99. package/dist/atomic/p-7f0593a5.js.map +1 -0
  100. package/dist/atomic/{p-da578608.entry.js → p-80ae9ccd.entry.js} +2 -2
  101. package/dist/atomic/{p-75d11764.entry.js → p-815a7f06.entry.js} +2 -2
  102. package/dist/atomic/p-815a7f06.entry.js.map +1 -0
  103. package/dist/atomic/{p-81874146.entry.js → p-83b3960c.entry.js} +2 -2
  104. package/dist/atomic/{p-c7971a2e.entry.js → p-867e6957.entry.js} +2 -2
  105. package/dist/atomic/p-867e6957.entry.js.map +1 -0
  106. package/dist/atomic/{p-4af746a9.entry.js → p-8846dc8f.entry.js} +2 -2
  107. package/dist/atomic/{p-c12abafc.entry.js → p-8c23589b.entry.js} +2 -2
  108. package/dist/atomic/p-8c23589b.entry.js.map +1 -0
  109. package/dist/atomic/{p-7dd55462.entry.js → p-8f2b0293.entry.js} +2 -2
  110. package/dist/atomic/{p-35400329.entry.js → p-95413559.entry.js} +2 -2
  111. package/dist/atomic/p-985d0ef5.js +2 -0
  112. package/dist/atomic/p-985d0ef5.js.map +1 -0
  113. package/dist/atomic/{p-c265c67d.entry.js → p-a34bdd94.entry.js} +2 -2
  114. package/dist/atomic/p-a34bdd94.entry.js.map +1 -0
  115. package/dist/atomic/p-a54ccae7.entry.js +2 -0
  116. package/dist/atomic/p-a54ccae7.entry.js.map +1 -0
  117. package/dist/atomic/p-ae07068c.js +2 -0
  118. package/dist/atomic/p-ae07068c.js.map +1 -0
  119. package/dist/atomic/{p-1243448d.entry.js → p-b5995e6b.entry.js} +2 -2
  120. package/dist/atomic/p-b5b86e05.entry.js +2 -0
  121. package/dist/atomic/{p-bd109981.entry.js.map → p-b5b86e05.entry.js.map} +1 -1
  122. package/dist/atomic/p-b5d5c5cf.js +2 -0
  123. package/dist/atomic/p-b5d5c5cf.js.map +1 -0
  124. package/dist/atomic/{p-231c8300.entry.js → p-c0e280d2.entry.js} +2 -2
  125. package/dist/atomic/{p-bb5c19a7.entry.js → p-c8e6b14a.entry.js} +2 -2
  126. package/dist/atomic/{p-e36f1951.entry.js → p-cb3cbcc4.entry.js} +2 -2
  127. package/dist/atomic/{p-cf12adcd.entry.js → p-cbb3cf8d.entry.js} +2 -2
  128. package/dist/atomic/p-d15a44cc.entry.js +2 -0
  129. package/dist/atomic/p-d15a44cc.entry.js.map +1 -0
  130. package/dist/atomic/{p-905c59a8.entry.js → p-d1e0ba89.entry.js} +2 -2
  131. package/dist/atomic/p-d1e0ba89.entry.js.map +1 -0
  132. package/dist/atomic/{p-5cf5bb98.entry.js → p-d2da75a3.entry.js} +2 -2
  133. package/dist/atomic/p-d509f930.entry.js +2 -0
  134. package/dist/atomic/{p-891f0c50.entry.js.map → p-d509f930.entry.js.map} +1 -1
  135. package/dist/atomic/{p-bd0aa08f.entry.js → p-d5d1af9b.entry.js} +2 -2
  136. package/dist/atomic/{p-22fb593a.entry.js → p-d69d6868.entry.js} +2 -2
  137. package/dist/atomic/{p-88bbf499.entry.js → p-d6b5512a.entry.js} +2 -2
  138. package/dist/atomic/{p-6d083c4e.entry.js → p-d7727baa.entry.js} +2 -2
  139. package/dist/atomic/{p-a535a268.entry.js → p-d9e69834.entry.js} +2 -2
  140. package/dist/atomic/{p-5158370c.entry.js → p-dc2b29f1.entry.js} +2 -2
  141. package/dist/atomic/{p-5158370c.entry.js.map → p-dc2b29f1.entry.js.map} +1 -1
  142. package/dist/atomic/{p-7d1ca26f.entry.js → p-e68c18db.entry.js} +2 -2
  143. package/dist/atomic/{p-57f53200.entry.js → p-e6b33bc5.entry.js} +2 -2
  144. package/dist/atomic/{p-1c06ca0c.entry.js → p-e7a06049.entry.js} +2 -2
  145. package/dist/atomic/{p-25a96534.js → p-f3c1c9a0.js} +2 -2
  146. package/dist/atomic/{p-79e1bcc1.entry.js → p-f9e2e064.entry.js} +2 -2
  147. package/dist/atomic/{p-3e5a304a.entry.js → p-fe10e968.entry.js} +2 -2
  148. package/dist/cjs/_loader.cjs.js +1 -1
  149. package/dist/cjs/{analytics-config-e809a27c.js → analytics-config-2cd2f5cd.js} +2 -2
  150. package/dist/cjs/{analytics-config-e809a27c.js.map → analytics-config-2cd2f5cd.js.map} +1 -1
  151. package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +1 -1
  152. package/dist/cjs/atomic-breadbox.cjs.entry.js +9 -96
  153. package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
  154. package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
  155. package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
  156. package/dist/cjs/atomic-commerce-breadbox.cjs.entry.js +288 -0
  157. package/dist/cjs/atomic-commerce-breadbox.cjs.entry.js.map +1 -0
  158. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js +3 -2
  159. package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js.map +1 -1
  160. package/dist/cjs/atomic-commerce-load-more-products.cjs.entry.js +2 -5
  161. package/dist/cjs/atomic-commerce-load-more-products.cjs.entry.js.map +1 -1
  162. package/dist/cjs/atomic-commerce-no-products.cjs.entry.js +1 -1
  163. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +4 -4
  164. package/dist/cjs/atomic-commerce-query-error.cjs.entry.js.map +1 -1
  165. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +3 -2
  166. package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js.map +1 -1
  167. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +2 -2
  168. package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js.map +1 -1
  169. package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
  170. package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +1 -1
  171. package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -2
  172. package/dist/cjs/atomic-generated-answer.cjs.entry.js +1 -1
  173. package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
  174. package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -2
  175. package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +1 -1
  176. package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
  177. package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
  178. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +5 -4
  179. package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
  180. package/dist/cjs/atomic-insight-query-error.cjs.entry.js +4 -4
  181. package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
  182. package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +1 -1
  183. package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -2
  184. package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
  185. package/dist/cjs/atomic-insight-result.cjs.entry.js +2 -2
  186. package/dist/cjs/atomic-insight-search-box.cjs.entry.js +1 -1
  187. package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
  188. package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -2
  189. package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -5
  190. package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
  191. package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
  192. package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
  193. package/dist/cjs/atomic-numeric-facet.cjs.entry.js +5 -4
  194. package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
  195. package/dist/cjs/atomic-query-error.cjs.entry.js +4 -4
  196. package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
  197. package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
  198. package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
  199. package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
  200. package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
  201. package/dist/cjs/atomic-recs-error.cjs.entry.js +4 -4
  202. package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
  203. package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
  204. package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -2
  205. package/dist/cjs/atomic-recs-result.cjs.entry.js +2 -2
  206. package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -2
  207. package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
  208. package/dist/cjs/atomic-result-list.cjs.entry.js +2 -2
  209. package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
  210. package/dist/cjs/atomic-result.cjs.entry.js +2 -2
  211. package/dist/cjs/atomic-search-box.cjs.entry.js +1 -1
  212. package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
  213. package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
  214. package/dist/cjs/atomic.cjs.js +1 -1
  215. package/dist/cjs/formatter-a95ed36b.js +31 -0
  216. package/dist/cjs/formatter-a95ed36b.js.map +1 -0
  217. package/dist/cjs/index-757bc886.js +4 -0
  218. package/dist/cjs/{interface-common-stencil-106cb624.js → interface-common-stencil-2f491040.js} +2 -2
  219. package/dist/cjs/{interface-common-stencil-106cb624.js.map → interface-common-stencil-2f491040.js.map} +1 -1
  220. package/dist/cjs/{stencil-accessibility-utils-a5d1a814.js → stencil-accessibility-utils-7eed7a97.js} +5 -15
  221. package/dist/cjs/stencil-accessibility-utils-7eed7a97.js.map +1 -0
  222. package/dist/cjs/stencil-breadcrumb-show-more-072b7726.js +102 -0
  223. package/dist/cjs/stencil-breadcrumb-show-more-072b7726.js.map +1 -0
  224. package/dist/cjs/{stencil-guard-caf49888.js → stencil-button-4108a176.js} +5 -5
  225. package/dist/cjs/stencil-button-4108a176.js.map +1 -0
  226. package/dist/cjs/{stencil-item-list-common-5a566a7b.js → stencil-item-list-common-3fa0a493.js} +2 -5
  227. package/dist/cjs/stencil-item-list-common-3fa0a493.js.map +1 -0
  228. package/dist/cjs/{stencil-link-f3ae19d0.js → title-d7fc3716.js} +56 -56
  229. package/dist/cjs/title-d7fc3716.js.map +1 -0
  230. package/dist/cjs/{values-container-7f0fda83.js → values-container-71f8a3aa.js} +3 -28
  231. package/dist/cjs/values-container-71f8a3aa.js.map +1 -0
  232. package/dist/cjs/version.cjs.js +2 -2
  233. package/dist/esm/_loader.js +1 -1
  234. package/dist/esm/{analytics-config-8e9cd658.js → analytics-config-ef02523b.js} +2 -2
  235. package/dist/esm/{analytics-config-8e9cd658.js.map → analytics-config-ef02523b.js.map} +1 -1
  236. package/dist/esm/atomic-automatic-facet_2.entry.js +1 -1
  237. package/dist/esm/atomic-breadbox.entry.js +5 -92
  238. package/dist/esm/atomic-breadbox.entry.js.map +1 -1
  239. package/dist/esm/atomic-category-facet.entry.js +1 -1
  240. package/dist/esm/atomic-color-facet.entry.js +1 -1
  241. package/dist/esm/atomic-commerce-breadbox.entry.js +284 -0
  242. package/dist/esm/atomic-commerce-breadbox.entry.js.map +1 -0
  243. package/dist/esm/atomic-commerce-category-facet_5.entry.js +4 -3
  244. package/dist/esm/atomic-commerce-category-facet_5.entry.js.map +1 -1
  245. package/dist/esm/atomic-commerce-load-more-products.entry.js +2 -5
  246. package/dist/esm/atomic-commerce-load-more-products.entry.js.map +1 -1
  247. package/dist/esm/atomic-commerce-no-products.entry.js +1 -1
  248. package/dist/esm/atomic-commerce-query-error.entry.js +3 -3
  249. package/dist/esm/atomic-commerce-query-error.entry.js.map +1 -1
  250. package/dist/esm/atomic-commerce-recommendation-interface.entry.js +3 -2
  251. package/dist/esm/atomic-commerce-recommendation-interface.entry.js.map +1 -1
  252. package/dist/esm/atomic-commerce-refine-toggle.entry.js +2 -2
  253. package/dist/esm/atomic-commerce-refine-toggle.entry.js.map +1 -1
  254. package/dist/esm/atomic-facet.entry.js +1 -1
  255. package/dist/esm/atomic-focus-trap_2.entry.js +1 -1
  256. package/dist/esm/atomic-folded-result-list.entry.js +2 -2
  257. package/dist/esm/atomic-format-currency.entry.js +1 -1
  258. package/dist/esm/atomic-format-number.entry.js +1 -1
  259. package/dist/esm/atomic-format-unit.entry.js +1 -1
  260. package/dist/esm/atomic-generated-answer.entry.js +1 -1
  261. package/dist/esm/atomic-insight-facet.entry.js +1 -1
  262. package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -2
  263. package/dist/esm/atomic-insight-generated-answer.entry.js +1 -1
  264. package/dist/esm/atomic-insight-interface.entry.js +2 -2
  265. package/dist/esm/atomic-insight-no-results.entry.js +1 -1
  266. package/dist/esm/atomic-insight-numeric-facet.entry.js +5 -4
  267. package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
  268. package/dist/esm/atomic-insight-query-error.entry.js +3 -3
  269. package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
  270. package/dist/esm/atomic-insight-query-summary.entry.js +1 -1
  271. package/dist/esm/atomic-insight-result-list.entry.js +2 -2
  272. package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
  273. package/dist/esm/atomic-insight-result.entry.js +2 -2
  274. package/dist/esm/atomic-insight-search-box.entry.js +1 -1
  275. package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
  276. package/dist/esm/atomic-ipx-recs-list.entry.js +2 -2
  277. package/dist/esm/atomic-load-more-results.entry.js +2 -5
  278. package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
  279. package/dist/esm/atomic-no-results.entry.js +1 -1
  280. package/dist/esm/atomic-notifications.entry.js +1 -1
  281. package/dist/esm/atomic-numeric-facet.entry.js +5 -4
  282. package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
  283. package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
  284. package/dist/esm/atomic-product-price.entry.js +1 -1
  285. package/dist/esm/atomic-query-error.entry.js +3 -3
  286. package/dist/esm/atomic-query-error.entry.js.map +1 -1
  287. package/dist/esm/atomic-query-summary.entry.js +1 -1
  288. package/dist/esm/atomic-quickview.entry.js +1 -1
  289. package/dist/esm/atomic-rating-facet.entry.js +1 -1
  290. package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
  291. package/dist/esm/atomic-recs-error.entry.js +3 -3
  292. package/dist/esm/atomic-recs-error.entry.js.map +1 -1
  293. package/dist/esm/atomic-recs-interface.entry.js +2 -2
  294. package/dist/esm/atomic-recs-list.entry.js +2 -2
  295. package/dist/esm/atomic-recs-result.entry.js +2 -2
  296. package/dist/esm/atomic-refine-toggle.entry.js +2 -2
  297. package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
  298. package/dist/esm/atomic-result-list.entry.js +2 -2
  299. package/dist/esm/atomic-result-number.entry.js +1 -1
  300. package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
  301. package/dist/esm/atomic-result.entry.js +2 -2
  302. package/dist/esm/atomic-search-box.entry.js +1 -1
  303. package/dist/esm/atomic-search-interface.entry.js +2 -2
  304. package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
  305. package/dist/esm/atomic.js +1 -1
  306. package/dist/esm/{format-common-274e0f7c.js → format-common-6436d8ea.js} +2 -2
  307. package/dist/esm/{format-common-274e0f7c.js.map → format-common-6436d8ea.js.map} +1 -1
  308. package/dist/esm/formatter-d890aa7d.js +29 -0
  309. package/dist/esm/formatter-d890aa7d.js.map +1 -0
  310. package/dist/esm/index-3f35faca.js +4 -0
  311. package/dist/esm/{interface-common-stencil-767b3f0b.js → interface-common-stencil-aa55b3f4.js} +2 -2
  312. package/dist/esm/{interface-common-stencil-767b3f0b.js.map → interface-common-stencil-aa55b3f4.js.map} +1 -1
  313. package/dist/esm/{stencil-accessibility-utils-b42ac309.js → stencil-accessibility-utils-49ac1c53.js} +5 -15
  314. package/dist/esm/stencil-accessibility-utils-49ac1c53.js.map +1 -0
  315. package/dist/esm/stencil-breadcrumb-show-more-6e6104d4.js +95 -0
  316. package/dist/esm/stencil-breadcrumb-show-more-6e6104d4.js.map +1 -0
  317. package/dist/esm/{stencil-guard-9329c8cd.js → stencil-button-467ff352.js} +5 -5
  318. package/dist/esm/stencil-button-467ff352.js.map +1 -0
  319. package/dist/esm/{stencil-item-list-common-9e3e9954.js → stencil-item-list-common-8996949d.js} +2 -5
  320. package/dist/esm/stencil-item-list-common-8996949d.js.map +1 -0
  321. package/dist/esm/{stencil-link-c0c35f94.js → title-7b773fe0.js} +56 -56
  322. package/dist/esm/title-7b773fe0.js.map +1 -0
  323. package/dist/esm/{values-container-51a6d0ae.js → values-container-5c8162d7.js} +3 -27
  324. package/dist/esm/values-container-5c8162d7.js.map +1 -0
  325. package/dist/esm/version.js +2 -2
  326. package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +16 -22
  327. package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +2 -2
  328. package/dist/types/components/commerce/index.d.ts +0 -1
  329. package/dist/types/components/common/interface/bindings.d.ts +0 -6
  330. package/dist/types/components/common/query-error/description.d.ts +2 -3
  331. package/dist/types/components/common/query-error/details.d.ts +4 -3
  332. package/dist/types/components/common/query-error/link.d.ts +2 -2
  333. package/dist/types/components/common/query-error/show-more.d.ts +1 -1
  334. package/dist/types/components/common/refine-modal/guard.d.ts +3 -7
  335. package/dist/types/components/common/sort/sort-guard.d.ts +1 -1
  336. package/dist/types/components.d.ts +39 -0
  337. package/dist/types/decorators/light-dom.d.ts +0 -16
  338. package/dist/types/utils/accessibility-utils.d.ts +1 -4
  339. package/dist/types/utils/stencil-accessibility-utils.d.ts +1 -4
  340. package/docs/atomic-docs.json +145 -6
  341. package/package.json +5 -5
  342. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +0 -347
  343. package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.js +0 -3
  344. package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +0 -29
  345. package/dist/atomic/components/components/common/breadbox/breadcrumb-clear-all.js +0 -18
  346. package/dist/atomic/components/components/common/breadbox/breadcrumb-container.js +0 -21
  347. package/dist/atomic/components/components/common/breadbox/breadcrumb-content.js +0 -42
  348. package/dist/atomic/components/components/common/breadbox/breadcrumb-show-less.js +0 -21
  349. package/dist/atomic/components/components/common/breadbox/breadcrumb-show-more.js +0 -23
  350. package/dist/atomic/components/components/common/breadbox/breadcrumb-types.js +0 -1
  351. package/dist/atomic/components/components/common/breadbox/breadcrumb-utils.js +0 -22
  352. package/dist/atomic/components/components/common/formats/format-common.js +0 -15
  353. package/dist/atomic/components/stencil-guard.js.map +0 -1
  354. package/dist/atomic/components/stencil-link.js.map +0 -1
  355. package/dist/atomic/components/utils/date-utils.js +0 -51
  356. package/dist/atomic/components/utils/field-utils.js +0 -11
  357. package/dist/atomic/p-0a50a6c2.entry.js +0 -2
  358. package/dist/atomic/p-0a50a6c2.entry.js.map +0 -1
  359. package/dist/atomic/p-4bf030d4.js +0 -2
  360. package/dist/atomic/p-51810027.entry.js.map +0 -1
  361. package/dist/atomic/p-67afec23.js +0 -2
  362. package/dist/atomic/p-67afec23.js.map +0 -1
  363. package/dist/atomic/p-75d11764.entry.js.map +0 -1
  364. package/dist/atomic/p-891f0c50.entry.js +0 -2
  365. package/dist/atomic/p-905c59a8.entry.js.map +0 -1
  366. package/dist/atomic/p-b2d57b15.entry.js.map +0 -1
  367. package/dist/atomic/p-b55ab145.js +0 -2
  368. package/dist/atomic/p-b55ab145.js.map +0 -1
  369. package/dist/atomic/p-bd109981.entry.js +0 -2
  370. package/dist/atomic/p-c12abafc.entry.js.map +0 -1
  371. package/dist/atomic/p-c265c67d.entry.js.map +0 -1
  372. package/dist/atomic/p-c74c1b41.entry.js.map +0 -1
  373. package/dist/atomic/p-c7971a2e.entry.js.map +0 -1
  374. package/dist/atomic/p-d178d2f7.js +0 -2
  375. package/dist/atomic/p-d178d2f7.js.map +0 -1
  376. package/dist/atomic/p-efb5a30c.js +0 -2
  377. package/dist/atomic/p-efb5a30c.js.map +0 -1
  378. package/dist/atomic/p-f0b5b6e1.js +0 -2
  379. package/dist/atomic/p-f0b5b6e1.js.map +0 -1
  380. package/dist/atomic/p-f96655f4.entry.js +0 -2
  381. package/dist/cjs/stencil-accessibility-utils-a5d1a814.js.map +0 -1
  382. package/dist/cjs/stencil-guard-caf49888.js.map +0 -1
  383. package/dist/cjs/stencil-item-list-common-5a566a7b.js.map +0 -1
  384. package/dist/cjs/stencil-link-f3ae19d0.js.map +0 -1
  385. package/dist/cjs/values-container-7f0fda83.js.map +0 -1
  386. package/dist/esm/stencil-accessibility-utils-b42ac309.js.map +0 -1
  387. package/dist/esm/stencil-guard-9329c8cd.js.map +0 -1
  388. package/dist/esm/stencil-item-list-common-9e3e9954.js.map +0 -1
  389. package/dist/esm/stencil-link-c0c35f94.js.map +0 -1
  390. package/dist/esm/values-container-51a6d0ae.js.map +0 -1
  391. package/dist/types/components/common/query-error/stencil-description.d.ts +0 -10
  392. package/dist/types/components/common/query-error/stencil-details.d.ts +0 -7
  393. package/dist/types/components/common/query-error/stencil-link.d.ts +0 -8
  394. package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -8
  395. /package/dist/atomic/{p-af8999b1.entry.js.map → p-02996f86.entry.js.map} +0 -0
  396. /package/dist/atomic/{p-a15f6b8c.entry.js.map → p-02b28870.entry.js.map} +0 -0
  397. /package/dist/atomic/{p-59017e0a.entry.js.map → p-02ff6630.entry.js.map} +0 -0
  398. /package/dist/atomic/{p-e961a0cc.entry.js.map → p-040d11cd.entry.js.map} +0 -0
  399. /package/dist/atomic/{p-bc77fab7.entry.js.map → p-0bfe403b.entry.js.map} +0 -0
  400. /package/dist/atomic/{p-ec03a238.entry.js.map → p-0f925e7b.entry.js.map} +0 -0
  401. /package/dist/atomic/{p-6d264c97.entry.js.map → p-1b75ca01.entry.js.map} +0 -0
  402. /package/dist/atomic/{p-6c5524dc.entry.js.map → p-1dd886f0.entry.js.map} +0 -0
  403. /package/dist/atomic/{p-ceadf1e3.entry.js.map → p-25dcb619.entry.js.map} +0 -0
  404. /package/dist/atomic/{p-310c93bc.entry.js.map → p-2fb8ceed.entry.js.map} +0 -0
  405. /package/dist/atomic/{p-4e57cee1.entry.js.map → p-3a2d55e0.entry.js.map} +0 -0
  406. /package/dist/atomic/{p-4bf030d4.js.map → p-428f3e7d.js.map} +0 -0
  407. /package/dist/atomic/{p-ccff6c87.entry.js.map → p-4294c5fe.entry.js.map} +0 -0
  408. /package/dist/atomic/{p-d5c308fc.entry.js.map → p-4c0c78f8.entry.js.map} +0 -0
  409. /package/dist/atomic/{p-963a3e18.entry.js.map → p-4d2fc026.entry.js.map} +0 -0
  410. /package/dist/atomic/{p-bad08ec3.entry.js.map → p-5b9957c5.entry.js.map} +0 -0
  411. /package/dist/atomic/{p-d72e52b2.entry.js.map → p-5d7c5154.entry.js.map} +0 -0
  412. /package/dist/atomic/{p-b0be7782.entry.js.map → p-6a66eae4.entry.js.map} +0 -0
  413. /package/dist/atomic/{p-07cd7e4a.entry.js.map → p-6b1ae398.entry.js.map} +0 -0
  414. /package/dist/atomic/{p-39447826.entry.js.map → p-6ef0e47a.entry.js.map} +0 -0
  415. /package/dist/atomic/{p-9a161d8f.entry.js.map → p-73d43334.entry.js.map} +0 -0
  416. /package/dist/atomic/{p-c2f0ca36.js.map → p-7b4f6ed6.js.map} +0 -0
  417. /package/dist/atomic/{p-da578608.entry.js.map → p-80ae9ccd.entry.js.map} +0 -0
  418. /package/dist/atomic/{p-81874146.entry.js.map → p-83b3960c.entry.js.map} +0 -0
  419. /package/dist/atomic/{p-4af746a9.entry.js.map → p-8846dc8f.entry.js.map} +0 -0
  420. /package/dist/atomic/{p-7dd55462.entry.js.map → p-8f2b0293.entry.js.map} +0 -0
  421. /package/dist/atomic/{p-35400329.entry.js.map → p-95413559.entry.js.map} +0 -0
  422. /package/dist/atomic/{p-1243448d.entry.js.map → p-b5995e6b.entry.js.map} +0 -0
  423. /package/dist/atomic/{p-231c8300.entry.js.map → p-c0e280d2.entry.js.map} +0 -0
  424. /package/dist/atomic/{p-bb5c19a7.entry.js.map → p-c8e6b14a.entry.js.map} +0 -0
  425. /package/dist/atomic/{p-e36f1951.entry.js.map → p-cb3cbcc4.entry.js.map} +0 -0
  426. /package/dist/atomic/{p-cf12adcd.entry.js.map → p-cbb3cf8d.entry.js.map} +0 -0
  427. /package/dist/atomic/{p-5cf5bb98.entry.js.map → p-d2da75a3.entry.js.map} +0 -0
  428. /package/dist/atomic/{p-bd0aa08f.entry.js.map → p-d5d1af9b.entry.js.map} +0 -0
  429. /package/dist/atomic/{p-22fb593a.entry.js.map → p-d69d6868.entry.js.map} +0 -0
  430. /package/dist/atomic/{p-88bbf499.entry.js.map → p-d6b5512a.entry.js.map} +0 -0
  431. /package/dist/atomic/{p-6d083c4e.entry.js.map → p-d7727baa.entry.js.map} +0 -0
  432. /package/dist/atomic/{p-a535a268.entry.js.map → p-d9e69834.entry.js.map} +0 -0
  433. /package/dist/atomic/{p-7d1ca26f.entry.js.map → p-e68c18db.entry.js.map} +0 -0
  434. /package/dist/atomic/{p-57f53200.entry.js.map → p-e6b33bc5.entry.js.map} +0 -0
  435. /package/dist/atomic/{p-1c06ca0c.entry.js.map → p-e7a06049.entry.js.map} +0 -0
  436. /package/dist/atomic/{p-25a96534.js.map → p-f3c1c9a0.js.map} +0 -0
  437. /package/dist/atomic/{p-79e1bcc1.entry.js.map → p-f9e2e064.entry.js.map} +0 -0
  438. /package/dist/atomic/{p-3e5a304a.entry.js.map → p-fe10e968.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"atomic-breadbox.js","mappings":"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","names":["AtomicBreadbox"],"sources":["src/components/common/breadbox/breadcrumb-utils.ts","src/components/common/breadbox/stencil-breadcrumb-button.tsx","src/components/common/breadbox/stencil-breadcrumb-clear-all.tsx","src/components/common/breadbox/stencil-breadcrumb-container.tsx","src/components/common/breadbox/stencil-breadcrumb-content.tsx","src/components/common/breadbox/stencil-breadcrumb-show-less.tsx","src/components/common/breadbox/stencil-breadcrumb-show-more.tsx","src/components/search/atomic-breadbox/atomic-breadbox.pcss?tag=atomic-breadbox&encapsulation=shadow","src/components/search/atomic-breadbox/atomic-breadbox.tsx"],"sourcesContent":["import {Breadcrumb} from './breadcrumb-types';\n\nconst ELLIPSIS = '...';\nconst SEPARATOR = ' / ';\n\nfunction limitPath(path: string[], pathLimit: number) {\n if (path.length <= pathLimit) {\n return path.join(SEPARATOR);\n }\n\n if (pathLimit === 1 && path.length > 1) {\n return [ELLIPSIS, path[path.length - 1]].join(SEPARATOR);\n }\n\n const ellipsedPath = [path[0], ELLIPSIS, ...path.slice(-(pathLimit - 1))];\n return ellipsedPath.join(SEPARATOR);\n}\n\nexport function joinBreadcrumbValues(breadcrumb: Breadcrumb) {\n return Array.isArray(breadcrumb.formattedValue)\n ? breadcrumb.formattedValue.join(SEPARATOR)\n : breadcrumb.formattedValue;\n}\n\nexport function getFirstBreadcrumbValue(\n breadcrumb: Breadcrumb,\n pathLimit: number\n) {\n return Array.isArray(breadcrumb.formattedValue)\n ? limitPath(breadcrumb.formattedValue, pathLimit)\n : breadcrumb.formattedValue;\n}\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {\n joinBreadcrumbValues,\n getFirstBreadcrumbValue,\n} from './breadcrumb-utils';\n\nexport interface BreadcrumbButtonProps {\n onSelectBreadcrumb: () => void;\n setRef: (el: HTMLButtonElement) => void;\n pathLimit: number;\n breadcrumb: Breadcrumb;\n i18n: i18n;\n}\n\nexport const BreadcrumbButton: FunctionalComponent<BreadcrumbButtonProps> = (\n props,\n children\n) => {\n const classNames = [\n 'py-2',\n 'px-3',\n 'flex',\n 'items-center',\n 'rounded-xl',\n 'group',\n ];\n\n const fullValue = joinBreadcrumbValues(props.breadcrumb);\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const title = `${props.breadcrumb.label}: ${fullValue}`;\n const isExclusion = props.breadcrumb.state === 'excluded';\n\n return (\n <li class=\"breadcrumb\" key={value}>\n <Button\n ref={props.setRef}\n part=\"breadcrumb-button\"\n style={isExclusion ? 'outline-error' : 'outline-bg-neutral'}\n class={classNames.join(' ')}\n title={title}\n ariaLabel={props.i18n.t(\n isExclusion\n ? 'remove-exclusion-filter-on'\n : 'remove-inclusion-filter-on',\n {\n value: title,\n }\n )}\n onClick={props.onSelectBreadcrumb}\n >\n {children}\n </Button>\n </li>\n );\n};\n","import {FunctionalComponent, h} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbClearAllProps {\n setRef: (el: HTMLButtonElement) => void;\n onClick: ((event?: MouseEvent | undefined) => void) | undefined;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbClearAll: FunctionalComponent<\n BreadcrumbClearAllProps\n> = (props) => {\n return (\n <li key=\"clear-all\">\n <Button\n ref={props.setRef}\n part=\"clear\"\n style=\"text-primary\"\n text={props.i18n.t('clear')}\n class=\"rounded-xl p-2\"\n ariaLabel={props.i18n.t('clear-all-filters')}\n onClick={props.onClick}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\n\nexport interface BreadcrumbContainerProps {\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbContainer: FunctionalComponent<\n BreadcrumbContainerProps\n> = (props, children) => {\n return (\n <div part=\"container\" class=\"text-on-background flex text-sm\">\n <span part=\"label\" class=\"py-2.5 pr-2 pl-0 font-bold\">\n {props.i18n.t('with-colon', {\n text: props.i18n.t('filters'),\n })}\n </span>\n <div part=\"breadcrumb-list-container\" class=\"relative grow\">\n <ul\n part=\"breadcrumb-list\"\n class={`flex gap-1 ${\n props.isCollapsed ? 'absolute w-full flex-nowrap' : 'flex-wrap'\n }`}\n >\n {children}\n </ul>\n </div>\n </div>\n );\n};\n","import {h, FunctionalComponent, Fragment} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport CloseIcon from '../../../images/close.svg';\nimport {Breadcrumb} from './breadcrumb-types';\nimport {getFirstBreadcrumbValue} from './breadcrumb-utils';\n\nexport interface BreadcrumbContentProps {\n pathLimit: number;\n isCollapsed: boolean;\n i18n: i18n;\n breadcrumb: Breadcrumb;\n}\n\nexport const BreadcrumbContent: FunctionalComponent<BreadcrumbContentProps> = (\n props\n) => {\n const value = getFirstBreadcrumbValue(props.breadcrumb, props.pathLimit);\n const isExclusion = props.breadcrumb.state === 'excluded';\n const activeColor = isExclusion ? 'error' : 'primary';\n return (\n <Fragment>\n <span\n part=\"breadcrumb-label\"\n class={`max-w-[30ch] truncate group-hover:text-${activeColor} group-focus-visible:text-${activeColor} ${props.breadcrumb.state}`}\n >\n {props.i18n.t('with-colon', {text: props.breadcrumb.label})}\n </span>\n <span\n part=\"breadcrumb-value\"\n class={`ml-1 ${\n props.breadcrumb.content\n ? ''\n : `max-w-[30ch] truncate ${props.breadcrumb.state}`\n }`}\n >\n {props.breadcrumb.content ?? value}\n </span>\n <atomic-icon\n part=\"breadcrumb-clear\"\n class=\"mt-px ml-2 h-2.5 w-2.5\"\n icon={CloseIcon}\n ></atomic-icon>\n </Fragment>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowLessProps {\n onShowLess: () => void;\n setRef: (el: HTMLButtonElement) => void;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowLess: FunctionalComponent<\n BreadcrumbShowLessProps\n> = (props) => {\n if (props.isCollapsed) {\n return;\n }\n\n return (\n <li key=\"show-less\">\n <Button\n ref={props.setRef}\n part=\"show-less\"\n style=\"outline-primary\"\n text={props.i18n.t('show-less')}\n class=\"rounded-xl p-2\"\n onClick={props.onShowLess}\n ></Button>\n </li>\n );\n};\n","import {h, FunctionalComponent} from '@stencil/core';\nimport {i18n} from 'i18next';\nimport {Button} from '../stencil-button';\n\nexport interface BreadcrumbShowMoreProps {\n setRef: (el: HTMLButtonElement) => void;\n onShowMore: () => void;\n numberOfCollapsedBreadcrumbs: number;\n isCollapsed: boolean;\n i18n: i18n;\n}\n\nexport const BreadcrumbShowMore: FunctionalComponent<\n BreadcrumbShowMoreProps\n> = (props) => {\n if (!props.isCollapsed) {\n return;\n }\n return (\n <li key=\"show-more\">\n <Button\n ref={props.setRef}\n part=\"show-more\"\n style=\"outline-primary\"\n class=\"rounded-xl p-2 whitespace-nowrap\"\n onClick={props.onShowMore}\n ariaLabel={props.i18n.t('show-n-more-filters', {\n value: props.numberOfCollapsedBreadcrumbs,\n })}\n ></Button>\n </li>\n );\n};\n","@import '../../../global/global.pcss';\n@import '../../common/atomic-rating/atomic-rating.pcss';\n\n[part='breadcrumb-label'].excluded,\n[part='breadcrumb-value'].excluded {\n text-decoration: line-through;\n @apply text-error;\n}\n","import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n BreadcrumbManagerState,\n BreadcrumbManager,\n buildBreadcrumbManager,\n FacetManager,\n FacetManagerState,\n buildFacetManager,\n} from '@coveo/headless';\nimport {Component, h, State, Element, Prop} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {\n InitializableComponent,\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {Breadcrumb as BreadboxBreadcrumb} from '../../common/breadbox/breadcrumb-types';\nimport {BreadcrumbButton} from '../../common/breadbox/stencil-breadcrumb-button';\nimport {BreadcrumbClearAll} from '../../common/breadbox/stencil-breadcrumb-clear-all';\nimport {BreadcrumbContainer} from '../../common/breadbox/stencil-breadcrumb-container';\nimport {BreadcrumbContent} from '../../common/breadbox/stencil-breadcrumb-content';\nimport {BreadcrumbShowLess} from '../../common/breadbox/stencil-breadcrumb-show-less';\nimport {BreadcrumbShowMore} from '../../common/breadbox/stencil-breadcrumb-show-more';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-breadbox` component creates breadcrumbs that display a summary of the currently active facet values.\n *\n * @part container - The container of the whole component, list & label.\n * @part breadcrumb-list-container - The container of the list of breadcrumb buttons.\n * @part breadcrumb-list - The list of breadcrumb buttons.\n * @part breadcrumb-button - A single breadcrumb button.\n * @part breadcrumb-label - The breadcrumb label, associated with the facet.\n * @part breadcrumb-value - The breadcrumb formatted value.\n * @part breadcrumb-clear - The button to clear individual filters.\n * @part show-more - The button to display all breadcrumbs.\n * @part show-less - The button to display less breadcrumbs.\n * @part label - The \"Filters\" label.\n * @part clear - The button to clear all filters.\n */\n@Component({\n tag: 'atomic-breadbox',\n styleUrl: 'atomic-breadbox.pcss',\n shadow: true,\n})\nexport class AtomicBreadbox implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private breadcrumbManager!: BreadcrumbManager;\n private resizeObserver?: ResizeObserver;\n private showMore!: HTMLButtonElement;\n private showLess!: HTMLButtonElement;\n private lastRemovedBreadcrumbIndex = 0;\n private numberOfBreadcrumbs = 0;\n private numberOfCollapsedBreadcrumbs = 0;\n private firstExpandedBreadcrumbIndex?: number;\n facetManager!: FacetManager;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() public error!: Error;\n @State() private isCollapsed = true;\n\n private breadcrumbRemovedFocus?: FocusTargetController;\n\n private breadcrumbShowMoreFocus?: FocusTargetController;\n\n private breadcrumbShowLessFocus?: FocusTargetController;\n\n /**\n * This prop allows you to control the display depth\n * of the path by specifying the number of parent or ancestor\n * breadcrumbs links relative to the currently selected value.\n *\n * If the path size is equal to or less than the pathLimit, all values in\n * the path will be displayed without truncation.\n *\n * If the path size exceeds the pathLimit, it will truncate the path by\n * replacing the middle values with ellipses ('...').\n *\n * Minimum: `1`\n * @defaultValue `3`\n */\n @Prop() public pathLimit = 3;\n\n public initialize() {\n this.validateProps();\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.adaptBreadcrumbs());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n private validateProps() {\n new Schema({\n pathLimit: new NumberValue({\n default: 3,\n min: 1,\n required: false,\n }),\n }).validate({\n pathLimit: this.pathLimit,\n });\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n private get focusTargets() {\n if (!this.breadcrumbRemovedFocus) {\n this.breadcrumbRemovedFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowLessFocus) {\n this.breadcrumbShowLessFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowMoreFocus) {\n this.breadcrumbShowMoreFocus = new FocusTargetController(this);\n }\n return {\n breadcrumbRemovedFocus: this.breadcrumbRemovedFocus,\n breadcrumbShowLessFocus: this.breadcrumbShowLessFocus,\n breadcrumbShowMoreFocus: this.breadcrumbShowMoreFocus,\n };\n }\n\n private get breadcrumbs() {\n return Array.from(\n this.host.shadowRoot!.querySelectorAll('li.breadcrumb')\n ) as HTMLElement[];\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private showAllBreadcrumbs() {\n this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));\n }\n\n private hideOverflowingBreadcrumbs() {\n let hiddenBreadcrumbs = 0;\n for (\n let i = this.breadcrumbs.length - 1;\n this.isOverflowing && i >= 0;\n i--\n ) {\n this.hide(this.breadcrumbs[i]);\n hiddenBreadcrumbs++;\n }\n this.updateShowMoreValue(hiddenBreadcrumbs);\n }\n\n private updateShowLessDisplay() {\n this.show(this.showLess);\n if (this.showLess.offsetTop === 0) {\n this.hide(this.showLess);\n }\n }\n\n private adaptBreadcrumbs() {\n if (!this.breadcrumbs.length) {\n return;\n }\n this.showAllBreadcrumbs();\n\n if (!this.isCollapsed) {\n this.updateShowLessDisplay();\n return;\n }\n\n this.updateShowMoreValue(this.breadcrumbs.length);\n this.hideOverflowingBreadcrumbs();\n }\n\n private get isOverflowing() {\n const listElement = this.host.shadowRoot!.querySelector('ul');\n if (!listElement) {\n return false;\n }\n return listElement.scrollWidth > listElement.clientWidth;\n }\n\n private updateShowMoreValue(value: number) {\n this.numberOfCollapsedBreadcrumbs = value;\n if (value === 0) {\n this.hide(this.showMore);\n return;\n }\n\n this.show(this.showMore);\n this.showMore.textContent = `+ ${value.toLocaleString(\n this.bindings.i18n.language\n )}`;\n\n this.showMore.setAttribute(\n 'aria-label',\n this.bindings.i18n.t('show-n-more-filters', {\n value,\n })\n );\n }\n\n private get facetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.facetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .filter(({facetId}) => this.bindings.store.state.facets[facetId])\n .map(({value, facetId, field}) => ({\n facetId,\n label: this.bindings.store.state.facets[facetId]?.label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get categoryFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.categoryFacetBreadcrumbs.map(\n ({facetId, field, path, deselect}) => ({\n facetId,\n label: this.bindings.store.state.categoryFacets[facetId].label(),\n deselect: deselect,\n formattedValue: path.map((pathValue) =>\n getFieldValueCaption(field, pathValue.value, this.bindings.i18n)\n ),\n })\n );\n }\n\n private get numericFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.numericFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.numericFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.numericFacets[facetId].format(value.value),\n ],\n content: this.bindings.store.state.numericFacets[facetId].content?.(\n value.value\n ),\n }));\n }\n\n private get dateFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.dateFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.dateFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.dateFacets[facetId].format(value.value),\n ],\n }));\n }\n\n private get automaticFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.automaticFacetBreadcrumbs\n .flatMap(({facetId, field, label, values}) =>\n values.map((value) => ({value, facetId, field, label}))\n )\n .map(({value, facetId, field, label}) => ({\n facetId,\n state: value.value.state,\n label: label ? label : field,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get allBreadcrumbs(): BreadboxBreadcrumb[] {\n return [\n ...this.facetBreadcrumbs,\n ...this.categoryFacetBreadcrumbs,\n ...this.numericFacetBreadcrumbs,\n ...this.dateFacetBreadcrumbs,\n ...this.automaticFacetBreadcrumbs,\n ];\n }\n\n private renderBreadcrumbs(allBreadcrumbs: BreadboxBreadcrumb[]) {\n const sortedBreadcrumbs = allBreadcrumbs.sort((a, b) => {\n const indexA = this.facetManagerState.facetIds.indexOf(a.facetId);\n const indexB = this.facetManagerState.facetIds.indexOf(b.facetId);\n return indexA - indexB;\n });\n this.numberOfBreadcrumbs = sortedBreadcrumbs.length;\n\n return [\n sortedBreadcrumbs.map((breadcrumb, index) => {\n const isLastBreadcrumb = this.allBreadcrumbs.length === 1;\n return (\n <BreadcrumbButton\n setRef={(ref) => {\n if (this.lastRemovedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbRemovedFocus.setTarget(ref);\n }\n if (this.firstExpandedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbShowMoreFocus.setTarget(ref);\n }\n }}\n pathLimit={this.pathLimit}\n breadcrumb={breadcrumb}\n onSelectBreadcrumb={() => {\n if (isLastBreadcrumb) {\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n } else if (this.numberOfBreadcrumbs > 1) {\n this.focusTargets.breadcrumbRemovedFocus.focusAfterSearch();\n }\n\n this.lastRemovedBreadcrumbIndex = index;\n breadcrumb.deselect();\n }}\n i18n={this.bindings.i18n}\n >\n <BreadcrumbContent\n pathLimit={this.pathLimit}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n breadcrumb={breadcrumb}\n ></BreadcrumbContent>\n </BreadcrumbButton>\n );\n }),\n ];\n }\n\n public render() {\n const allBreadcrumbs = this.allBreadcrumbs;\n\n if (!allBreadcrumbs.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <BreadcrumbContainer\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n >\n {this.renderBreadcrumbs(allBreadcrumbs)}\n <BreadcrumbShowMore\n setRef={(el) => {\n this.showMore = el;\n }}\n onShowMore={() => {\n this.firstExpandedBreadcrumbIndex =\n this.numberOfBreadcrumbs - this.numberOfCollapsedBreadcrumbs;\n this.focusTargets.breadcrumbShowMoreFocus.focusOnNextTarget();\n this.isCollapsed = false;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n numberOfCollapsedBreadcrumbs={this.numberOfCollapsedBreadcrumbs}\n ></BreadcrumbShowMore>\n <BreadcrumbShowLess\n setRef={(el) => {\n this.showLess = el;\n }}\n onShowLess={() => {\n this.focusTargets.breadcrumbShowLessFocus.focusOnNextTarget();\n this.isCollapsed = true;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbShowLess>\n <BreadcrumbClearAll\n setRef={() => {\n const isFocusTarget =\n this.lastRemovedBreadcrumbIndex === this.numberOfBreadcrumbs;\n\n isFocusTarget\n ? this.focusTargets.breadcrumbRemovedFocus.setTarget\n : undefined;\n }}\n onClick={async () => {\n this.breadcrumbManager.deselectAll();\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbClearAll>\n </BreadcrumbContainer>\n );\n }\n\n public componentDidRender() {\n this.adaptBreadcrumbs();\n }\n}\n"],"version":3}
1
+ {"file":"atomic-breadbox.js","mappings":"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","names":["AtomicBreadbox"],"sources":["src/components/search/atomic-breadbox/atomic-breadbox.pcss?tag=atomic-breadbox&encapsulation=shadow","src/components/search/atomic-breadbox/atomic-breadbox.tsx"],"sourcesContent":["@import '../../../global/global.pcss';\n@import '../../common/atomic-rating/atomic-rating.pcss';\n\n[part='breadcrumb-label'].excluded,\n[part='breadcrumb-value'].excluded {\n text-decoration: line-through;\n @apply text-error;\n}\n","import {NumberValue, Schema} from '@coveo/bueno';\nimport {\n BreadcrumbManagerState,\n BreadcrumbManager,\n buildBreadcrumbManager,\n FacetManager,\n FacetManagerState,\n buildFacetManager,\n} from '@coveo/headless';\nimport {Component, h, State, Element, Prop} from '@stencil/core';\nimport {getFieldValueCaption} from '../../../utils/field-utils';\nimport {\n InitializableComponent,\n BindStateToController,\n InitializeBindings,\n} from '../../../utils/initialization-utils';\nimport {FocusTargetController} from '../../../utils/stencil-accessibility-utils';\nimport {Breadcrumb as BreadboxBreadcrumb} from '../../common/breadbox/breadcrumb-types';\nimport {BreadcrumbButton} from '../../common/breadbox/stencil-breadcrumb-button';\nimport {BreadcrumbClearAll} from '../../common/breadbox/stencil-breadcrumb-clear-all';\nimport {BreadcrumbContainer} from '../../common/breadbox/stencil-breadcrumb-container';\nimport {BreadcrumbContent} from '../../common/breadbox/stencil-breadcrumb-content';\nimport {BreadcrumbShowLess} from '../../common/breadbox/stencil-breadcrumb-show-less';\nimport {BreadcrumbShowMore} from '../../common/breadbox/stencil-breadcrumb-show-more';\nimport {Hidden} from '../../common/stencil-hidden';\nimport {Bindings} from '../atomic-search-interface/atomic-search-interface';\n\n/**\n * The `atomic-breadbox` component creates breadcrumbs that display a summary of the currently active facet values.\n *\n * @part container - The container of the whole component, list & label.\n * @part breadcrumb-list-container - The container of the list of breadcrumb buttons.\n * @part breadcrumb-list - The list of breadcrumb buttons.\n * @part breadcrumb-button - A single breadcrumb button.\n * @part breadcrumb-label - The breadcrumb label, associated with the facet.\n * @part breadcrumb-value - The breadcrumb formatted value.\n * @part breadcrumb-clear - The button to clear individual filters.\n * @part show-more - The button to display all breadcrumbs.\n * @part show-less - The button to display less breadcrumbs.\n * @part label - The \"Filters\" label.\n * @part clear - The button to clear all filters.\n */\n@Component({\n tag: 'atomic-breadbox',\n styleUrl: 'atomic-breadbox.pcss',\n shadow: true,\n})\nexport class AtomicBreadbox implements InitializableComponent {\n @InitializeBindings() public bindings!: Bindings;\n private breadcrumbManager!: BreadcrumbManager;\n private resizeObserver?: ResizeObserver;\n private showMore!: HTMLButtonElement;\n private showLess!: HTMLButtonElement;\n private lastRemovedBreadcrumbIndex = 0;\n private numberOfBreadcrumbs = 0;\n private numberOfCollapsedBreadcrumbs = 0;\n private firstExpandedBreadcrumbIndex?: number;\n facetManager!: FacetManager;\n\n @Element() private host!: HTMLElement;\n\n @BindStateToController('breadcrumbManager')\n @State()\n private breadcrumbManagerState!: BreadcrumbManagerState;\n @BindStateToController('facetManager')\n @State()\n public facetManagerState!: FacetManagerState;\n @State() public error!: Error;\n @State() private isCollapsed = true;\n\n private breadcrumbRemovedFocus?: FocusTargetController;\n\n private breadcrumbShowMoreFocus?: FocusTargetController;\n\n private breadcrumbShowLessFocus?: FocusTargetController;\n\n /**\n * This prop allows you to control the display depth\n * of the path by specifying the number of parent or ancestor\n * breadcrumbs links relative to the currently selected value.\n *\n * If the path size is equal to or less than the pathLimit, all values in\n * the path will be displayed without truncation.\n *\n * If the path size exceeds the pathLimit, it will truncate the path by\n * replacing the middle values with ellipses ('...').\n *\n * Minimum: `1`\n * @defaultValue `3`\n */\n @Prop() public pathLimit = 3;\n\n public initialize() {\n this.validateProps();\n this.breadcrumbManager = buildBreadcrumbManager(this.bindings.engine);\n this.facetManager = buildFacetManager(this.bindings.engine);\n\n if (window.ResizeObserver) {\n this.resizeObserver = new ResizeObserver(() => this.adaptBreadcrumbs());\n this.resizeObserver.observe(this.host.parentElement!);\n }\n }\n\n private validateProps() {\n new Schema({\n pathLimit: new NumberValue({\n default: 3,\n min: 1,\n required: false,\n }),\n }).validate({\n pathLimit: this.pathLimit,\n });\n }\n\n public disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n private get focusTargets() {\n if (!this.breadcrumbRemovedFocus) {\n this.breadcrumbRemovedFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowLessFocus) {\n this.breadcrumbShowLessFocus = new FocusTargetController(this);\n }\n if (!this.breadcrumbShowMoreFocus) {\n this.breadcrumbShowMoreFocus = new FocusTargetController(this);\n }\n return {\n breadcrumbRemovedFocus: this.breadcrumbRemovedFocus,\n breadcrumbShowLessFocus: this.breadcrumbShowLessFocus,\n breadcrumbShowMoreFocus: this.breadcrumbShowMoreFocus,\n };\n }\n\n private get breadcrumbs() {\n return Array.from(\n this.host.shadowRoot!.querySelectorAll('li.breadcrumb')\n ) as HTMLElement[];\n }\n\n private hide(element: HTMLElement) {\n element.style.display = 'none';\n }\n\n private show(element: HTMLElement) {\n element.style.display = '';\n }\n\n private showAllBreadcrumbs() {\n this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));\n }\n\n private hideOverflowingBreadcrumbs() {\n let hiddenBreadcrumbs = 0;\n for (\n let i = this.breadcrumbs.length - 1;\n this.isOverflowing && i >= 0;\n i--\n ) {\n this.hide(this.breadcrumbs[i]);\n hiddenBreadcrumbs++;\n }\n this.updateShowMoreValue(hiddenBreadcrumbs);\n }\n\n private updateShowLessDisplay() {\n this.show(this.showLess);\n if (this.showLess.offsetTop === 0) {\n this.hide(this.showLess);\n }\n }\n\n private adaptBreadcrumbs() {\n if (!this.breadcrumbs.length) {\n return;\n }\n this.showAllBreadcrumbs();\n\n if (!this.isCollapsed) {\n this.updateShowLessDisplay();\n return;\n }\n\n this.updateShowMoreValue(this.breadcrumbs.length);\n this.hideOverflowingBreadcrumbs();\n }\n\n private get isOverflowing() {\n const listElement = this.host.shadowRoot!.querySelector('ul');\n if (!listElement) {\n return false;\n }\n return listElement.scrollWidth > listElement.clientWidth;\n }\n\n private updateShowMoreValue(value: number) {\n this.numberOfCollapsedBreadcrumbs = value;\n if (value === 0) {\n this.hide(this.showMore);\n return;\n }\n\n this.show(this.showMore);\n this.showMore.textContent = `+ ${value.toLocaleString(\n this.bindings.i18n.language\n )}`;\n\n this.showMore.setAttribute(\n 'aria-label',\n this.bindings.i18n.t('show-n-more-filters', {\n value,\n })\n );\n }\n\n private get facetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.facetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .filter(({facetId}) => this.bindings.store.state.facets[facetId])\n .map(({value, facetId, field}) => ({\n facetId,\n label: this.bindings.store.state.facets[facetId]?.label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get categoryFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.categoryFacetBreadcrumbs.map(\n ({facetId, field, path, deselect}) => ({\n facetId,\n label: this.bindings.store.state.categoryFacets[facetId].label(),\n deselect: deselect,\n formattedValue: path.map((pathValue) =>\n getFieldValueCaption(field, pathValue.value, this.bindings.i18n)\n ),\n })\n );\n }\n\n private get numericFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.numericFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.numericFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.numericFacets[facetId].format(value.value),\n ],\n content: this.bindings.store.state.numericFacets[facetId].content?.(\n value.value\n ),\n }));\n }\n\n private get dateFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.dateFacetBreadcrumbs\n .map(({facetId, field, values}) =>\n values.map((value) => ({value, facetId, field}))\n )\n .flat()\n .map(({value, facetId}) => ({\n facetId,\n label: this.bindings.store.state.dateFacets[facetId].label(),\n state: value.value.state,\n deselect: value.deselect,\n formattedValue: [\n this.bindings.store.state.dateFacets[facetId].format(value.value),\n ],\n }));\n }\n\n private get automaticFacetBreadcrumbs(): BreadboxBreadcrumb[] {\n return this.breadcrumbManagerState.automaticFacetBreadcrumbs\n .flatMap(({facetId, field, label, values}) =>\n values.map((value) => ({value, facetId, field, label}))\n )\n .map(({value, facetId, field, label}) => ({\n facetId,\n state: value.value.state,\n label: label ? label : field,\n deselect: value.deselect,\n formattedValue: [\n getFieldValueCaption(field, value.value.value, this.bindings.i18n),\n ],\n }));\n }\n\n private get allBreadcrumbs(): BreadboxBreadcrumb[] {\n return [\n ...this.facetBreadcrumbs,\n ...this.categoryFacetBreadcrumbs,\n ...this.numericFacetBreadcrumbs,\n ...this.dateFacetBreadcrumbs,\n ...this.automaticFacetBreadcrumbs,\n ];\n }\n\n private renderBreadcrumbs(allBreadcrumbs: BreadboxBreadcrumb[]) {\n const sortedBreadcrumbs = allBreadcrumbs.sort((a, b) => {\n const indexA = this.facetManagerState.facetIds.indexOf(a.facetId);\n const indexB = this.facetManagerState.facetIds.indexOf(b.facetId);\n return indexA - indexB;\n });\n this.numberOfBreadcrumbs = sortedBreadcrumbs.length;\n\n return [\n sortedBreadcrumbs.map((breadcrumb, index) => {\n const isLastBreadcrumb = this.allBreadcrumbs.length === 1;\n return (\n <BreadcrumbButton\n setRef={(ref) => {\n if (this.lastRemovedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbRemovedFocus.setTarget(ref);\n }\n if (this.firstExpandedBreadcrumbIndex === index) {\n this.focusTargets.breadcrumbShowMoreFocus.setTarget(ref);\n }\n }}\n pathLimit={this.pathLimit}\n breadcrumb={breadcrumb}\n onSelectBreadcrumb={() => {\n if (isLastBreadcrumb) {\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n } else if (this.numberOfBreadcrumbs > 1) {\n this.focusTargets.breadcrumbRemovedFocus.focusAfterSearch();\n }\n\n this.lastRemovedBreadcrumbIndex = index;\n breadcrumb.deselect();\n }}\n i18n={this.bindings.i18n}\n >\n <BreadcrumbContent\n pathLimit={this.pathLimit}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n breadcrumb={breadcrumb}\n ></BreadcrumbContent>\n </BreadcrumbButton>\n );\n }),\n ];\n }\n\n public render() {\n const allBreadcrumbs = this.allBreadcrumbs;\n\n if (!allBreadcrumbs.length) {\n return <Hidden></Hidden>;\n }\n\n return (\n <BreadcrumbContainer\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n >\n {this.renderBreadcrumbs(allBreadcrumbs)}\n <BreadcrumbShowMore\n setRef={(el) => {\n this.showMore = el;\n }}\n onShowMore={() => {\n this.firstExpandedBreadcrumbIndex =\n this.numberOfBreadcrumbs - this.numberOfCollapsedBreadcrumbs;\n this.focusTargets.breadcrumbShowMoreFocus.focusOnNextTarget();\n this.isCollapsed = false;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n numberOfCollapsedBreadcrumbs={this.numberOfCollapsedBreadcrumbs}\n ></BreadcrumbShowMore>\n <BreadcrumbShowLess\n setRef={(el) => {\n this.showLess = el;\n }}\n onShowLess={() => {\n this.focusTargets.breadcrumbShowLessFocus.focusOnNextTarget();\n this.isCollapsed = true;\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbShowLess>\n <BreadcrumbClearAll\n setRef={() => {\n const isFocusTarget =\n this.lastRemovedBreadcrumbIndex === this.numberOfBreadcrumbs;\n\n isFocusTarget\n ? this.focusTargets.breadcrumbRemovedFocus.setTarget\n : undefined;\n }}\n onClick={async () => {\n this.breadcrumbManager.deselectAll();\n this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();\n }}\n isCollapsed={this.isCollapsed}\n i18n={this.bindings.i18n}\n ></BreadcrumbClearAll>\n </BreadcrumbContainer>\n );\n }\n\n public componentDidRender() {\n this.adaptBreadcrumbs();\n }\n}\n"],"version":3}
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../../types/components";
2
+
3
+ interface AtomicCommerceBreadbox extends Components.AtomicCommerceBreadbox, HTMLElement {}
4
+ export const AtomicCommerceBreadbox: {
5
+ prototype: AtomicCommerceBreadbox;
6
+ new (): AtomicCommerceBreadbox;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,295 @@
1
+ import { proxyCustomElement, HTMLElement, h } from '@stencil/core/internal/client';
2
+ import { Schema, NumberValue } from '@coveo/bueno';
3
+ import { buildProductListing, buildSearch, buildContext } from '@coveo/headless/commerce';
4
+ import { p as parseDate } from './date-utils.js';
5
+ import { g as getFieldValueCaption } from './field-utils.js';
6
+ import { I as InitializeBindings, B as BindStateToController, H as Hidden } from './initialization-utils.js';
7
+ import { F as FocusTargetController } from './stencil-accessibility-utils.js';
8
+ import { B as BreadcrumbButton, a as BreadcrumbContent, b as BreadcrumbContainer, c as BreadcrumbShowMore, d as BreadcrumbShowLess, e as BreadcrumbClearAll } from './stencil-breadcrumb-show-more.js';
9
+ import { f as formatHumanReadable } from './formatter.js';
10
+ import { d as defaultCurrencyFormatter, a as defaultNumberFormatter } from './format-common.js';
11
+
12
+ const atomicCommerceBreadboxCss = "/*! 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.icon-active {\n color: var(--atomic-rating-icon-active-color, #f6ce3c);\n}\n.icon-inactive {\n color: var(--atomic-rating-icon-inactive-color, var(--atomic-neutral));\n}\n.icon-active svg path, .icon-inactive svg path {\n stroke: var(--atomic-rating-icon-outline);\n}\n.max-w-snippet {\n max-width: 30ch;\n}\n[part='breadcrumb-label'].excluded,\n[part='breadcrumb-value'].excluded {\n text-decoration: line-through;\n color: var(--atomic-error);\n}\n[part='breadcrumb-value']::before {\n content: '\\00a0';\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";
13
+ const AtomicCommerceBreadboxStyle0 = atomicCommerceBreadboxCss;
14
+
15
+ var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
16
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
17
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
18
+ r = Reflect.decorate(decorators, target, key, desc);
19
+ else
20
+ for (var i = decorators.length - 1; i >= 0; i--)
21
+ if (d = decorators[i])
22
+ r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
23
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
24
+ };
25
+ const AtomicCommerceBreadbox$1 = /*@__PURE__*/ proxyCustomElement(class AtomicCommerceBreadbox extends HTMLElement {
26
+ constructor() {
27
+ super();
28
+ this.__registerHost();
29
+ this.__attachShadow();
30
+ this.lastRemovedBreadcrumbIndex = 0;
31
+ this.numberOfBreadcrumbs = 0;
32
+ this.numberOfCollapsedBreadcrumbs = 0;
33
+ this.isCollapsed = true;
34
+ /**
35
+ * This prop allows you to control the display depth
36
+ * of the path by specifying the number of parent or ancestor
37
+ * breadcrumbs links relative to the currently selected value.
38
+ *
39
+ * If the path size is equal to or less than the pathLimit, all values in
40
+ * the path will be displayed without truncation.
41
+ *
42
+ * If the path size exceeds the pathLimit, it will truncate the path by
43
+ * replacing the middle values with ellipses ('...').
44
+ *
45
+ * Minimum: `1`
46
+ * @defaultValue `3`
47
+ */
48
+ this.pathLimit = 3;
49
+ this.valueForFacetType = (type, field, value) => {
50
+ switch (type) {
51
+ case 'numericalRange':
52
+ return [
53
+ formatHumanReadable({
54
+ facetValue: value.value,
55
+ logger: this.bindings.engine.logger,
56
+ i18n: this.bindings.i18n,
57
+ field: field,
58
+ manualRanges: [],
59
+ formatter: this.getNumberFormatter(field),
60
+ }),
61
+ ];
62
+ case 'dateRange':
63
+ return [
64
+ this.bindings.i18n.t('to', {
65
+ start: parseDate(value.value.start).format('YYYY-MM-DD'),
66
+ end: parseDate(value.value.end).format('YYYY-MM-DD'),
67
+ }),
68
+ ];
69
+ case 'hierarchical':
70
+ return value.value.path.map((pathValue) => getFieldValueCaption(field, pathValue, this.bindings.i18n));
71
+ case 'regular':
72
+ return [
73
+ getFieldValueCaption(field, value.value.value, this.bindings.i18n),
74
+ ];
75
+ default: {
76
+ // TODO COMHUB-291 support location breadcrumb
77
+ this.bindings.engine.logger.warn('Unexpected breadcrumb type.');
78
+ return [];
79
+ }
80
+ }
81
+ };
82
+ this.breadcrumbManagerState = undefined;
83
+ this.error = undefined;
84
+ this.isCollapsed = true;
85
+ this.pathLimit = 3;
86
+ }
87
+ initialize() {
88
+ this.validateProps();
89
+ if (this.bindings.interfaceElement.type === 'product-listing') {
90
+ this.searchOrListing = buildProductListing(this.bindings.engine);
91
+ }
92
+ else {
93
+ this.searchOrListing = buildSearch(this.bindings.engine);
94
+ }
95
+ this.context = buildContext(this.bindings.engine);
96
+ this.breadcrumbManager = this.searchOrListing.breadcrumbManager();
97
+ if (window.ResizeObserver) {
98
+ this.resizeObserver = new ResizeObserver(() => this.adaptBreadcrumbs());
99
+ this.resizeObserver.observe(this.host.parentElement);
100
+ }
101
+ }
102
+ validateProps() {
103
+ new Schema({
104
+ pathLimit: new NumberValue({
105
+ default: 3,
106
+ min: 1,
107
+ required: false,
108
+ }),
109
+ }).validate({
110
+ pathLimit: this.pathLimit,
111
+ });
112
+ }
113
+ disconnectedCallback() {
114
+ this.resizeObserver?.disconnect();
115
+ }
116
+ get focusTargets() {
117
+ if (!this.breadcrumbRemovedFocus) {
118
+ this.breadcrumbRemovedFocus = new FocusTargetController(this);
119
+ }
120
+ if (!this.breadcrumbShowLessFocus) {
121
+ this.breadcrumbShowLessFocus = new FocusTargetController(this);
122
+ }
123
+ if (!this.breadcrumbShowMoreFocus) {
124
+ this.breadcrumbShowMoreFocus = new FocusTargetController(this);
125
+ }
126
+ return {
127
+ breadcrumbRemovedFocus: this.breadcrumbRemovedFocus,
128
+ breadcrumbShowLessFocus: this.breadcrumbShowLessFocus,
129
+ breadcrumbShowMoreFocus: this.breadcrumbShowMoreFocus,
130
+ };
131
+ }
132
+ get breadcrumbs() {
133
+ return Array.from(this.host.shadowRoot.querySelectorAll('li.breadcrumb'));
134
+ }
135
+ hide(element) {
136
+ element.style.display = 'none';
137
+ }
138
+ show(element) {
139
+ element.style.display = '';
140
+ }
141
+ showAllBreadcrumbs() {
142
+ this.breadcrumbs.forEach((breadcrumb) => this.show(breadcrumb));
143
+ }
144
+ hideOverflowingBreadcrumbs() {
145
+ let hiddenBreadcrumbs = 0;
146
+ for (let i = this.breadcrumbs.length - 1; this.isOverflowing && i >= 0; i--) {
147
+ this.hide(this.breadcrumbs[i]);
148
+ hiddenBreadcrumbs++;
149
+ }
150
+ this.updateShowMoreValue(hiddenBreadcrumbs);
151
+ }
152
+ updateShowLessDisplay() {
153
+ this.show(this.showLess);
154
+ if (this.showLess.offsetTop === 0) {
155
+ this.hide(this.showLess);
156
+ }
157
+ }
158
+ adaptBreadcrumbs() {
159
+ if (!this.breadcrumbs.length) {
160
+ return;
161
+ }
162
+ this.showAllBreadcrumbs();
163
+ if (!this.isCollapsed) {
164
+ this.updateShowLessDisplay();
165
+ return;
166
+ }
167
+ this.updateShowMoreValue(this.breadcrumbs.length);
168
+ this.hideOverflowingBreadcrumbs();
169
+ }
170
+ get isOverflowing() {
171
+ const listElement = this.host.shadowRoot.querySelector('ul');
172
+ if (!listElement) {
173
+ return false;
174
+ }
175
+ return listElement.scrollWidth > listElement.clientWidth;
176
+ }
177
+ updateShowMoreValue(value) {
178
+ this.numberOfCollapsedBreadcrumbs = value;
179
+ if (value === 0) {
180
+ this.hide(this.showMore);
181
+ return;
182
+ }
183
+ this.show(this.showMore);
184
+ this.showMore.textContent = `+ ${value.toLocaleString(this.bindings.i18n.language)}`;
185
+ this.showMore.setAttribute('aria-label', this.bindings.i18n.t('show-n-more-filters', {
186
+ value,
187
+ }));
188
+ }
189
+ getNumberFormatter(field) {
190
+ if (field === 'ec_price' || field === 'ec_promo_price') {
191
+ return defaultCurrencyFormatter(this.contextState.currency);
192
+ }
193
+ return defaultNumberFormatter;
194
+ }
195
+ buildBreadcrumb(breadcrumb) {
196
+ return breadcrumb.values.map((value) => {
197
+ return {
198
+ facetId: breadcrumb.facetId,
199
+ label: breadcrumb.facetDisplayName,
200
+ deselect: value.deselect,
201
+ formattedValue: this.valueForFacetType(breadcrumb.type, breadcrumb.facetId, value),
202
+ };
203
+ });
204
+ }
205
+ renderBreadcrumbs(breadcrumbs) {
206
+ this.numberOfBreadcrumbs = breadcrumbs.length;
207
+ return breadcrumbs.map((breadcrumb, index) => {
208
+ const isLastBreadcrumb = breadcrumbs.length === 1;
209
+ return (h(BreadcrumbButton, { setRef: (ref) => {
210
+ if (this.lastRemovedBreadcrumbIndex === index) {
211
+ this.focusTargets.breadcrumbRemovedFocus.setTarget(ref);
212
+ }
213
+ if (this.firstExpandedBreadcrumbIndex === index) {
214
+ this.focusTargets.breadcrumbShowMoreFocus.setTarget(ref);
215
+ }
216
+ }, pathLimit: this.pathLimit, breadcrumb: breadcrumb, onSelectBreadcrumb: () => {
217
+ if (isLastBreadcrumb) {
218
+ this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();
219
+ }
220
+ else if (this.numberOfBreadcrumbs > 1) {
221
+ this.focusTargets.breadcrumbRemovedFocus.focusAfterSearch();
222
+ }
223
+ this.lastRemovedBreadcrumbIndex = index;
224
+ breadcrumb.deselect();
225
+ }, i18n: this.bindings.i18n }, h(BreadcrumbContent, { pathLimit: this.pathLimit, isCollapsed: this.isCollapsed, i18n: this.bindings.i18n, breadcrumb: breadcrumb })));
226
+ });
227
+ }
228
+ render() {
229
+ const breadcrumbs = this.breadcrumbManagerState.facetBreadcrumbs
230
+ .map((breadcrumb) => {
231
+ return this.buildBreadcrumb(breadcrumb);
232
+ })
233
+ .flat();
234
+ if (!breadcrumbs.length) {
235
+ return h(Hidden, null);
236
+ }
237
+ return (h(BreadcrumbContainer, { isCollapsed: this.isCollapsed, i18n: this.bindings.i18n }, this.renderBreadcrumbs(breadcrumbs), h(BreadcrumbShowMore, { setRef: (el) => {
238
+ this.focusTargets.breadcrumbShowLessFocus.setTarget(el);
239
+ this.showMore = el;
240
+ }, onShowMore: () => {
241
+ this.firstExpandedBreadcrumbIndex =
242
+ this.numberOfBreadcrumbs - this.numberOfCollapsedBreadcrumbs;
243
+ this.focusTargets.breadcrumbShowMoreFocus.focusOnNextTarget();
244
+ this.isCollapsed = false;
245
+ }, isCollapsed: this.isCollapsed, i18n: this.bindings.i18n, numberOfCollapsedBreadcrumbs: this.numberOfCollapsedBreadcrumbs }), h(BreadcrumbShowLess, { setRef: (el) => {
246
+ this.showLess = el;
247
+ }, onShowLess: () => {
248
+ this.focusTargets.breadcrumbShowLessFocus.focusOnNextTarget();
249
+ this.isCollapsed = true;
250
+ }, isCollapsed: this.isCollapsed, i18n: this.bindings.i18n }), h(BreadcrumbClearAll, { setRef: () => {
251
+ }, onClick: async () => {
252
+ this.breadcrumbManager.deselectAll();
253
+ this.bindings.store.state.resultList?.focusOnFirstResultAfterNextSearch();
254
+ }, isCollapsed: this.isCollapsed, i18n: this.bindings.i18n })));
255
+ }
256
+ componentDidRender() {
257
+ this.adaptBreadcrumbs();
258
+ }
259
+ get host() { return this; }
260
+ static get style() { return AtomicCommerceBreadboxStyle0; }
261
+ }, [1, "atomic-commerce-breadbox", {
262
+ "pathLimit": [2, "path-limit"],
263
+ "breadcrumbManagerState": [32],
264
+ "error": [32],
265
+ "isCollapsed": [32]
266
+ }]);
267
+ __decorate([
268
+ InitializeBindings()
269
+ ], AtomicCommerceBreadbox$1.prototype, "bindings", void 0);
270
+ __decorate([
271
+ BindStateToController('context')
272
+ ], AtomicCommerceBreadbox$1.prototype, "contextState", void 0);
273
+ __decorate([
274
+ BindStateToController('breadcrumbManager')
275
+ ], AtomicCommerceBreadbox$1.prototype, "breadcrumbManagerState", void 0);
276
+ function defineCustomElement$1() {
277
+ if (typeof customElements === "undefined") {
278
+ return;
279
+ }
280
+ const components = ["atomic-commerce-breadbox"];
281
+ components.forEach(tagName => { switch (tagName) {
282
+ case "atomic-commerce-breadbox":
283
+ if (!customElements.get(tagName)) {
284
+ customElements.define(tagName, AtomicCommerceBreadbox$1);
285
+ }
286
+ break;
287
+ } });
288
+ }
289
+
290
+ const AtomicCommerceBreadbox = AtomicCommerceBreadbox$1;
291
+ const defineCustomElement = defineCustomElement$1;
292
+
293
+ export { AtomicCommerceBreadbox, defineCustomElement };
294
+
295
+ //# sourceMappingURL=atomic-commerce-breadbox.js.map