@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.
- package/dist/atomic/_atomic.esm.js +1 -1
- package/dist/atomic/atomic.esm.js.map +1 -1
- package/dist/atomic/components/_index.d.ts +2 -0
- package/dist/atomic/components/_index.js +1 -0
- package/dist/atomic/components/atomic-breadbox.js +2 -91
- package/dist/atomic/components/atomic-breadbox.js.map +1 -1
- package/dist/atomic/components/atomic-commerce-breadbox.d.ts +11 -0
- package/dist/atomic/components/atomic-commerce-breadbox.js +295 -0
- package/dist/atomic/components/atomic-commerce-breadbox.js.map +1 -0
- package/dist/atomic/components/atomic-commerce-load-more-products.js +2 -5
- package/dist/atomic/components/atomic-commerce-load-more-products.js.map +1 -1
- package/dist/atomic/components/atomic-commerce-numeric-facet2.js +1 -1
- package/dist/atomic/components/atomic-commerce-query-error.js +2 -2
- package/dist/atomic/components/atomic-commerce-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-commerce-recommendation-interface.js +2 -1
- package/dist/atomic/components/atomic-commerce-recommendation-interface.js.map +1 -1
- package/dist/atomic/components/atomic-commerce-refine-toggle.js +2 -2
- package/dist/atomic/components/atomic-commerce-refine-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-format-currency.js +1 -1
- package/dist/atomic/components/atomic-format-number.js +1 -1
- package/dist/atomic/components/atomic-format-unit.js +1 -1
- package/dist/atomic/components/atomic-insight-numeric-facet.js +3 -2
- package/dist/atomic/components/atomic-insight-numeric-facet.js.map +1 -1
- package/dist/atomic/components/atomic-insight-query-error.js +2 -2
- package/dist/atomic/components/atomic-insight-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-load-more-results.js +2 -5
- package/dist/atomic/components/atomic-load-more-results.js.map +1 -1
- package/dist/atomic/components/atomic-numeric-facet.js +3 -2
- package/dist/atomic/components/atomic-numeric-facet.js.map +1 -1
- package/dist/atomic/components/atomic-product-numeric-field-value.js +1 -1
- package/dist/atomic/components/atomic-query-error.js +2 -2
- package/dist/atomic/components/atomic-query-error.js.map +1 -1
- package/dist/atomic/components/atomic-recs-error.js +2 -2
- package/dist/atomic/components/atomic-recs-error.js.map +1 -1
- package/dist/atomic/components/atomic-refine-toggle.js +2 -2
- package/dist/atomic/components/atomic-refine-toggle.js.map +1 -1
- package/dist/atomic/components/atomic-result-number.js +1 -1
- package/dist/atomic/components/components/commerce/atomic-commerce-interface/atomic-commerce-interface.js +11 -0
- package/dist/atomic/components/components/commerce/index.js +0 -1
- package/dist/atomic/components/components/commerce/lazy-index.js +0 -1
- package/dist/atomic/components/components/common/item-list/item-list-common.js +0 -3
- package/dist/atomic/components/decorators/light-dom.js +0 -16
- package/dist/atomic/components/format-common.js +1 -1
- package/dist/atomic/components/{components/common/facets/numeric-facet/formatter.js → formatter.js} +8 -3
- package/dist/atomic/components/formatter.js.map +1 -0
- package/dist/atomic/components/global/environment.js +1 -1
- package/dist/atomic/components/index.js.map +1 -1
- package/dist/atomic/components/interface-common-stencil.js +1 -1
- package/dist/atomic/components/stencil-accessibility-utils.js +4 -14
- package/dist/atomic/components/stencil-accessibility-utils.js.map +1 -1
- package/dist/atomic/components/stencil-breadcrumb-show-more.js +95 -0
- package/dist/atomic/components/stencil-breadcrumb-show-more.js.map +1 -0
- package/dist/atomic/components/{stencil-guard.js → stencil-button2.js} +5 -5
- package/dist/atomic/components/stencil-button2.js.map +1 -0
- package/dist/atomic/components/stencil-item-list-common.js +0 -3
- package/dist/atomic/components/stencil-item-list-common.js.map +1 -1
- package/dist/atomic/components/{stencil-link.js → title.js} +56 -56
- package/dist/atomic/components/title.js.map +1 -0
- package/dist/atomic/components/utils/accessibility-utils.js +4 -14
- package/dist/atomic/components/values-container.js +2 -26
- package/dist/atomic/components/values-container.js.map +1 -1
- package/dist/atomic/{p-af8999b1.entry.js → p-02996f86.entry.js} +2 -2
- package/dist/atomic/{p-a15f6b8c.entry.js → p-02b28870.entry.js} +2 -2
- package/dist/atomic/{p-59017e0a.entry.js → p-02ff6630.entry.js} +2 -2
- package/dist/atomic/{p-e961a0cc.entry.js → p-040d11cd.entry.js} +2 -2
- package/dist/atomic/{p-bc77fab7.entry.js → p-0bfe403b.entry.js} +2 -2
- package/dist/atomic/{p-b2d57b15.entry.js → p-0cc48eee.entry.js} +2 -2
- package/dist/atomic/p-0cc48eee.entry.js.map +1 -0
- package/dist/atomic/{p-ec03a238.entry.js → p-0f925e7b.entry.js} +2 -2
- package/dist/atomic/{p-51810027.entry.js → p-14a2646c.entry.js} +2 -2
- package/dist/atomic/p-14a2646c.entry.js.map +1 -0
- package/dist/atomic/{p-c74c1b41.entry.js → p-1566803a.entry.js} +2 -2
- package/dist/atomic/p-1566803a.entry.js.map +1 -0
- package/dist/atomic/{p-6d264c97.entry.js → p-1b75ca01.entry.js} +2 -2
- package/dist/atomic/{p-6c5524dc.entry.js → p-1dd886f0.entry.js} +2 -2
- package/dist/atomic/p-248089a0.js +2 -0
- package/dist/atomic/p-248089a0.js.map +1 -0
- package/dist/atomic/{p-ceadf1e3.entry.js → p-25dcb619.entry.js} +2 -2
- package/dist/atomic/{p-310c93bc.entry.js → p-2fb8ceed.entry.js} +2 -2
- package/dist/atomic/p-35d06c55.entry.js +2 -0
- package/dist/atomic/{p-f96655f4.entry.js.map → p-35d06c55.entry.js.map} +1 -1
- package/dist/atomic/{p-4e57cee1.entry.js → p-3a2d55e0.entry.js} +2 -2
- package/dist/atomic/p-428f3e7d.js +2 -0
- package/dist/atomic/{p-ccff6c87.entry.js → p-4294c5fe.entry.js} +2 -2
- package/dist/atomic/{p-d5c308fc.entry.js → p-4c0c78f8.entry.js} +2 -2
- package/dist/atomic/{p-963a3e18.entry.js → p-4d2fc026.entry.js} +2 -2
- package/dist/atomic/{p-bad08ec3.entry.js → p-5b9957c5.entry.js} +2 -2
- package/dist/atomic/{p-d72e52b2.entry.js → p-5d7c5154.entry.js} +2 -2
- package/dist/atomic/p-6058008a.js +2 -0
- package/dist/atomic/p-6058008a.js.map +1 -0
- package/dist/atomic/{p-b0be7782.entry.js → p-6a66eae4.entry.js} +2 -2
- package/dist/atomic/{p-07cd7e4a.entry.js → p-6b1ae398.entry.js} +2 -2
- package/dist/atomic/{p-39447826.entry.js → p-6ef0e47a.entry.js} +2 -2
- package/dist/atomic/p-725183ba.js +2 -0
- package/dist/atomic/p-725183ba.js.map +1 -0
- package/dist/atomic/{p-9a161d8f.entry.js → p-73d43334.entry.js} +2 -2
- package/dist/atomic/{p-c2f0ca36.js → p-7b4f6ed6.js} +2 -2
- package/dist/atomic/p-7f0593a5.js +2 -0
- package/dist/atomic/p-7f0593a5.js.map +1 -0
- package/dist/atomic/{p-da578608.entry.js → p-80ae9ccd.entry.js} +2 -2
- package/dist/atomic/{p-75d11764.entry.js → p-815a7f06.entry.js} +2 -2
- package/dist/atomic/p-815a7f06.entry.js.map +1 -0
- package/dist/atomic/{p-81874146.entry.js → p-83b3960c.entry.js} +2 -2
- package/dist/atomic/{p-c7971a2e.entry.js → p-867e6957.entry.js} +2 -2
- package/dist/atomic/p-867e6957.entry.js.map +1 -0
- package/dist/atomic/{p-4af746a9.entry.js → p-8846dc8f.entry.js} +2 -2
- package/dist/atomic/{p-c12abafc.entry.js → p-8c23589b.entry.js} +2 -2
- package/dist/atomic/p-8c23589b.entry.js.map +1 -0
- package/dist/atomic/{p-7dd55462.entry.js → p-8f2b0293.entry.js} +2 -2
- package/dist/atomic/{p-35400329.entry.js → p-95413559.entry.js} +2 -2
- package/dist/atomic/p-985d0ef5.js +2 -0
- package/dist/atomic/p-985d0ef5.js.map +1 -0
- package/dist/atomic/{p-c265c67d.entry.js → p-a34bdd94.entry.js} +2 -2
- package/dist/atomic/p-a34bdd94.entry.js.map +1 -0
- package/dist/atomic/p-a54ccae7.entry.js +2 -0
- package/dist/atomic/p-a54ccae7.entry.js.map +1 -0
- package/dist/atomic/p-ae07068c.js +2 -0
- package/dist/atomic/p-ae07068c.js.map +1 -0
- package/dist/atomic/{p-1243448d.entry.js → p-b5995e6b.entry.js} +2 -2
- package/dist/atomic/p-b5b86e05.entry.js +2 -0
- package/dist/atomic/{p-bd109981.entry.js.map → p-b5b86e05.entry.js.map} +1 -1
- package/dist/atomic/p-b5d5c5cf.js +2 -0
- package/dist/atomic/p-b5d5c5cf.js.map +1 -0
- package/dist/atomic/{p-231c8300.entry.js → p-c0e280d2.entry.js} +2 -2
- package/dist/atomic/{p-bb5c19a7.entry.js → p-c8e6b14a.entry.js} +2 -2
- package/dist/atomic/{p-e36f1951.entry.js → p-cb3cbcc4.entry.js} +2 -2
- package/dist/atomic/{p-cf12adcd.entry.js → p-cbb3cf8d.entry.js} +2 -2
- package/dist/atomic/p-d15a44cc.entry.js +2 -0
- package/dist/atomic/p-d15a44cc.entry.js.map +1 -0
- package/dist/atomic/{p-905c59a8.entry.js → p-d1e0ba89.entry.js} +2 -2
- package/dist/atomic/p-d1e0ba89.entry.js.map +1 -0
- package/dist/atomic/{p-5cf5bb98.entry.js → p-d2da75a3.entry.js} +2 -2
- package/dist/atomic/p-d509f930.entry.js +2 -0
- package/dist/atomic/{p-891f0c50.entry.js.map → p-d509f930.entry.js.map} +1 -1
- package/dist/atomic/{p-bd0aa08f.entry.js → p-d5d1af9b.entry.js} +2 -2
- package/dist/atomic/{p-22fb593a.entry.js → p-d69d6868.entry.js} +2 -2
- package/dist/atomic/{p-88bbf499.entry.js → p-d6b5512a.entry.js} +2 -2
- package/dist/atomic/{p-6d083c4e.entry.js → p-d7727baa.entry.js} +2 -2
- package/dist/atomic/{p-a535a268.entry.js → p-d9e69834.entry.js} +2 -2
- package/dist/atomic/{p-5158370c.entry.js → p-dc2b29f1.entry.js} +2 -2
- package/dist/atomic/{p-5158370c.entry.js.map → p-dc2b29f1.entry.js.map} +1 -1
- package/dist/atomic/{p-7d1ca26f.entry.js → p-e68c18db.entry.js} +2 -2
- package/dist/atomic/{p-57f53200.entry.js → p-e6b33bc5.entry.js} +2 -2
- package/dist/atomic/{p-1c06ca0c.entry.js → p-e7a06049.entry.js} +2 -2
- package/dist/atomic/{p-25a96534.js → p-f3c1c9a0.js} +2 -2
- package/dist/atomic/{p-79e1bcc1.entry.js → p-f9e2e064.entry.js} +2 -2
- package/dist/atomic/{p-3e5a304a.entry.js → p-fe10e968.entry.js} +2 -2
- package/dist/cjs/_loader.cjs.js +1 -1
- package/dist/cjs/{analytics-config-e809a27c.js → analytics-config-2cd2f5cd.js} +2 -2
- package/dist/cjs/{analytics-config-e809a27c.js.map → analytics-config-2cd2f5cd.js.map} +1 -1
- package/dist/cjs/atomic-automatic-facet_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-breadbox.cjs.entry.js +9 -96
- package/dist/cjs/atomic-breadbox.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-category-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-color-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-commerce-breadbox.cjs.entry.js +288 -0
- package/dist/cjs/atomic-commerce-breadbox.cjs.entry.js.map +1 -0
- package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js +3 -2
- package/dist/cjs/atomic-commerce-category-facet_5.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-commerce-load-more-products.cjs.entry.js +2 -5
- package/dist/cjs/atomic-commerce-load-more-products.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-commerce-no-products.cjs.entry.js +1 -1
- package/dist/cjs/atomic-commerce-query-error.cjs.entry.js +4 -4
- package/dist/cjs/atomic-commerce-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js +3 -2
- package/dist/cjs/atomic-commerce-recommendation-interface.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-commerce-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-focus-trap_2.cjs.entry.js +1 -1
- package/dist/cjs/atomic-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-generated-answer.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-folded-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-generated-answer.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js +5 -4
- package/dist/cjs/atomic-insight-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js +4 -4
- package/dist/cjs/atomic-insight-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-insight-query-summary.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-result-quickview-action.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-insight-search-box.cjs.entry.js +1 -1
- package/dist/cjs/atomic-insight-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-ipx-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-load-more-results.cjs.entry.js +2 -5
- package/dist/cjs/atomic-load-more-results.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-no-results.cjs.entry.js +1 -1
- package/dist/cjs/atomic-notifications.cjs.entry.js +1 -1
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js +5 -4
- package/dist/cjs/atomic-numeric-facet.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-query-error.cjs.entry.js +4 -4
- package/dist/cjs/atomic-query-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-query-summary.cjs.entry.js +1 -1
- package/dist/cjs/atomic-quickview.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-rating-range-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic-recs-error.cjs.entry.js +4 -4
- package/dist/cjs/atomic-recs-error.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-recs-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-recs-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js +2 -2
- package/dist/cjs/atomic-refine-toggle.cjs.entry.js.map +1 -1
- package/dist/cjs/atomic-result-list.cjs.entry.js +2 -2
- package/dist/cjs/atomic-result-printable-uri.cjs.entry.js +1 -1
- package/dist/cjs/atomic-result.cjs.entry.js +2 -2
- package/dist/cjs/atomic-search-box.cjs.entry.js +1 -1
- package/dist/cjs/atomic-search-interface.cjs.entry.js +2 -2
- package/dist/cjs/atomic-timeframe-facet.cjs.entry.js +1 -1
- package/dist/cjs/atomic.cjs.js +1 -1
- package/dist/cjs/formatter-a95ed36b.js +31 -0
- package/dist/cjs/formatter-a95ed36b.js.map +1 -0
- package/dist/cjs/index-757bc886.js +4 -0
- package/dist/cjs/{interface-common-stencil-106cb624.js → interface-common-stencil-2f491040.js} +2 -2
- package/dist/cjs/{interface-common-stencil-106cb624.js.map → interface-common-stencil-2f491040.js.map} +1 -1
- package/dist/cjs/{stencil-accessibility-utils-a5d1a814.js → stencil-accessibility-utils-7eed7a97.js} +5 -15
- package/dist/cjs/stencil-accessibility-utils-7eed7a97.js.map +1 -0
- package/dist/cjs/stencil-breadcrumb-show-more-072b7726.js +102 -0
- package/dist/cjs/stencil-breadcrumb-show-more-072b7726.js.map +1 -0
- package/dist/cjs/{stencil-guard-caf49888.js → stencil-button-4108a176.js} +5 -5
- package/dist/cjs/stencil-button-4108a176.js.map +1 -0
- package/dist/cjs/{stencil-item-list-common-5a566a7b.js → stencil-item-list-common-3fa0a493.js} +2 -5
- package/dist/cjs/stencil-item-list-common-3fa0a493.js.map +1 -0
- package/dist/cjs/{stencil-link-f3ae19d0.js → title-d7fc3716.js} +56 -56
- package/dist/cjs/title-d7fc3716.js.map +1 -0
- package/dist/cjs/{values-container-7f0fda83.js → values-container-71f8a3aa.js} +3 -28
- package/dist/cjs/values-container-71f8a3aa.js.map +1 -0
- package/dist/cjs/version.cjs.js +2 -2
- package/dist/esm/_loader.js +1 -1
- package/dist/esm/{analytics-config-8e9cd658.js → analytics-config-ef02523b.js} +2 -2
- package/dist/esm/{analytics-config-8e9cd658.js.map → analytics-config-ef02523b.js.map} +1 -1
- package/dist/esm/atomic-automatic-facet_2.entry.js +1 -1
- package/dist/esm/atomic-breadbox.entry.js +5 -92
- package/dist/esm/atomic-breadbox.entry.js.map +1 -1
- package/dist/esm/atomic-category-facet.entry.js +1 -1
- package/dist/esm/atomic-color-facet.entry.js +1 -1
- package/dist/esm/atomic-commerce-breadbox.entry.js +284 -0
- package/dist/esm/atomic-commerce-breadbox.entry.js.map +1 -0
- package/dist/esm/atomic-commerce-category-facet_5.entry.js +4 -3
- package/dist/esm/atomic-commerce-category-facet_5.entry.js.map +1 -1
- package/dist/esm/atomic-commerce-load-more-products.entry.js +2 -5
- package/dist/esm/atomic-commerce-load-more-products.entry.js.map +1 -1
- package/dist/esm/atomic-commerce-no-products.entry.js +1 -1
- package/dist/esm/atomic-commerce-query-error.entry.js +3 -3
- package/dist/esm/atomic-commerce-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-commerce-recommendation-interface.entry.js +3 -2
- package/dist/esm/atomic-commerce-recommendation-interface.entry.js.map +1 -1
- package/dist/esm/atomic-commerce-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-commerce-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-facet.entry.js +1 -1
- package/dist/esm/atomic-focus-trap_2.entry.js +1 -1
- package/dist/esm/atomic-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-format-currency.entry.js +1 -1
- package/dist/esm/atomic-format-number.entry.js +1 -1
- package/dist/esm/atomic-format-unit.entry.js +1 -1
- package/dist/esm/atomic-generated-answer.entry.js +1 -1
- package/dist/esm/atomic-insight-facet.entry.js +1 -1
- package/dist/esm/atomic-insight-folded-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-generated-answer.entry.js +1 -1
- package/dist/esm/atomic-insight-interface.entry.js +2 -2
- package/dist/esm/atomic-insight-no-results.entry.js +1 -1
- package/dist/esm/atomic-insight-numeric-facet.entry.js +5 -4
- package/dist/esm/atomic-insight-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-error.entry.js +3 -3
- package/dist/esm/atomic-insight-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-insight-query-summary.entry.js +1 -1
- package/dist/esm/atomic-insight-result-list.entry.js +2 -2
- package/dist/esm/atomic-insight-result-quickview-action.entry.js +1 -1
- package/dist/esm/atomic-insight-result.entry.js +2 -2
- package/dist/esm/atomic-insight-search-box.entry.js +1 -1
- package/dist/esm/atomic-insight-timeframe-facet.entry.js +1 -1
- package/dist/esm/atomic-ipx-recs-list.entry.js +2 -2
- package/dist/esm/atomic-load-more-results.entry.js +2 -5
- package/dist/esm/atomic-load-more-results.entry.js.map +1 -1
- package/dist/esm/atomic-no-results.entry.js +1 -1
- package/dist/esm/atomic-notifications.entry.js +1 -1
- package/dist/esm/atomic-numeric-facet.entry.js +5 -4
- package/dist/esm/atomic-numeric-facet.entry.js.map +1 -1
- package/dist/esm/atomic-product-numeric-field-value.entry.js +1 -1
- package/dist/esm/atomic-product-price.entry.js +1 -1
- package/dist/esm/atomic-query-error.entry.js +3 -3
- package/dist/esm/atomic-query-error.entry.js.map +1 -1
- package/dist/esm/atomic-query-summary.entry.js +1 -1
- package/dist/esm/atomic-quickview.entry.js +1 -1
- package/dist/esm/atomic-rating-facet.entry.js +1 -1
- package/dist/esm/atomic-rating-range-facet.entry.js +1 -1
- package/dist/esm/atomic-recs-error.entry.js +3 -3
- package/dist/esm/atomic-recs-error.entry.js.map +1 -1
- package/dist/esm/atomic-recs-interface.entry.js +2 -2
- package/dist/esm/atomic-recs-list.entry.js +2 -2
- package/dist/esm/atomic-recs-result.entry.js +2 -2
- package/dist/esm/atomic-refine-toggle.entry.js +2 -2
- package/dist/esm/atomic-refine-toggle.entry.js.map +1 -1
- package/dist/esm/atomic-result-list.entry.js +2 -2
- package/dist/esm/atomic-result-number.entry.js +1 -1
- package/dist/esm/atomic-result-printable-uri.entry.js +1 -1
- package/dist/esm/atomic-result.entry.js +2 -2
- package/dist/esm/atomic-search-box.entry.js +1 -1
- package/dist/esm/atomic-search-interface.entry.js +2 -2
- package/dist/esm/atomic-timeframe-facet.entry.js +1 -1
- package/dist/esm/atomic.js +1 -1
- package/dist/esm/{format-common-274e0f7c.js → format-common-6436d8ea.js} +2 -2
- package/dist/esm/{format-common-274e0f7c.js.map → format-common-6436d8ea.js.map} +1 -1
- package/dist/esm/formatter-d890aa7d.js +29 -0
- package/dist/esm/formatter-d890aa7d.js.map +1 -0
- package/dist/esm/index-3f35faca.js +4 -0
- package/dist/esm/{interface-common-stencil-767b3f0b.js → interface-common-stencil-aa55b3f4.js} +2 -2
- package/dist/esm/{interface-common-stencil-767b3f0b.js.map → interface-common-stencil-aa55b3f4.js.map} +1 -1
- package/dist/esm/{stencil-accessibility-utils-b42ac309.js → stencil-accessibility-utils-49ac1c53.js} +5 -15
- package/dist/esm/stencil-accessibility-utils-49ac1c53.js.map +1 -0
- package/dist/esm/stencil-breadcrumb-show-more-6e6104d4.js +95 -0
- package/dist/esm/stencil-breadcrumb-show-more-6e6104d4.js.map +1 -0
- package/dist/esm/{stencil-guard-9329c8cd.js → stencil-button-467ff352.js} +5 -5
- package/dist/esm/stencil-button-467ff352.js.map +1 -0
- package/dist/esm/{stencil-item-list-common-9e3e9954.js → stencil-item-list-common-8996949d.js} +2 -5
- package/dist/esm/stencil-item-list-common-8996949d.js.map +1 -0
- package/dist/esm/{stencil-link-c0c35f94.js → title-7b773fe0.js} +56 -56
- package/dist/esm/title-7b773fe0.js.map +1 -0
- package/dist/esm/{values-container-51a6d0ae.js → values-container-5c8162d7.js} +3 -27
- package/dist/esm/values-container-5c8162d7.js.map +1 -0
- package/dist/esm/version.js +2 -2
- package/dist/types/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.d.ts +16 -22
- package/dist/types/components/commerce/atomic-commerce-interface/atomic-commerce-interface.d.ts +2 -2
- package/dist/types/components/commerce/index.d.ts +0 -1
- package/dist/types/components/common/interface/bindings.d.ts +0 -6
- package/dist/types/components/common/query-error/description.d.ts +2 -3
- package/dist/types/components/common/query-error/details.d.ts +4 -3
- package/dist/types/components/common/query-error/link.d.ts +2 -2
- package/dist/types/components/common/query-error/show-more.d.ts +1 -1
- package/dist/types/components/common/refine-modal/guard.d.ts +3 -7
- package/dist/types/components/common/sort/sort-guard.d.ts +1 -1
- package/dist/types/components.d.ts +39 -0
- package/dist/types/decorators/light-dom.d.ts +0 -16
- package/dist/types/utils/accessibility-utils.d.ts +1 -4
- package/dist/types/utils/stencil-accessibility-utils.d.ts +1 -4
- package/docs/atomic-docs.json +145 -6
- package/package.json +5 -5
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.js +0 -347
- package/dist/atomic/components/components/commerce/atomic-commerce-breadbox/atomic-commerce-breadbox.tw.css.js +0 -3
- package/dist/atomic/components/components/common/breadbox/breadcrumb-button.js +0 -29
- package/dist/atomic/components/components/common/breadbox/breadcrumb-clear-all.js +0 -18
- package/dist/atomic/components/components/common/breadbox/breadcrumb-container.js +0 -21
- package/dist/atomic/components/components/common/breadbox/breadcrumb-content.js +0 -42
- package/dist/atomic/components/components/common/breadbox/breadcrumb-show-less.js +0 -21
- package/dist/atomic/components/components/common/breadbox/breadcrumb-show-more.js +0 -23
- package/dist/atomic/components/components/common/breadbox/breadcrumb-types.js +0 -1
- package/dist/atomic/components/components/common/breadbox/breadcrumb-utils.js +0 -22
- package/dist/atomic/components/components/common/formats/format-common.js +0 -15
- package/dist/atomic/components/stencil-guard.js.map +0 -1
- package/dist/atomic/components/stencil-link.js.map +0 -1
- package/dist/atomic/components/utils/date-utils.js +0 -51
- package/dist/atomic/components/utils/field-utils.js +0 -11
- package/dist/atomic/p-0a50a6c2.entry.js +0 -2
- package/dist/atomic/p-0a50a6c2.entry.js.map +0 -1
- package/dist/atomic/p-4bf030d4.js +0 -2
- package/dist/atomic/p-51810027.entry.js.map +0 -1
- package/dist/atomic/p-67afec23.js +0 -2
- package/dist/atomic/p-67afec23.js.map +0 -1
- package/dist/atomic/p-75d11764.entry.js.map +0 -1
- package/dist/atomic/p-891f0c50.entry.js +0 -2
- package/dist/atomic/p-905c59a8.entry.js.map +0 -1
- package/dist/atomic/p-b2d57b15.entry.js.map +0 -1
- package/dist/atomic/p-b55ab145.js +0 -2
- package/dist/atomic/p-b55ab145.js.map +0 -1
- package/dist/atomic/p-bd109981.entry.js +0 -2
- package/dist/atomic/p-c12abafc.entry.js.map +0 -1
- package/dist/atomic/p-c265c67d.entry.js.map +0 -1
- package/dist/atomic/p-c74c1b41.entry.js.map +0 -1
- package/dist/atomic/p-c7971a2e.entry.js.map +0 -1
- package/dist/atomic/p-d178d2f7.js +0 -2
- package/dist/atomic/p-d178d2f7.js.map +0 -1
- package/dist/atomic/p-efb5a30c.js +0 -2
- package/dist/atomic/p-efb5a30c.js.map +0 -1
- package/dist/atomic/p-f0b5b6e1.js +0 -2
- package/dist/atomic/p-f0b5b6e1.js.map +0 -1
- package/dist/atomic/p-f96655f4.entry.js +0 -2
- package/dist/cjs/stencil-accessibility-utils-a5d1a814.js.map +0 -1
- package/dist/cjs/stencil-guard-caf49888.js.map +0 -1
- package/dist/cjs/stencil-item-list-common-5a566a7b.js.map +0 -1
- package/dist/cjs/stencil-link-f3ae19d0.js.map +0 -1
- package/dist/cjs/values-container-7f0fda83.js.map +0 -1
- package/dist/esm/stencil-accessibility-utils-b42ac309.js.map +0 -1
- package/dist/esm/stencil-guard-9329c8cd.js.map +0 -1
- package/dist/esm/stencil-item-list-common-9e3e9954.js.map +0 -1
- package/dist/esm/stencil-link-c0c35f94.js.map +0 -1
- package/dist/esm/values-container-51a6d0ae.js.map +0 -1
- package/dist/types/components/common/query-error/stencil-description.d.ts +0 -10
- package/dist/types/components/common/query-error/stencil-details.d.ts +0 -7
- package/dist/types/components/common/query-error/stencil-link.d.ts +0 -8
- package/dist/types/components/common/refine-modal/stencil-guard.d.ts +0 -8
- /package/dist/atomic/{p-af8999b1.entry.js.map → p-02996f86.entry.js.map} +0 -0
- /package/dist/atomic/{p-a15f6b8c.entry.js.map → p-02b28870.entry.js.map} +0 -0
- /package/dist/atomic/{p-59017e0a.entry.js.map → p-02ff6630.entry.js.map} +0 -0
- /package/dist/atomic/{p-e961a0cc.entry.js.map → p-040d11cd.entry.js.map} +0 -0
- /package/dist/atomic/{p-bc77fab7.entry.js.map → p-0bfe403b.entry.js.map} +0 -0
- /package/dist/atomic/{p-ec03a238.entry.js.map → p-0f925e7b.entry.js.map} +0 -0
- /package/dist/atomic/{p-6d264c97.entry.js.map → p-1b75ca01.entry.js.map} +0 -0
- /package/dist/atomic/{p-6c5524dc.entry.js.map → p-1dd886f0.entry.js.map} +0 -0
- /package/dist/atomic/{p-ceadf1e3.entry.js.map → p-25dcb619.entry.js.map} +0 -0
- /package/dist/atomic/{p-310c93bc.entry.js.map → p-2fb8ceed.entry.js.map} +0 -0
- /package/dist/atomic/{p-4e57cee1.entry.js.map → p-3a2d55e0.entry.js.map} +0 -0
- /package/dist/atomic/{p-4bf030d4.js.map → p-428f3e7d.js.map} +0 -0
- /package/dist/atomic/{p-ccff6c87.entry.js.map → p-4294c5fe.entry.js.map} +0 -0
- /package/dist/atomic/{p-d5c308fc.entry.js.map → p-4c0c78f8.entry.js.map} +0 -0
- /package/dist/atomic/{p-963a3e18.entry.js.map → p-4d2fc026.entry.js.map} +0 -0
- /package/dist/atomic/{p-bad08ec3.entry.js.map → p-5b9957c5.entry.js.map} +0 -0
- /package/dist/atomic/{p-d72e52b2.entry.js.map → p-5d7c5154.entry.js.map} +0 -0
- /package/dist/atomic/{p-b0be7782.entry.js.map → p-6a66eae4.entry.js.map} +0 -0
- /package/dist/atomic/{p-07cd7e4a.entry.js.map → p-6b1ae398.entry.js.map} +0 -0
- /package/dist/atomic/{p-39447826.entry.js.map → p-6ef0e47a.entry.js.map} +0 -0
- /package/dist/atomic/{p-9a161d8f.entry.js.map → p-73d43334.entry.js.map} +0 -0
- /package/dist/atomic/{p-c2f0ca36.js.map → p-7b4f6ed6.js.map} +0 -0
- /package/dist/atomic/{p-da578608.entry.js.map → p-80ae9ccd.entry.js.map} +0 -0
- /package/dist/atomic/{p-81874146.entry.js.map → p-83b3960c.entry.js.map} +0 -0
- /package/dist/atomic/{p-4af746a9.entry.js.map → p-8846dc8f.entry.js.map} +0 -0
- /package/dist/atomic/{p-7dd55462.entry.js.map → p-8f2b0293.entry.js.map} +0 -0
- /package/dist/atomic/{p-35400329.entry.js.map → p-95413559.entry.js.map} +0 -0
- /package/dist/atomic/{p-1243448d.entry.js.map → p-b5995e6b.entry.js.map} +0 -0
- /package/dist/atomic/{p-231c8300.entry.js.map → p-c0e280d2.entry.js.map} +0 -0
- /package/dist/atomic/{p-bb5c19a7.entry.js.map → p-c8e6b14a.entry.js.map} +0 -0
- /package/dist/atomic/{p-e36f1951.entry.js.map → p-cb3cbcc4.entry.js.map} +0 -0
- /package/dist/atomic/{p-cf12adcd.entry.js.map → p-cbb3cf8d.entry.js.map} +0 -0
- /package/dist/atomic/{p-5cf5bb98.entry.js.map → p-d2da75a3.entry.js.map} +0 -0
- /package/dist/atomic/{p-bd0aa08f.entry.js.map → p-d5d1af9b.entry.js.map} +0 -0
- /package/dist/atomic/{p-22fb593a.entry.js.map → p-d69d6868.entry.js.map} +0 -0
- /package/dist/atomic/{p-88bbf499.entry.js.map → p-d6b5512a.entry.js.map} +0 -0
- /package/dist/atomic/{p-6d083c4e.entry.js.map → p-d7727baa.entry.js.map} +0 -0
- /package/dist/atomic/{p-a535a268.entry.js.map → p-d9e69834.entry.js.map} +0 -0
- /package/dist/atomic/{p-7d1ca26f.entry.js.map → p-e68c18db.entry.js.map} +0 -0
- /package/dist/atomic/{p-57f53200.entry.js.map → p-e6b33bc5.entry.js.map} +0 -0
- /package/dist/atomic/{p-1c06ca0c.entry.js.map → p-e7a06049.entry.js.map} +0 -0
- /package/dist/atomic/{p-25a96534.js.map → p-f3c1c9a0.js.map} +0 -0
- /package/dist/atomic/{p-79e1bcc1.entry.js.map → p-f9e2e064.entry.js.map} +0 -0
- /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
|