@swisspost/internet-header 1.5.0-beta.1 → 1.5.0
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/LICENSE +202 -202
- package/dist/cjs/{if.component-313f59b8.js → if.component-51d000af.js} +6 -6
- package/dist/cjs/if.component-51d000af.js.map +1 -0
- package/dist/cjs/{klp-widget.controller-675b23db.js → klp-widget.controller-d8941c4e.js} +15755 -15755
- package/dist/cjs/klp-widget.controller-d8941c4e.js.map +1 -0
- package/dist/cjs/{language.service-a80ae01d.js → language.service-7dbf739d.js} +141 -141
- package/dist/cjs/language.service-7dbf739d.js.map +1 -0
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +33 -33
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +88 -88
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +51 -51
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +226 -226
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +15 -15
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +556 -534
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +41 -41
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/{store-47e14589.js → store-d0d514fc.js} +20 -13
- package/dist/cjs/store-d0d514fc.js.map +1 -0
- package/dist/cjs/{svg-icon.component-10fbda11.js → svg-icon.component-be93f876.js} +2 -2
- package/dist/cjs/svg-icon.component-be93f876.js.map +1 -0
- package/dist/cjs/{svg-sprite.component-c3b454b3.js → svg-sprite.component-1bd7a058.js} +40 -40
- package/dist/cjs/svg-sprite.component-1bd7a058.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +370 -392
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +125 -125
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +608 -608
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/{ui.service-db4a8252.js → ui.service-e1ebb6d4.js} +28 -28
- package/dist/cjs/ui.service-e1ebb6d4.js.map +1 -0
- package/dist/cjs/{utils-b6014257.js → utils-60853c5d.js} +15 -15
- package/dist/cjs/utils-60853c5d.js.map +1 -0
- package/dist/collection/assets/config/test-configuration.json +4067 -4067
- package/dist/collection/assets/i18n/translations.js +38 -38
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/assets/js/klp-login-widget.js +1716 -1716
- package/dist/collection/assets/js/sockjs-client.js +5134 -5134
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +11 -11
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +42 -42
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +8 -8
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +6 -6
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +12 -12
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +253 -253
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +12 -12
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +24 -24
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +6 -6
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +5 -5
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +86 -86
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js +676 -676
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +14 -14
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +67 -67
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +9 -9
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +186 -186
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
- package/dist/collection/components/post-logo/logo-sprite.component.js +4 -4
- package/dist/collection/components/post-logo/logo-sprite.component.js.map +1 -1
- package/dist/collection/components/post-logo/post-logo.js +60 -60
- package/dist/collection/components/post-logo/post-logo.js.map +1 -1
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +13 -13
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +347 -347
- package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +67 -67
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +1 -1
- package/dist/collection/components/post-search/post-search.js +362 -362
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +51 -51
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/data/store.js +11 -11
- package/dist/collection/data/store.js.map +1 -1
- package/dist/collection/index.js +2 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/models/breadcrumbs.model.js +2 -2
- package/dist/collection/models/breadcrumbs.model.js.map +1 -1
- package/dist/collection/models/coveo.model.js +2 -2
- package/dist/collection/models/coveo.model.js.map +1 -1
- package/dist/collection/models/footer.model.js +2 -2
- package/dist/collection/models/footer.model.js.map +1 -1
- package/dist/collection/models/general.model.js +2 -2
- package/dist/collection/models/general.model.js.map +1 -1
- package/dist/collection/models/geocode.model.js +10 -10
- package/dist/collection/models/geocode.model.js.map +1 -1
- package/dist/collection/models/header.model.js +2 -2
- package/dist/collection/models/header.model.js.map +1 -1
- package/dist/collection/models/implementor.model.js +2 -2
- package/dist/collection/models/implementor.model.js.map +1 -1
- package/dist/collection/models/language.model.js +2 -2
- package/dist/collection/models/language.model.js.map +1 -1
- package/dist/collection/models/track-and-trace.model.js +2 -2
- package/dist/collection/models/track-and-trace.model.js.map +1 -1
- package/dist/collection/services/config.service.js +170 -170
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/collection/services/language.service.js +107 -107
- package/dist/collection/services/language.service.js.map +1 -1
- package/dist/collection/services/route.service.js +163 -163
- package/dist/collection/services/route.service.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +34 -34
- package/dist/collection/services/search/coveo.service.js.map +1 -1
- package/dist/collection/services/search/coveo.settings.js +19 -19
- package/dist/collection/services/search/coveo.settings.js.map +1 -1
- package/dist/collection/services/search/parcel.service.js +54 -54
- package/dist/collection/services/search/parcel.service.js.map +1 -1
- package/dist/collection/services/search/places.service.js +95 -95
- package/dist/collection/services/search/places.service.js.map +1 -1
- package/dist/collection/services/search/places.settings.js +16 -16
- package/dist/collection/services/search/places.settings.js.map +1 -1
- package/dist/collection/services/search/search-utilities.js +26 -26
- package/dist/collection/services/search/search-utilities.js.map +1 -1
- package/dist/collection/services/search/search.service.js +42 -42
- package/dist/collection/services/search/search.service.js.map +1 -1
- package/dist/collection/services/ui.service.js +30 -30
- package/dist/collection/services/ui.service.js.map +1 -1
- package/dist/collection/tests/setup-tests.js +14 -14
- package/dist/collection/tests/setup-tests.js.map +1 -1
- package/dist/collection/utils/highlighted.component.js +11 -11
- package/dist/collection/utils/highlighted.component.js.map +1 -1
- package/dist/collection/utils/if.component.js +7 -7
- package/dist/collection/utils/if.component.js.map +1 -1
- package/dist/collection/utils/svg-icon.component.js +3 -3
- package/dist/collection/utils/svg-icon.component.js.map +1 -1
- package/dist/collection/utils/svg-sprite.component.js +3 -3
- package/dist/collection/utils/svg-sprite.component.js.map +1 -1
- package/dist/collection/utils/utils.js +16 -16
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/klp-widget.controller.js +15754 -15754
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +139 -139
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +48 -48
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +102 -102
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +67 -67
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +243 -243
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +32 -32
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +577 -555
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/post-skiplinks2.js +52 -52
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/store.js +19 -12
- package/dist/components/store.js.map +1 -1
- package/dist/components/svg-icon.component.js +1 -1
- package/dist/components/svg-icon.component.js.map +1 -1
- package/dist/components/svg-sprite.component.js +39 -39
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +387 -409
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +140 -140
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +672 -672
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/components/ui.service.js +27 -27
- package/dist/components/ui.service.js.map +1 -1
- package/dist/components/utils.js +14 -14
- package/dist/components/utils.js.map +1 -1
- package/dist/esm/{if.component-542fb8c3.js → if.component-0fe54385.js} +6 -6
- package/dist/esm/if.component-0fe54385.js.map +1 -0
- package/dist/esm/{klp-widget.controller-be1eeb16.js → klp-widget.controller-55366e6a.js} +15755 -15755
- package/dist/esm/klp-widget.controller-55366e6a.js.map +1 -0
- package/dist/esm/{language.service-e49858e0.js → language.service-023d2711.js} +141 -141
- package/dist/esm/language.service-023d2711.js.map +1 -0
- package/dist/esm/post-klp-login-widget.entry.js +33 -33
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +88 -88
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +51 -51
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +226 -226
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +15 -15
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +556 -534
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +41 -41
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/{store-d495dc07.js → store-837c3490.js} +20 -13
- package/dist/esm/store-837c3490.js.map +1 -0
- package/dist/esm/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +2 -2
- package/dist/esm/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +40 -40
- package/dist/esm/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +370 -392
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +125 -125
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +608 -608
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +28 -28
- package/dist/esm/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm/{utils-5bf107ff.js → utils-ee79122f.js} +15 -15
- package/dist/esm/utils-ee79122f.js.map +1 -0
- package/dist/esm-es5/{if.component-542fb8c3.js → if.component-0fe54385.js} +1 -1
- package/dist/esm-es5/if.component-0fe54385.js.map +1 -0
- package/dist/esm-es5/{klp-widget.controller-be1eeb16.js → klp-widget.controller-55366e6a.js} +2 -2
- package/dist/esm-es5/klp-widget.controller-55366e6a.js.map +1 -0
- package/dist/esm-es5/{language.service-e49858e0.js → language.service-023d2711.js} +2 -2
- package/dist/esm-es5/language.service-023d2711.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/store-837c3490.js +2 -0
- package/dist/esm-es5/store-837c3490.js.map +1 -0
- package/dist/esm-es5/{svg-icon.component-1b1b27a2.js → svg-icon.component-e09b4bf9.js} +1 -1
- package/dist/esm-es5/svg-icon.component-e09b4bf9.js.map +1 -0
- package/dist/esm-es5/{svg-sprite.component-ec0ac38c.js → svg-sprite.component-cf60303f.js} +1 -1
- package/dist/esm-es5/svg-sprite.component-cf60303f.js.map +1 -0
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +3 -3
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/{ui.service-1d9b0f51.js → ui.service-2fbc9c45.js} +1 -1
- package/dist/esm-es5/ui.service-2fbc9c45.js.map +1 -0
- package/dist/esm-es5/{utils-5bf107ff.js → utils-ee79122f.js} +1 -1
- package/dist/esm-es5/utils-ee79122f.js.map +1 -0
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +4067 -4067
- package/dist/swisspost-internet-header/p-06649b46.js +2 -0
- package/dist/swisspost-internet-header/p-06649b46.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ec80c8fc.js → p-0942595f.js} +2 -2
- package/dist/swisspost-internet-header/p-0942595f.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c29ec122.system.js → p-0c5624c0.system.js} +1 -1
- package/dist/swisspost-internet-header/p-0c5624c0.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-2eb04045.entry.js → p-0cba8ab4.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-0cba8ab4.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-17a47667.system.js +1 -1
- package/dist/swisspost-internet-header/{p-ddcb8258.entry.js → p-26879023.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-26879023.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-cb3de015.system.entry.js → p-28e6362f.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-28e6362f.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-00fd320e.entry.js → p-322526ef.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-322526ef.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-f4ff1e9e.system.js → p-3753a678.system.js} +2 -2
- package/dist/swisspost-internet-header/p-3753a678.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a9c4b2d0.system.entry.js → p-38d645ba.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-38d645ba.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-4c9ec2d8.system.js → p-42695801.system.js} +2 -2
- package/dist/swisspost-internet-header/p-42695801.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-bdabd6ac.js → p-45db66a6.js} +1 -1
- package/dist/swisspost-internet-header/p-45db66a6.js.map +1 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-493337e1.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-78f653be.system.entry.js → p-5d2fac3b.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-5d2fac3b.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js +2 -0
- package/dist/swisspost-internet-header/p-62c5cf26.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9d0a7039.entry.js → p-64cb215a.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-64cb215a.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a51ad207.system.entry.js → p-66144e99.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-66144e99.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js +7 -0
- package/dist/swisspost-internet-header/p-715ebef7.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-43cbbf42.entry.js → p-77d5e07f.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-77d5e07f.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7ea26ee9.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js +2 -0
- package/dist/swisspost-internet-header/p-7fcba2e7.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-549b62ba.system.js → p-88aac12c.system.js} +1 -1
- package/dist/swisspost-internet-header/p-88aac12c.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-0e2ec555.js → p-8bf099a8.js} +1 -1
- package/dist/swisspost-internet-header/p-8bf099a8.js.map +1 -0
- package/dist/swisspost-internet-header/{p-8717445f.entry.js → p-95b81c4d.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-95b81c4d.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3eb881c3.js → p-a2f9d462.js} +1 -1
- package/dist/swisspost-internet-header/p-a2f9d462.js.map +1 -0
- package/dist/swisspost-internet-header/{p-eeff8b03.js → p-ab1dd269.js} +1 -1
- package/dist/swisspost-internet-header/p-ab1dd269.js.map +1 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b228fe49.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a4160d23.entry.js → p-ccb522ba.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-ccb522ba.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js +6 -0
- package/dist/swisspost-internet-header/p-cfa787d7.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-c946c5b8.system.entry.js → p-d6539597.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-d6539597.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-cb06a633.system.entry.js → p-e2990968.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-e2990968.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-7e653a26.js → p-ed24b372.js} +2 -2
- package/dist/swisspost-internet-header/p-ed24b372.js.map +1 -0
- package/dist/swisspost-internet-header/{p-9509f6c7.system.js → p-edb2802d.system.js} +1 -1
- package/dist/swisspost-internet-header/p-edb2802d.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ee915bbe.system.js → p-ee119d2e.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ee119d2e.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-883f9547.system.entry.js → p-f38f38f4.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-f38f38f4.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-3ba40afe.js → p-f7c0cf7b.js} +1 -1
- package/dist/swisspost-internet-header/p-f7c0cf7b.js.map +1 -0
- package/dist/swisspost-internet-header/{p-4654b2af.system.js → p-ffc59851.system.js} +1 -1
- package/dist/swisspost-internet-header/p-ffc59851.system.js.map +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/assets/i18n/translations.d.ts +37 -37
- package/dist/types/components/post-internet-breadcrumbs/components/breadcrumb-list.component.d.ts +9 -9
- package/dist/types/components/post-internet-breadcrumbs/components/focus-trap.component.d.ts +12 -12
- package/dist/types/components/post-internet-breadcrumbs/components/middle-dropdown.component.d.ts +7 -7
- package/dist/types/components/post-internet-breadcrumbs/components/middle-links.component.d.ts +6 -6
- package/dist/types/components/post-internet-breadcrumbs/components/overlay.component.d.ts +16 -16
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +45 -45
- package/dist/types/components/post-internet-footer/components/post-footer-block-address.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-contact.component.d.ts +6 -6
- package/dist/types/components/post-internet-footer/components/post-footer-block-custom.component.d.ts +4 -4
- package/dist/types/components/post-internet-footer/components/post-footer-block-list.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/components/post-footer-block-socials.component.d.ts +5 -5
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +10 -10
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +124 -124
- package/dist/types/components/post-klp-login-widget/klp-widget.controller.d.ts +3 -3
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +10 -10
- package/dist/types/components/post-language-switch/components/post-language-switch-list.d.ts +6 -6
- package/dist/types/components/post-language-switch/post-language-switch.d.ts +27 -27
- package/dist/types/components/post-logo/logo-sprite.component.d.ts +4 -4
- package/dist/types/components/post-logo/post-logo.d.ts +11 -11
- package/dist/types/components/post-main-navigation/components/level-one-action.component.d.ts +8 -8
- package/dist/types/components/post-main-navigation/post-main-navigation.d.ts +48 -48
- package/dist/types/components/post-meta-navigation/post-meta-navigation.d.ts +5 -5
- package/dist/types/components/post-search/post-search.d.ts +61 -61
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +9 -9
- package/dist/types/data/store.d.ts +16 -16
- package/dist/types/index.d.ts +1 -1
- package/dist/types/models/breadcrumbs.model.d.ts +36 -36
- package/dist/types/models/coveo.model.d.ts +22 -22
- package/dist/types/models/footer.model.d.ts +48 -48
- package/dist/types/models/general.model.d.ts +46 -46
- package/dist/types/models/geocode.model.d.ts +52 -52
- package/dist/types/models/header.model.d.ts +163 -163
- package/dist/types/models/implementor.model.d.ts +22 -22
- package/dist/types/models/language.model.d.ts +6 -6
- package/dist/types/models/track-and-trace.model.d.ts +25 -25
- package/dist/types/services/config.service.d.ts +56 -56
- package/dist/types/services/language.service.d.ts +65 -65
- package/dist/types/services/route.service.d.ts +39 -39
- package/dist/types/services/search/coveo.service.d.ts +9 -9
- package/dist/types/services/search/coveo.settings.d.ts +2 -2
- package/dist/types/services/search/parcel.service.d.ts +28 -28
- package/dist/types/services/search/places.service.d.ts +24 -24
- package/dist/types/services/search/places.settings.d.ts +3 -3
- package/dist/types/services/search/search-utilities.d.ts +15 -15
- package/dist/types/services/search/search.service.d.ts +24 -24
- package/dist/types/services/ui.service.d.ts +23 -23
- package/dist/types/utils/highlighted.component.d.ts +4 -4
- package/dist/types/utils/if.component.d.ts +4 -4
- package/dist/types/utils/svg-icon.component.d.ts +4 -4
- package/dist/types/utils/svg-sprite.component.d.ts +1 -1
- package/dist/types/utils/utils.d.ts +8 -8
- package/package.json +7 -7
- package/readme.md +57 -15
- package/dist/cjs/if.component-313f59b8.js.map +0 -1
- package/dist/cjs/klp-widget.controller-675b23db.js.map +0 -1
- package/dist/cjs/language.service-a80ae01d.js.map +0 -1
- package/dist/cjs/store-47e14589.js.map +0 -1
- package/dist/cjs/svg-icon.component-10fbda11.js.map +0 -1
- package/dist/cjs/svg-sprite.component-c3b454b3.js.map +0 -1
- package/dist/cjs/ui.service-db4a8252.js.map +0 -1
- package/dist/cjs/utils-b6014257.js.map +0 -1
- package/dist/esm/if.component-542fb8c3.js.map +0 -1
- package/dist/esm/klp-widget.controller-be1eeb16.js.map +0 -1
- package/dist/esm/language.service-e49858e0.js.map +0 -1
- package/dist/esm/store-d495dc07.js.map +0 -1
- package/dist/esm/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm/utils-5bf107ff.js.map +0 -1
- package/dist/esm-es5/if.component-542fb8c3.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-be1eeb16.js.map +0 -1
- package/dist/esm-es5/language.service-e49858e0.js.map +0 -1
- package/dist/esm-es5/store-d495dc07.js +0 -2
- package/dist/esm-es5/store-d495dc07.js.map +0 -1
- package/dist/esm-es5/svg-icon.component-1b1b27a2.js.map +0 -1
- package/dist/esm-es5/svg-sprite.component-ec0ac38c.js.map +0 -1
- package/dist/esm-es5/ui.service-1d9b0f51.js.map +0 -1
- package/dist/esm-es5/utils-5bf107ff.js.map +0 -1
- package/dist/swisspost-internet-header/p-00fd320e.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-0e2ec555.js.map +0 -1
- package/dist/swisspost-internet-header/p-1394ee67.entry.js +0 -2
- package/dist/swisspost-internet-header/p-1394ee67.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-26c2842e.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-26c2842e.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-2eb04045.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-3ba40afe.js.map +0 -1
- package/dist/swisspost-internet-header/p-3eb881c3.js.map +0 -1
- package/dist/swisspost-internet-header/p-43cbbf42.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4654b2af.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-4c9ec2d8.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-549b62ba.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-5e43c5e0.js +0 -2
- package/dist/swisspost-internet-header/p-5e43c5e0.js.map +0 -1
- package/dist/swisspost-internet-header/p-74932c29.entry.js +0 -6
- package/dist/swisspost-internet-header/p-74932c29.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-76ce4acc.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-78f653be.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7e653a26.js.map +0 -1
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7f16a46b.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8717445f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-883f9547.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-9509f6c7.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-9d0a7039.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a4160d23.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a51ad207.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a9c4b2d0.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-bdabd6ac.js.map +0 -1
- package/dist/swisspost-internet-header/p-c29ec122.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c69923cd.system.js +0 -2
- package/dist/swisspost-internet-header/p-c69923cd.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c946c5b8.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cb06a633.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cb3de015.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-d713a3b3.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ddcb8258.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ec80c8fc.js.map +0 -1
- package/dist/swisspost-internet-header/p-ee915bbe.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-eeff8b03.js.map +0 -1
- package/dist/swisspost-internet-header/p-f4ff1e9e.system.js.map +0 -1
|
@@ -9,7 +9,7 @@ import { t as translate } from './language.service.js';
|
|
|
9
9
|
import { p as prefersReducedMotion } from './utils.js';
|
|
10
10
|
|
|
11
11
|
/*!
|
|
12
|
-
* tabbable
|
|
12
|
+
* tabbable 6.0.1
|
|
13
13
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
14
14
|
*/
|
|
15
15
|
var candidateSelectors = ['input', 'select', 'textarea', 'a[href]', 'button', '[tabindex]:not(slot)', 'audio[controls]', 'video[controls]', '[contenteditable]:not([contenteditable="false"])', 'details>summary:first-of-type', 'details'];
|
|
@@ -21,23 +21,22 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
|
|
|
21
21
|
} : function (element) {
|
|
22
22
|
return element.ownerDocument;
|
|
23
23
|
};
|
|
24
|
+
|
|
24
25
|
/**
|
|
25
26
|
* @param {Element} el container to check in
|
|
26
27
|
* @param {boolean} includeContainer add container to check
|
|
27
28
|
* @param {(node: Element) => boolean} filter filter candidates
|
|
28
29
|
* @returns {Element[]}
|
|
29
30
|
*/
|
|
30
|
-
|
|
31
31
|
var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
32
32
|
var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
|
|
33
|
-
|
|
34
33
|
if (includeContainer && matches.call(el, candidateSelector)) {
|
|
35
34
|
candidates.unshift(el);
|
|
36
35
|
}
|
|
37
|
-
|
|
38
36
|
candidates = candidates.filter(filter);
|
|
39
37
|
return candidates;
|
|
40
38
|
};
|
|
39
|
+
|
|
41
40
|
/**
|
|
42
41
|
* @callback GetShadowRoot
|
|
43
42
|
* @param {Element} element to check for shadow root
|
|
@@ -51,9 +50,9 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
51
50
|
*/
|
|
52
51
|
|
|
53
52
|
/**
|
|
54
|
-
* @typedef {Object}
|
|
55
|
-
* @property {Element}
|
|
56
|
-
* @property {Element[]} candidates
|
|
53
|
+
* @typedef {Object} CandidateScope
|
|
54
|
+
* @property {Element} scopeParent contains inner candidates
|
|
55
|
+
* @property {Element[]} candidates list of candidates found in the scope parent
|
|
57
56
|
*/
|
|
58
57
|
|
|
59
58
|
/**
|
|
@@ -62,7 +61,7 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
62
61
|
* if a function, implies shadow support is enabled and either returns the shadow root of an element
|
|
63
62
|
* or a boolean stating if it has an undisclosed shadow root
|
|
64
63
|
* @property {(node: Element) => boolean} filter filter candidates
|
|
65
|
-
* @property {boolean} flatten if true then result will flatten any
|
|
64
|
+
* @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list
|
|
66
65
|
* @property {ShadowRootFilter} shadowRootFilter filter shadow roots;
|
|
67
66
|
*/
|
|
68
67
|
|
|
@@ -70,44 +69,38 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
70
69
|
* @param {Element[]} elements list of element containers to match candidates from
|
|
71
70
|
* @param {boolean} includeContainer add container list to check
|
|
72
71
|
* @param {IterativeOptions} options
|
|
73
|
-
* @returns {Array.<Element|
|
|
72
|
+
* @returns {Array.<Element|CandidateScope>}
|
|
74
73
|
*/
|
|
75
|
-
|
|
76
|
-
|
|
77
74
|
var getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
|
|
78
75
|
var candidates = [];
|
|
79
76
|
var elementsToCheck = Array.from(elements);
|
|
80
|
-
|
|
81
77
|
while (elementsToCheck.length) {
|
|
82
78
|
var element = elementsToCheck.shift();
|
|
83
|
-
|
|
84
79
|
if (element.tagName === 'SLOT') {
|
|
85
80
|
// add shadow dom slot scope (slot itself cannot be focusable)
|
|
86
81
|
var assigned = element.assignedElements();
|
|
87
82
|
var content = assigned.length ? assigned : element.children;
|
|
88
83
|
var nestedCandidates = getCandidatesIteratively(content, true, options);
|
|
89
|
-
|
|
90
84
|
if (options.flatten) {
|
|
91
85
|
candidates.push.apply(candidates, nestedCandidates);
|
|
92
86
|
} else {
|
|
93
87
|
candidates.push({
|
|
94
|
-
|
|
88
|
+
scopeParent: element,
|
|
95
89
|
candidates: nestedCandidates
|
|
96
90
|
});
|
|
97
91
|
}
|
|
98
92
|
} else {
|
|
99
93
|
// check candidate element
|
|
100
94
|
var validCandidate = matches.call(element, candidateSelector);
|
|
101
|
-
|
|
102
95
|
if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {
|
|
103
96
|
candidates.push(element);
|
|
104
|
-
}
|
|
105
|
-
|
|
97
|
+
}
|
|
106
98
|
|
|
107
|
-
|
|
99
|
+
// iterate over shadow content if possible
|
|
100
|
+
var shadowRoot = element.shadowRoot ||
|
|
101
|
+
// check for an undisclosed shadow
|
|
108
102
|
typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);
|
|
109
103
|
var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);
|
|
110
|
-
|
|
111
104
|
if (shadowRoot && validShadowRoot) {
|
|
112
105
|
// add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
|
|
113
106
|
// shadow exists, so look at light dom children as fallback BUT create a scope for any
|
|
@@ -116,12 +109,11 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
116
109
|
// slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
|
|
117
110
|
// _after_ we return from this recursive call
|
|
118
111
|
var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
|
|
119
|
-
|
|
120
112
|
if (options.flatten) {
|
|
121
113
|
candidates.push.apply(candidates, _nestedCandidates);
|
|
122
114
|
} else {
|
|
123
115
|
candidates.push({
|
|
124
|
-
|
|
116
|
+
scopeParent: element,
|
|
125
117
|
candidates: _nestedCandidates
|
|
126
118
|
});
|
|
127
119
|
}
|
|
@@ -132,10 +124,8 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
132
124
|
}
|
|
133
125
|
}
|
|
134
126
|
}
|
|
135
|
-
|
|
136
127
|
return candidates;
|
|
137
128
|
};
|
|
138
|
-
|
|
139
129
|
var getTabindex = function getTabindex(node, isScope) {
|
|
140
130
|
if (node.tabIndex < 0) {
|
|
141
131
|
// in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
|
|
@@ -153,29 +143,23 @@ var getTabindex = function getTabindex(node, isScope) {
|
|
|
153
143
|
return 0;
|
|
154
144
|
}
|
|
155
145
|
}
|
|
156
|
-
|
|
157
146
|
return node.tabIndex;
|
|
158
147
|
};
|
|
159
|
-
|
|
160
148
|
var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
|
|
161
149
|
return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
|
|
162
150
|
};
|
|
163
|
-
|
|
164
151
|
var isInput = function isInput(node) {
|
|
165
152
|
return node.tagName === 'INPUT';
|
|
166
153
|
};
|
|
167
|
-
|
|
168
154
|
var isHiddenInput = function isHiddenInput(node) {
|
|
169
155
|
return isInput(node) && node.type === 'hidden';
|
|
170
156
|
};
|
|
171
|
-
|
|
172
157
|
var isDetailsWithSummary = function isDetailsWithSummary(node) {
|
|
173
158
|
var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {
|
|
174
159
|
return child.tagName === 'SUMMARY';
|
|
175
160
|
});
|
|
176
161
|
return r;
|
|
177
162
|
};
|
|
178
|
-
|
|
179
163
|
var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
180
164
|
for (var i = 0; i < nodes.length; i++) {
|
|
181
165
|
if (nodes[i].checked && nodes[i].form === form) {
|
|
@@ -183,20 +167,15 @@ var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
|
183
167
|
}
|
|
184
168
|
}
|
|
185
169
|
};
|
|
186
|
-
|
|
187
170
|
var isTabbableRadio = function isTabbableRadio(node) {
|
|
188
171
|
if (!node.name) {
|
|
189
172
|
return true;
|
|
190
173
|
}
|
|
191
|
-
|
|
192
174
|
var radioScope = node.form || getRootNode(node);
|
|
193
|
-
|
|
194
175
|
var queryRadios = function queryRadios(name) {
|
|
195
176
|
return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
|
|
196
177
|
};
|
|
197
|
-
|
|
198
178
|
var radioSet;
|
|
199
|
-
|
|
200
179
|
if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
|
|
201
180
|
radioSet = queryRadios(window.CSS.escape(node.name));
|
|
202
181
|
} else {
|
|
@@ -208,31 +187,59 @@ var isTabbableRadio = function isTabbableRadio(node) {
|
|
|
208
187
|
return false;
|
|
209
188
|
}
|
|
210
189
|
}
|
|
211
|
-
|
|
212
190
|
var checked = getCheckedRadio(radioSet, node.form);
|
|
213
191
|
return !checked || checked === node;
|
|
214
192
|
};
|
|
215
|
-
|
|
216
193
|
var isRadio = function isRadio(node) {
|
|
217
194
|
return isInput(node) && node.type === 'radio';
|
|
218
195
|
};
|
|
219
|
-
|
|
220
196
|
var isNonTabbableRadio = function isNonTabbableRadio(node) {
|
|
221
197
|
return isRadio(node) && !isTabbableRadio(node);
|
|
222
198
|
};
|
|
223
199
|
|
|
200
|
+
// determines if a node is ultimately attached to the window's document
|
|
201
|
+
var isNodeAttached = function isNodeAttached(node) {
|
|
202
|
+
var _nodeRootHost;
|
|
203
|
+
// The root node is the shadow root if the node is in a shadow DOM; some document otherwise
|
|
204
|
+
// (but NOT _the_ document; see second 'If' comment below for more).
|
|
205
|
+
// If rootNode is shadow root, it'll have a host, which is the element to which the shadow
|
|
206
|
+
// is attached, and the one we need to check if it's in the document or not (because the
|
|
207
|
+
// shadow, and all nodes it contains, is never considered in the document since shadows
|
|
208
|
+
// behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
|
|
209
|
+
// is hidden, or is not in the document itself but is detached, it will affect the shadow's
|
|
210
|
+
// visibility, including all the nodes it contains). The host could be any normal node,
|
|
211
|
+
// or a custom element (i.e. web component). Either way, that's the one that is considered
|
|
212
|
+
// part of the document, not the shadow root, nor any of its children (i.e. the node being
|
|
213
|
+
// tested).
|
|
214
|
+
// To further complicate things, we have to look all the way up until we find a shadow HOST
|
|
215
|
+
// that is attached (or find none) because the node might be in nested shadows...
|
|
216
|
+
// If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
|
|
217
|
+
// document (per the docs) and while it's a Document-type object, that document does not
|
|
218
|
+
// appear to be the same as the node's `ownerDocument` for some reason, so it's safer
|
|
219
|
+
// to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
|
|
220
|
+
// using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
|
|
221
|
+
// node is actually detached.
|
|
222
|
+
var nodeRootHost = getRootNode(node).host;
|
|
223
|
+
var attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && _nodeRootHost.ownerDocument.contains(nodeRootHost) || node.ownerDocument.contains(node));
|
|
224
|
+
while (!attached && nodeRootHost) {
|
|
225
|
+
var _nodeRootHost2;
|
|
226
|
+
// since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,
|
|
227
|
+
// which means we need to get the host's host and check if that parent host is contained
|
|
228
|
+
// in (i.e. attached to) the document
|
|
229
|
+
nodeRootHost = getRootNode(nodeRootHost).host;
|
|
230
|
+
attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && _nodeRootHost2.ownerDocument.contains(nodeRootHost));
|
|
231
|
+
}
|
|
232
|
+
return attached;
|
|
233
|
+
};
|
|
224
234
|
var isZeroArea = function isZeroArea(node) {
|
|
225
235
|
var _node$getBoundingClie = node.getBoundingClientRect(),
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
236
|
+
width = _node$getBoundingClie.width,
|
|
237
|
+
height = _node$getBoundingClie.height;
|
|
229
238
|
return width === 0 && height === 0;
|
|
230
239
|
};
|
|
231
|
-
|
|
232
240
|
var isHidden = function isHidden(node, _ref) {
|
|
233
241
|
var displayCheck = _ref.displayCheck,
|
|
234
|
-
|
|
235
|
-
|
|
242
|
+
getShadowRoot = _ref.getShadowRoot;
|
|
236
243
|
// NOTE: visibility will be `undefined` if node is detached from the document
|
|
237
244
|
// (see notes about this further down), which means we will consider it visible
|
|
238
245
|
// (this is legacy behavior from a very long way back)
|
|
@@ -241,44 +248,19 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
241
248
|
if (getComputedStyle(node).visibility === 'hidden') {
|
|
242
249
|
return true;
|
|
243
250
|
}
|
|
244
|
-
|
|
245
251
|
var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
|
|
246
252
|
var nodeUnderDetails = isDirectSummary ? node.parentElement : node;
|
|
247
|
-
|
|
248
253
|
if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
|
|
249
254
|
return true;
|
|
250
|
-
}
|
|
251
|
-
|
|
252
|
-
// If rootNode is shadow root, it'll have a host, which is the element to which the shadow
|
|
253
|
-
// is attached, and the one we need to check if it's in the document or not (because the
|
|
254
|
-
// shadow, and all nodes it contains, is never considered in the document since shadows
|
|
255
|
-
// behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
|
|
256
|
-
// is hidden, or is not in the document itself but is detached, it will affect the shadow's
|
|
257
|
-
// visibility, including all the nodes it contains). The host could be any normal node,
|
|
258
|
-
// or a custom element (i.e. web component). Either way, that's the one that is considered
|
|
259
|
-
// part of the document, not the shadow root, nor any of its children (i.e. the node being
|
|
260
|
-
// tested).
|
|
261
|
-
// If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
|
|
262
|
-
// document (per the docs) and while it's a Document-type object, that document does not
|
|
263
|
-
// appear to be the same as the node's `ownerDocument` for some reason, so it's safer
|
|
264
|
-
// to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
|
|
265
|
-
// using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
|
|
266
|
-
// node is actually detached.
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
var nodeRootHost = getRootNode(node).host;
|
|
270
|
-
var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
|
|
271
|
-
|
|
272
|
-
if (!displayCheck || displayCheck === 'full') {
|
|
255
|
+
}
|
|
256
|
+
if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {
|
|
273
257
|
if (typeof getShadowRoot === 'function') {
|
|
274
258
|
// figure out if we should consider the node to be in an undisclosed shadow and use the
|
|
275
259
|
// 'non-zero-area' fallback
|
|
276
260
|
var originalNode = node;
|
|
277
|
-
|
|
278
261
|
while (node) {
|
|
279
262
|
var parentElement = node.parentElement;
|
|
280
263
|
var rootNode = getRootNode(node);
|
|
281
|
-
|
|
282
264
|
if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow
|
|
283
265
|
) {
|
|
284
266
|
// node has an undisclosed shadow which means we can only treat it as a black box, so we
|
|
@@ -295,25 +277,27 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
295
277
|
node = parentElement;
|
|
296
278
|
}
|
|
297
279
|
}
|
|
298
|
-
|
|
299
280
|
node = originalNode;
|
|
300
|
-
}
|
|
281
|
+
}
|
|
282
|
+
// else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
|
|
301
283
|
// (i.e. it does not also presume that all nodes might have undisclosed shadows); or
|
|
302
284
|
// it might be a falsy value, which means shadow DOM support is disabled
|
|
285
|
+
|
|
303
286
|
// Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)
|
|
304
287
|
// now we can just test to see if it would normally be visible or not, provided it's
|
|
305
288
|
// attached to the main document.
|
|
306
289
|
// NOTE: We must consider case where node is inside a shadow DOM and given directly to
|
|
307
290
|
// `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.
|
|
308
291
|
|
|
309
|
-
|
|
310
|
-
if (nodeIsAttached) {
|
|
292
|
+
if (isNodeAttached(node)) {
|
|
311
293
|
// this works wherever the node is: if there's at least one client rect, it's
|
|
312
294
|
// somehow displayed; it also covers the CSS 'display: contents' case where the
|
|
313
295
|
// node itself is hidden in place of its contents; and there's no need to search
|
|
314
296
|
// up the hierarchy either
|
|
315
297
|
return !node.getClientRects().length;
|
|
316
|
-
}
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
// Else, the node isn't attached to the document, which means the `getClientRects()`
|
|
317
301
|
// API will __always__ return zero rects (this can happen, for example, if React
|
|
318
302
|
// is used to render nodes onto a detached tree, as confirmed in this thread:
|
|
319
303
|
// https://github.com/facebook/react/issues/9117#issuecomment-284228870)
|
|
@@ -326,7 +310,13 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
326
310
|
// APIs on nodes in detached containers has actually implicitly used tabbable in what
|
|
327
311
|
// was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck="none"` mode -- essentially
|
|
328
312
|
// considering __everything__ to be visible because of the innability to determine styles.
|
|
329
|
-
|
|
313
|
+
//
|
|
314
|
+
// v6.0.0: As of this major release, the default 'full' option __no longer treats detached
|
|
315
|
+
// nodes as visible with the 'none' fallback.__
|
|
316
|
+
if (displayCheck !== 'legacy-full') {
|
|
317
|
+
return true; // hidden
|
|
318
|
+
}
|
|
319
|
+
// else, fallback to 'none' mode and consider the node visible
|
|
330
320
|
} else if (displayCheck === 'non-zero-area') {
|
|
331
321
|
// NOTE: Even though this tests that the node's client rect is non-zero to determine
|
|
332
322
|
// whether it's displayed, and that a detached node will __always__ have a zero-area
|
|
@@ -334,88 +324,79 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
334
324
|
// this mode, we do want to consider nodes that have a zero area to be hidden at all
|
|
335
325
|
// times, and that includes attached or not.
|
|
336
326
|
return isZeroArea(node);
|
|
337
|
-
}
|
|
338
|
-
|
|
327
|
+
}
|
|
339
328
|
|
|
329
|
+
// visible, as far as we can tell, or per current `displayCheck=none` mode, we assume
|
|
330
|
+
// it's visible
|
|
340
331
|
return false;
|
|
341
|
-
};
|
|
332
|
+
};
|
|
333
|
+
|
|
334
|
+
// form fields (nested) inside a disabled fieldset are not focusable/tabbable
|
|
342
335
|
// unless they are in the _first_ <legend> element of the top-most disabled
|
|
343
336
|
// fieldset
|
|
344
|
-
|
|
345
|
-
|
|
346
337
|
var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
|
|
347
338
|
if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
|
|
348
|
-
var parentNode = node.parentElement;
|
|
349
|
-
|
|
339
|
+
var parentNode = node.parentElement;
|
|
340
|
+
// check if `node` is contained in a disabled <fieldset>
|
|
350
341
|
while (parentNode) {
|
|
351
342
|
if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
|
|
352
343
|
// look for the first <legend> among the children of the disabled <fieldset>
|
|
353
344
|
for (var i = 0; i < parentNode.children.length; i++) {
|
|
354
|
-
var child = parentNode.children.item(i);
|
|
355
|
-
|
|
345
|
+
var child = parentNode.children.item(i);
|
|
346
|
+
// when the first <legend> (in document order) is found
|
|
356
347
|
if (child.tagName === 'LEGEND') {
|
|
357
348
|
// if its parent <fieldset> is not nested in another disabled <fieldset>,
|
|
358
349
|
// return whether `node` is a descendant of its first <legend>
|
|
359
350
|
return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);
|
|
360
351
|
}
|
|
361
|
-
}
|
|
362
|
-
|
|
363
|
-
|
|
352
|
+
}
|
|
353
|
+
// the disabled <fieldset> containing `node` has no <legend>
|
|
364
354
|
return true;
|
|
365
355
|
}
|
|
366
|
-
|
|
367
356
|
parentNode = parentNode.parentElement;
|
|
368
357
|
}
|
|
369
|
-
}
|
|
370
|
-
// enabled/disabled state
|
|
371
|
-
|
|
358
|
+
}
|
|
372
359
|
|
|
360
|
+
// else, node's tabbable/focusable state should not be affected by a fieldset's
|
|
361
|
+
// enabled/disabled state
|
|
373
362
|
return false;
|
|
374
363
|
};
|
|
375
|
-
|
|
376
364
|
var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
|
|
377
|
-
if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
|
|
365
|
+
if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
|
|
366
|
+
// For a details element with a summary, the summary element gets the focus
|
|
378
367
|
isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
|
|
379
368
|
return false;
|
|
380
369
|
}
|
|
381
|
-
|
|
382
370
|
return true;
|
|
383
371
|
};
|
|
384
|
-
|
|
385
372
|
var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
|
|
386
373
|
if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
|
|
387
374
|
return false;
|
|
388
375
|
}
|
|
389
|
-
|
|
390
376
|
return true;
|
|
391
377
|
};
|
|
392
|
-
|
|
393
378
|
var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
|
|
394
379
|
var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
|
|
395
|
-
|
|
396
380
|
if (isNaN(tabIndex) || tabIndex >= 0) {
|
|
397
381
|
return true;
|
|
398
|
-
}
|
|
382
|
+
}
|
|
383
|
+
// If a custom element has an explicit negative tabindex,
|
|
399
384
|
// browsers will not allow tab targeting said element's children.
|
|
400
|
-
|
|
401
|
-
|
|
402
385
|
return false;
|
|
403
386
|
};
|
|
387
|
+
|
|
404
388
|
/**
|
|
405
|
-
* @param {Array.<Element|
|
|
389
|
+
* @param {Array.<Element|CandidateScope>} candidates
|
|
406
390
|
* @returns Element[]
|
|
407
391
|
*/
|
|
408
|
-
|
|
409
|
-
|
|
410
392
|
var sortByOrder = function sortByOrder(candidates) {
|
|
411
393
|
var regularTabbables = [];
|
|
412
394
|
var orderedTabbables = [];
|
|
413
395
|
candidates.forEach(function (item, i) {
|
|
414
|
-
var isScope = !!item.
|
|
415
|
-
var element = isScope ? item.
|
|
396
|
+
var isScope = !!item.scopeParent;
|
|
397
|
+
var element = isScope ? item.scopeParent : item;
|
|
416
398
|
var candidateTabindex = getTabindex(element, isScope);
|
|
417
399
|
var elements = isScope ? sortByOrder(item.candidates) : element;
|
|
418
|
-
|
|
419
400
|
if (candidateTabindex === 0) {
|
|
420
401
|
isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
421
402
|
} else {
|
|
@@ -433,11 +414,9 @@ var sortByOrder = function sortByOrder(candidates) {
|
|
|
433
414
|
return acc;
|
|
434
415
|
}, []).concat(regularTabbables);
|
|
435
416
|
};
|
|
436
|
-
|
|
437
417
|
var tabbable = function tabbable(el, options) {
|
|
438
418
|
options = options || {};
|
|
439
419
|
var candidates;
|
|
440
|
-
|
|
441
420
|
if (options.getShadowRoot) {
|
|
442
421
|
candidates = getCandidatesIteratively([el], options.includeContainer, {
|
|
443
422
|
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
@@ -448,66 +427,65 @@ var tabbable = function tabbable(el, options) {
|
|
|
448
427
|
} else {
|
|
449
428
|
candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
450
429
|
}
|
|
451
|
-
|
|
452
430
|
return sortByOrder(candidates);
|
|
453
431
|
};
|
|
454
432
|
|
|
455
|
-
let key = 0;
|
|
456
|
-
/**
|
|
457
|
-
* Trap the focus inside a specific container by prepending/appending two focus trap
|
|
458
|
-
* input boxes who return the focus into the container.
|
|
459
|
-
*
|
|
460
|
-
* @param props active: activate or deactivate the focus trap
|
|
461
|
-
* @param children Child nodes
|
|
462
|
-
* @returns
|
|
463
|
-
*/
|
|
464
|
-
const FocusTrap = (props, children) => {
|
|
465
|
-
var _a;
|
|
466
|
-
// Default value for active is true
|
|
467
|
-
const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
|
|
468
|
-
const handleFocusIn = (event, mode) => {
|
|
469
|
-
if (!children.length) {
|
|
470
|
-
return;
|
|
471
|
-
}
|
|
472
|
-
// Try to get a list of tabbable elements
|
|
473
|
-
const containerIndex = mode === 'first' ? 0 : children.length - 1;
|
|
474
|
-
const container = children[containerIndex].$elm$;
|
|
475
|
-
const focusable = tabbable(container);
|
|
476
|
-
if (!focusable.length) {
|
|
477
|
-
return;
|
|
478
|
-
}
|
|
479
|
-
// We can trap the focus, cancel the event
|
|
480
|
-
event.preventDefault();
|
|
481
|
-
event.stopPropagation();
|
|
482
|
-
// Select the appropriate element from the list
|
|
483
|
-
const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
|
|
484
|
-
let focusElement = focusable[focusIndex];
|
|
485
|
-
focusElement.focus();
|
|
486
|
-
};
|
|
487
|
-
key++;
|
|
488
|
-
return [
|
|
489
|
-
h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
|
|
490
|
-
children,
|
|
491
|
-
h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
|
|
492
|
-
];
|
|
433
|
+
let key = 0;
|
|
434
|
+
/**
|
|
435
|
+
* Trap the focus inside a specific container by prepending/appending two focus trap
|
|
436
|
+
* input boxes who return the focus into the container.
|
|
437
|
+
*
|
|
438
|
+
* @param props active: activate or deactivate the focus trap
|
|
439
|
+
* @param children Child nodes
|
|
440
|
+
* @returns
|
|
441
|
+
*/
|
|
442
|
+
const FocusTrap = (props, children) => {
|
|
443
|
+
var _a;
|
|
444
|
+
// Default value for active is true
|
|
445
|
+
const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
|
|
446
|
+
const handleFocusIn = (event, mode) => {
|
|
447
|
+
if (!children.length) {
|
|
448
|
+
return;
|
|
449
|
+
}
|
|
450
|
+
// Try to get a list of tabbable elements
|
|
451
|
+
const containerIndex = mode === 'first' ? 0 : children.length - 1;
|
|
452
|
+
const container = children[containerIndex].$elm$;
|
|
453
|
+
const focusable = tabbable(container);
|
|
454
|
+
if (!focusable.length) {
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
// We can trap the focus, cancel the event
|
|
458
|
+
event.preventDefault();
|
|
459
|
+
event.stopPropagation();
|
|
460
|
+
// Select the appropriate element from the list
|
|
461
|
+
const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
|
|
462
|
+
let focusElement = focusable[focusIndex];
|
|
463
|
+
focusElement.focus();
|
|
464
|
+
};
|
|
465
|
+
key++;
|
|
466
|
+
return [
|
|
467
|
+
h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
|
|
468
|
+
children,
|
|
469
|
+
h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
|
|
470
|
+
];
|
|
493
471
|
};
|
|
494
472
|
|
|
495
|
-
/**
|
|
496
|
-
* Overlay implementation with focus trap according to
|
|
497
|
-
* https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
|
|
498
|
-
*
|
|
499
|
-
* @param props
|
|
500
|
-
* @returns
|
|
501
|
-
*/
|
|
502
|
-
const OverlayComponent = (props) => (h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
|
|
503
|
-
h("div", { class: "container", role: "dialog" },
|
|
504
|
-
h(FocusTrap, null,
|
|
505
|
-
h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
|
|
506
|
-
h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
|
|
507
|
-
h("span", { class: "visually-hidden" }, props.closeButtonText),
|
|
508
|
-
h(SvgIcon, { name: "pi-close" })),
|
|
509
|
-
h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
|
|
510
|
-
h("div", { class: "loader-wrapper" },
|
|
473
|
+
/**
|
|
474
|
+
* Overlay implementation with focus trap according to
|
|
475
|
+
* https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
|
|
476
|
+
*
|
|
477
|
+
* @param props
|
|
478
|
+
* @returns
|
|
479
|
+
*/
|
|
480
|
+
const OverlayComponent = (props) => (h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
|
|
481
|
+
h("div", { class: "container", role: "dialog" },
|
|
482
|
+
h(FocusTrap, null,
|
|
483
|
+
h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
|
|
484
|
+
h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
|
|
485
|
+
h("span", { class: "visually-hidden" }, props.closeButtonText),
|
|
486
|
+
h(SvgIcon, { name: "pi-close" })),
|
|
487
|
+
h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
|
|
488
|
+
h("div", { class: "loader-wrapper" },
|
|
511
489
|
h("div", { class: "loader" })))));
|
|
512
490
|
|
|
513
491
|
var iframeResizer$2 = createCommonjsModule(function (module) {
|
|
@@ -3248,257 +3226,257 @@ var js = {
|
|
|
3248
3226
|
|
|
3249
3227
|
var iframeResizer = js;
|
|
3250
3228
|
|
|
3251
|
-
const MiddleLinks = (props) => {
|
|
3252
|
-
return props.items.slice(1, -1).map(item => (h("li", { key: item.url },
|
|
3253
|
-
h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
|
|
3254
|
-
h("span", null, item.text)),
|
|
3255
|
-
props.icons ? h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
|
|
3229
|
+
const MiddleLinks = (props) => {
|
|
3230
|
+
return props.items.slice(1, -1).map(item => (h("li", { key: item.url },
|
|
3231
|
+
h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
|
|
3232
|
+
h("span", null, item.text)),
|
|
3233
|
+
props.icons ? h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
|
|
3256
3234
|
};
|
|
3257
3235
|
|
|
3258
|
-
const MiddleDropdown = (props) => {
|
|
3259
|
-
return (h("div", { class: "middle-dropdown-container" },
|
|
3260
|
-
h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
|
|
3261
|
-
h("span", { class: "visually-hidden" }, translate('Open menu')),
|
|
3262
|
-
h("span", { "aria-hidden": "true" }, "...")),
|
|
3263
|
-
h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
|
|
3264
|
-
props.dropdownOpen ? (h("nav", { class: "middle-dropdown" },
|
|
3265
|
-
h("ul", { class: "no-list" },
|
|
3266
|
-
h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
|
|
3236
|
+
const MiddleDropdown = (props) => {
|
|
3237
|
+
return (h("div", { class: "middle-dropdown-container" },
|
|
3238
|
+
h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
|
|
3239
|
+
h("span", { class: "visually-hidden" }, translate('Open menu')),
|
|
3240
|
+
h("span", { "aria-hidden": "true" }, "...")),
|
|
3241
|
+
h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
|
|
3242
|
+
props.dropdownOpen ? (h("nav", { class: "middle-dropdown" },
|
|
3243
|
+
h("ul", { class: "no-list" },
|
|
3244
|
+
h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
|
|
3267
3245
|
};
|
|
3268
3246
|
|
|
3269
|
-
const BreadcrumbList = (props) => {
|
|
3270
|
-
var _a;
|
|
3271
|
-
const homeItem = props.items[0];
|
|
3272
|
-
const lastItem = props.items[props.items.length - 1];
|
|
3273
|
-
return (h("ol", { class: "no-list breadcrumbs-list" },
|
|
3274
|
-
h("li", null,
|
|
3275
|
-
h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
|
|
3276
|
-
h("span", { class: "visually-hidden" }, homeItem.text),
|
|
3277
|
-
h(SvgIcon, { name: "pi-home" })),
|
|
3278
|
-
h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
|
|
3279
|
-
props.isConcatenated ? (h("li", null,
|
|
3280
|
-
h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
|
|
3281
|
-
h("li", null,
|
|
3282
|
-
h("a", { class: "last-link nav-link", href: lastItem.url, tabindex: props.focusable === false ? '-1' : undefined, ref: el => (props.lastItemRef !== undefined ? props.lastItemRef(el) : null) }, lastItem.text))));
|
|
3247
|
+
const BreadcrumbList = (props) => {
|
|
3248
|
+
var _a;
|
|
3249
|
+
const homeItem = props.items[0];
|
|
3250
|
+
const lastItem = props.items[props.items.length - 1];
|
|
3251
|
+
return (h("ol", { class: "no-list breadcrumbs-list" },
|
|
3252
|
+
h("li", null,
|
|
3253
|
+
h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
|
|
3254
|
+
h("span", { class: "visually-hidden" }, homeItem.text),
|
|
3255
|
+
h(SvgIcon, { name: "pi-home" })),
|
|
3256
|
+
h(SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
|
|
3257
|
+
props.isConcatenated ? (h("li", null,
|
|
3258
|
+
h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
|
|
3259
|
+
h("li", null,
|
|
3260
|
+
h("a", { class: "last-link nav-link", href: lastItem.url, tabindex: props.focusable === false ? '-1' : undefined, ref: el => (props.lastItemRef !== undefined ? props.lastItemRef(el) : null) }, lastItem.text))));
|
|
3283
3261
|
};
|
|
3284
3262
|
|
|
3285
3263
|
const postInternetBreadcrumbsCss = "/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.btn-close{-webkit-box-sizing:content-box;box-sizing:content-box;width:1.5rem;height:1.5rem;padding:1rem 1rem;color:#000;background:transparent url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23000000' d='M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z'%3E%3C/path%3E%3C/svg%3E\") center/1.5rem auto no-repeat;border:0;border-radius:3px;opacity:0.5}.btn-close:hover{color:#000;text-decoration:none;opacity:0.75}.btn-close:focus{outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);opacity:1}.btn-close:disabled,.btn-close.disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;opacity:0.25}.btn-close-white{-webkit-filter:invert(1) grayscale(100%) brightness(200%);filter:invert(1) grayscale(100%) brightness(200%)}.btn-close{height:unset;min-height:1.5rem}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close{opacity:1;background:transparent url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath opacity='1' fill='%23ffffff' d='M16.267 16.667l6.667-6.533-0.933-1.067-6.667 6.667-6.667-6.667-0.933 1.067 6.667 6.533-6.667 6.667 1.067 0.933 6.533-6.667 6.667 6.667 0.933-1.067z'%3E%3C/path%3E%3C/svg%3E\") center/1.5rem auto no-repeat}}.btn-close:focus{outline:2px solid var(--post-contrast-color);-webkit-box-shadow:none;box-shadow:none}.btn-close:focus:not(:focus-visible){outline:0}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-close-white{-webkit-filter:none;filter:none}}.btn-default,.btn-secondary{border:2px solid rgba(var(--post-contrast-color-rgb), 0.2)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color);color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-default:disabled,.btn-secondary:disabled{border-color:rgba(var(--post-contrast-color-rgb), 0.4);color:rgba(var(--post-contrast-color-rgb), 0.6)}.btn{min-height:3rem;padding:0 2rem;font-size:1rem;gap:1rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;border-width:2px;border-style:solid;border-radius:3px;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;color:var(--post-contrast-color);font-family:inherit;font-weight:400;line-height:inherit;text-decoration:none !important;white-space:nowrap}.btn>.pi{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:transparent;background-color:rgba(var(--post-contrast-color-rgb), 0.8);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:rgba(var(--post-contrast-color-rgb), 0.8)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:rgba(var(--post-contrast-color-rgb), 0.4)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-petrol-bright,.bg-coral,.bg-coral-bright,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn-link,.btn-tertiary{border:0;padding-right:0.375rem;padding-left:0.375rem}.btn-link:focus,.btn-link:not(:disabled):hover,.btn-link.pretend-hover,.btn-tertiary:focus,.btn-tertiary:not(:disabled):hover,.btn-tertiary.pretend-hover{color:rgba(var(--post-contrast-color-rgb), 0.8)}.btn-link:disabled,.btn-tertiary:disabled{color:rgba(var(--post-contrast-color-rgb), 0.6)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:0.75rem;padding-left:0.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:0.375rem;padding-left:0.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:0.5625rem;padding-left:0.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:0.875rem;padding-left:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:\"\";position:absolute;right:1.25rem;width:0.625em;height:0.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, -webkit-transform 250ms;transition:opacity 250ms, transform 250ms;transition:opacity 250ms, transform 250ms, -webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:0.5rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:0.875rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:1.5rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.75rem);transform:translateX(-0.75rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.625rem);transform:translateX(-0.625rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-1rem);transform:translateX(-1rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;padding:0 1rem;font-size:0.8125rem;gap:0.5rem}.btn-sm>.pi{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;padding:0 1.5rem;font-size:1rem;gap:0.75rem}.btn-rg>.pi{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;padding:0 2.5rem;font-size:1.0625rem;gap:1.25rem}.btn-lg>.pi{width:1.5rem;height:1.5rem}.btn-nightblue{border-color:transparent;background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943}.btn-nightblue-bright{border-color:transparent;background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275}.btn-petrol{border-color:transparent;background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37}.btn-petrol-bright{border-color:transparent;background-color:#00968f;color:#fff}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e}.btn-coral{border-color:transparent;background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23}.btn-coral-bright{border-color:transparent;background-color:#e03c31;color:#fff}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d}.btn-olive{border-color:transparent;background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325}.btn-olive-bright{border-color:transparent;background-color:#aa9d2e}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823}.btn-purple{border-color:transparent;background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b}.btn-purple-bright{border-color:transparent;background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a}.btn-aubergine{border-color:transparent;background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254}.btn-aubergine-bright{border-color:transparent;background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182}.btn-success{border-color:transparent;background-color:#2c911c;color:#fff}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614}.btn-info{border-color:transparent;background-color:#fc0}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#cca300}.btn-warning{border-color:transparent;background-color:#f49e00}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00}.btn-danger{border-color:transparent;background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{width:100%;padding-right:var(--bs-gutter-x, 15px);padding-left:var(--bs-gutter-x, 15px);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@-webkit-keyframes progress-bar-stripes{0%{background-position-x:1rem}}@keyframes progress-bar-stripes{0%{background-position-x:1rem}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;font-size:0.75rem;background-color:#cccccc;border-radius:3px}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#333333;-webkit-transition:width 0.6s ease;transition:width 0.6s ease}@media (prefers-reduced-motion: reduce){.progress-bar{-webkit-transition:none;transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion: reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-bg{position:absolute;z-index:990;top:0;left:0;width:100%;height:100%}.loading-modal{display:-ms-inline-flexbox;display:inline-flex;position:absolute;z-index:990;top:0;right:0;bottom:0;left:0}.loader{width:3.5rem;height:3.5rem;-webkit-animation:spin 2s linear infinite;animation:spin 2s linear infinite;border:6px solid #fc0;border-radius:50%;border-right-color:transparent;border-bottom-color:#e6e6e6}.loader.loader-sm{width:2rem;height:2rem;border-width:0.25rem}.loader.loader-xs{width:0.75rem;height:0.75rem;border-width:2px}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.loader{border-color:Highlight;border-bottom-color:CanvasText;border-right-color:Canvas}@supports (forced-color-adjust: none){.loader{forced-color-adjust:none;border-right-color:transparent}}}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:700;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:400;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff\") format(\"woff\")}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:\"Frutiger Neue For Post\", system-ui, sans-serif}button{font:inherit;padding:0}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;border-radius:0;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:hover,.nav-link:focus{color:black}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block;position:relative}.breadcrumbs{font-size:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;gap:1rem}@media (max-width: 599.98px){.breadcrumbs{font-size:0.875rem}}.breadcrumbs-nav{white-space:nowrap;-ms-flex-positive:1;flex-grow:1;-ms-flex-negative:1;flex-shrink:1;min-width:0}.breadcrumbs-list,.nav-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.breadcrumbs-list li{display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0}.breadcrumbs-list li:last-child{-ms-flex-negative:2;flex-shrink:2;min-width:0;overflow:hidden;text-overflow:ellipsis}.breadcrumbs-list li:last-child a{border:2px solid transparent;outline-offset:0}.breadcrumbs-list svg{margin-left:0 !important;width:1.5em;height:1.5em;color:rgba(0, 0, 0, 0.6)}.breadcrumb-buttons{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;gap:1rem;-ms-flex-negative:0;flex-shrink:0}.breadcrumb-buttons .btn{cursor:pointer;gap:0.5rem;font-size:inherit}.breadcrumb-buttons .btn.btn-secondary>svg{width:1.5rem;height:1.5rem;margin:0}@media (min-width: 1024px){.breadcrumb-buttons .btn span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.nav-link{gap:0;color:rgba(0, 0, 0, 0.6);font-weight:400}.middle-dropdown-container{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.middle-dropdown{position:absolute;top:100%;left:0;background:white;border:1px solid #e6e6e6;padding:0.5rem 0;z-index:1}.middle-dropdown .nav-link{padding:0.5rem 1rem;-webkit-transition:color 200ms;transition:color 200ms}.middle-dropdown .nav-link:hover{background-color:#e6e6e6}.middle-dropdown-button{cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.25rem;font-size:inherit;color:inherit}.middle-dropdown-button span{margin:0}.middle-dropdown-button svg{margin:0;-ms-flex-negative:0;flex-shrink:0;width:1.4em;height:1.4em}.overlay{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.6);z-index:calc(var(--header-z-index, 10) + 1);opacity:0;visibility:hidden;-webkit-transition:opacity 500ms, visibility 0s 500ms;transition:opacity 500ms, visibility 0s 500ms}.overlay.open{visibility:visible;opacity:1;-webkit-transition:opacity 500ms, visibility 0s 0s;transition:opacity 500ms, visibility 0s 0s}.overlay-container{position:relative;background:white;-webkit-box-shadow:0 0 40px rgba(0, 0, 0, 0.6);box-shadow:0 0 40px rgba(0, 0, 0, 0.6);visibility:hidden;-webkit-transform:translateY(3rem);transform:translateY(3rem);opacity:0;-webkit-transition:opacity 500ms, -webkit-transform 500ms;transition:opacity 500ms, -webkit-transform 500ms;transition:transform 500ms, opacity 500ms;transition:transform 500ms, opacity 500ms, -webkit-transform 500ms}iframe{display:block;width:1px;min-width:100%;overflow:auto;max-height:80vh}.overlay-close{position:absolute;top:1rem;right:1rem;cursor:pointer;padding:0.5rem;color:rgba(0, 0, 0, 0.8)}.overlay-close:hover,.overlay-close:focus{color:black}.overlay-close.phone{color:white}.overlay-close.phone:hover,.overlay-close.phone:focus{color:rgba(255, 255, 255, 0.8)}@media (min-width: 600px){.overlay-close span{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}.loader-wrapper{position:absolute;display:grid;place-items:center;width:100%;height:100%;top:0;left:0}.loaded~.loader-wrapper{display:none}.hidden-control-breadcrumbs{position:absolute;top:100%;width:0;overflow:hidden;display:-ms-flexbox;display:flex;pointer-events:none}.hidden-control-breadcrumbs .breadcrumbs-nav{-ms-flex-negative:0;flex-shrink:0}.hidden-control-breadcrumbs .breadcrumbs-list li{-ms-flex-negative:0;flex-shrink:0}.visually-hidden{visibility:hidden}";
|
|
3286
3264
|
|
|
3287
|
-
const PostInternetBreadcrumbs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
3288
|
-
constructor() {
|
|
3289
|
-
super();
|
|
3290
|
-
this.__registerHost();
|
|
3291
|
-
this.__attachShadow();
|
|
3292
|
-
this.customItems = undefined;
|
|
3293
|
-
this.customBreadcrumbItems = undefined;
|
|
3294
|
-
this.overlayVisible = undefined;
|
|
3295
|
-
this.isConcatenated = undefined;
|
|
3296
|
-
this.dropdownOpen = false;
|
|
3297
|
-
this.refsReady = false;
|
|
3298
|
-
}
|
|
3299
|
-
connectedCallback() {
|
|
3300
|
-
this.debouncedResize = debounce(200, this.handleResize.bind(this));
|
|
3301
|
-
window.addEventListener('resize', this.debouncedResize, { passive: true });
|
|
3302
|
-
}
|
|
3303
|
-
disconnectedCallback() {
|
|
3304
|
-
window.removeEventListener('resize', this.debouncedResize);
|
|
3305
|
-
window.removeEventListener('click', this.handleWindowClick);
|
|
3306
|
-
clearAllBodyScrollLocks();
|
|
3307
|
-
}
|
|
3308
|
-
async componentWillLoad() {
|
|
3309
|
-
// Wait for the config to arrive, then render the header
|
|
3310
|
-
try {
|
|
3311
|
-
this.customBreadcrumbItems =
|
|
3312
|
-
typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
|
|
3313
|
-
}
|
|
3314
|
-
catch (error) {
|
|
3315
|
-
console.error(error);
|
|
3316
|
-
}
|
|
3317
|
-
}
|
|
3318
|
-
componentDidLoad() {
|
|
3319
|
-
// Initially check if breadcrumb items are concatenated
|
|
3320
|
-
window.requestAnimationFrame(() => {
|
|
3321
|
-
this.handleResize();
|
|
3322
|
-
});
|
|
3323
|
-
}
|
|
3324
|
-
handleCustomConfigChage(newValue) {
|
|
3325
|
-
try {
|
|
3326
|
-
this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
|
|
3327
|
-
}
|
|
3328
|
-
catch (error) {
|
|
3329
|
-
console.error(error);
|
|
3330
|
-
}
|
|
3331
|
-
}
|
|
3332
|
-
handleResize() {
|
|
3333
|
-
// Catch and exclude vertical resize events, e.g. scrolling in iPhone
|
|
3334
|
-
if (window.innerWidth === this.lastWindowWidth) {
|
|
3335
|
-
return;
|
|
3336
|
-
}
|
|
3337
|
-
this.lastWindowWidth = window.innerWidth;
|
|
3338
|
-
this.checkConcatenation();
|
|
3339
|
-
}
|
|
3340
|
-
checkConcatenation() {
|
|
3341
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
3342
|
-
this.refsReady = true;
|
|
3343
|
-
// Delay the check
|
|
3344
|
-
window.requestAnimationFrame(() => {
|
|
3345
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
3346
|
-
this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
|
|
3347
|
-
}
|
|
3348
|
-
});
|
|
3349
|
-
}
|
|
3350
|
-
}
|
|
3351
|
-
toggleOverlay(overlay, force) {
|
|
3352
|
-
var _a;
|
|
3353
|
-
const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
|
|
3354
|
-
if (newVisibility) {
|
|
3355
|
-
// Will trigger overlayRef() once the HTLM is rendered
|
|
3356
|
-
this.overlayVisible = newVisibility;
|
|
3357
|
-
this.currentOverlay = overlay;
|
|
3358
|
-
this.setBodyScroll(overlay);
|
|
3359
|
-
}
|
|
3360
|
-
else {
|
|
3361
|
-
const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
|
|
3362
|
-
if (this.openAnimation && this.loadedAnimation) {
|
|
3363
|
-
this.openAnimation.reverse();
|
|
3364
|
-
this.loadedAnimation.reverse();
|
|
3365
|
-
// Delay hiding overlay until after the animation finishes
|
|
3366
|
-
Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
|
|
3367
|
-
if (activeToggler) {
|
|
3368
|
-
activeToggler.focus();
|
|
3369
|
-
}
|
|
3370
|
-
this.overlayVisible = newVisibility;
|
|
3371
|
-
this.setBodyScroll(overlay);
|
|
3372
|
-
});
|
|
3373
|
-
}
|
|
3374
|
-
}
|
|
3375
|
-
}
|
|
3376
|
-
/**
|
|
3377
|
-
* Disable or re-enable body scrolling, depending on whether overlay is visible or not
|
|
3378
|
-
*/
|
|
3379
|
-
setBodyScroll(overlay) {
|
|
3380
|
-
if (this.overlayVisible) {
|
|
3381
|
-
disableBodyScroll(overlay, { reserveScrollBarGap: true });
|
|
3382
|
-
}
|
|
3383
|
-
else {
|
|
3384
|
-
enableBodyScroll(overlay);
|
|
3385
|
-
}
|
|
3386
|
-
}
|
|
3387
|
-
toggleDropdown(force) {
|
|
3388
|
-
this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
|
|
3389
|
-
if (this.dropdownOpen) {
|
|
3390
|
-
requestAnimationFrame(() => {
|
|
3391
|
-
document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
|
|
3392
|
-
});
|
|
3393
|
-
}
|
|
3394
|
-
}
|
|
3395
|
-
handleWindowClick() {
|
|
3396
|
-
this.toggleDropdown(false);
|
|
3397
|
-
}
|
|
3398
|
-
registerIFrameResizer(iFrame) {
|
|
3399
|
-
if (!iFrame) {
|
|
3400
|
-
return;
|
|
3401
|
-
}
|
|
3402
|
-
iFrame.addEventListener('load', () => {
|
|
3403
|
-
var _a, _b, _c;
|
|
3404
|
-
iframeResizer.iframeResizer({
|
|
3405
|
-
heightCalculationMethod: 'taggedElement',
|
|
3406
|
-
scrolling: true,
|
|
3407
|
-
checkOrigin: false,
|
|
3408
|
-
}, iFrame);
|
|
3409
|
-
const duration = prefersReducedMotion ? 0 : 300;
|
|
3410
|
-
this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
|
|
3411
|
-
(_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
|
|
3412
|
-
(_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
|
|
3413
|
-
var _a;
|
|
3414
|
-
(_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3415
|
-
});
|
|
3416
|
-
});
|
|
3417
|
-
}
|
|
3418
|
-
/**
|
|
3419
|
-
* Reference function for the overlay element got called. It is either null (overlay closed)
|
|
3420
|
-
* or contains the overlay element as parameter.
|
|
3421
|
-
* @param e Overlay element or null
|
|
3422
|
-
* @returns void
|
|
3423
|
-
*/
|
|
3424
|
-
overlayRef(e) {
|
|
3425
|
-
if (!e) {
|
|
3426
|
-
return;
|
|
3427
|
-
}
|
|
3428
|
-
const duration = prefersReducedMotion ? 0 : 500;
|
|
3429
|
-
this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
|
|
3430
|
-
duration,
|
|
3431
|
-
fill: 'forwards',
|
|
3432
|
-
});
|
|
3433
|
-
}
|
|
3434
|
-
handleKeyDown(event) {
|
|
3435
|
-
if (event.key.toLowerCase() === 'escape') {
|
|
3436
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3437
|
-
}
|
|
3438
|
-
}
|
|
3439
|
-
handleToggleDropdown() {
|
|
3440
|
-
this.toggleDropdown();
|
|
3441
|
-
}
|
|
3442
|
-
handleToggleOverlay() {
|
|
3443
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3444
|
-
}
|
|
3445
|
-
handleControlNavRef(element) {
|
|
3446
|
-
this.controlNavRef = element;
|
|
3447
|
-
this.checkConcatenation();
|
|
3448
|
-
}
|
|
3449
|
-
handleVisibleNavRef(element) {
|
|
3450
|
-
this.visibleNavRef = element;
|
|
3451
|
-
this.checkConcatenation();
|
|
3452
|
-
}
|
|
3453
|
-
render() {
|
|
3454
|
-
// There is something wrong entirely
|
|
3455
|
-
if (!state) {
|
|
3456
|
-
console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
|
|
3457
|
-
return null;
|
|
3458
|
-
}
|
|
3459
|
-
// Config is not loaded yet
|
|
3460
|
-
if (!state.localizedConfig) {
|
|
3461
|
-
return null;
|
|
3462
|
-
}
|
|
3463
|
-
// Config has loaded but there is no breadcrumbs config
|
|
3464
|
-
if (!state.localizedConfig.breadcrumb) {
|
|
3465
|
-
console.warn(`Internet Header: Current project "${state.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `, document.querySelector('swisspost-internet-breadcrumbs'), `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);
|
|
3466
|
-
return null;
|
|
3467
|
-
}
|
|
3468
|
-
const breadcrumbConfig = state.localizedConfig.breadcrumb;
|
|
3469
|
-
const items = this.customBreadcrumbItems !== undefined
|
|
3470
|
-
? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
|
|
3471
|
-
: breadcrumbConfig.items;
|
|
3472
|
-
return (h(Host, null, h(SvgSprite, null), h("div", { class: "breadcrumbs" }, h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
|
|
3473
|
-
'breadcrumbs-nav': true,
|
|
3474
|
-
'visually-hidden': !this.refsReady,
|
|
3475
|
-
} }, h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (h("button", { class: "btn btn-secondary btn-icon", key: button.text, "aria-expanded": `${!!this.overlayVisible && this.currentOverlay === button.overlay}`, onClick: () => this.toggleOverlay(button.overlay, true) }, h(SvgIcon, { name: button.svgIcon.name }), h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (h(OverlayComponent, { overlayRef: e => e !== undefined && this.overlayRef(e), iFrameRef: e => e !== undefined && this.registerIFrameResizer(e), overlay: this.currentOverlay, onClick: () => this.handleToggleOverlay(), onKeyDown: (e) => this.handleKeyDown(e), closeButtonText: state.localizedConfig.header.translations.closeButtonText }))), h("slot", null)));
|
|
3476
|
-
}
|
|
3477
|
-
get host() { return this; }
|
|
3478
|
-
static get watchers() { return {
|
|
3479
|
-
"customItems": ["handleCustomConfigChage"]
|
|
3480
|
-
}; }
|
|
3481
|
-
static get style() { return postInternetBreadcrumbsCss; }
|
|
3482
|
-
}, [1, "swisspost-internet-breadcrumbs", {
|
|
3483
|
-
"customItems": [1, "custom-items"],
|
|
3484
|
-
"customBreadcrumbItems": [32],
|
|
3485
|
-
"overlayVisible": [32],
|
|
3486
|
-
"isConcatenated": [32],
|
|
3487
|
-
"dropdownOpen": [32],
|
|
3488
|
-
"refsReady": [32]
|
|
3489
|
-
}]);
|
|
3490
|
-
function defineCustomElement$1() {
|
|
3491
|
-
if (typeof customElements === "undefined") {
|
|
3492
|
-
return;
|
|
3493
|
-
}
|
|
3494
|
-
const components = ["swisspost-internet-breadcrumbs"];
|
|
3495
|
-
components.forEach(tagName => { switch (tagName) {
|
|
3496
|
-
case "swisspost-internet-breadcrumbs":
|
|
3497
|
-
if (!customElements.get(tagName)) {
|
|
3498
|
-
customElements.define(tagName, PostInternetBreadcrumbs);
|
|
3499
|
-
}
|
|
3500
|
-
break;
|
|
3501
|
-
} });
|
|
3265
|
+
const PostInternetBreadcrumbs = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
3266
|
+
constructor() {
|
|
3267
|
+
super();
|
|
3268
|
+
this.__registerHost();
|
|
3269
|
+
this.__attachShadow();
|
|
3270
|
+
this.customItems = undefined;
|
|
3271
|
+
this.customBreadcrumbItems = undefined;
|
|
3272
|
+
this.overlayVisible = undefined;
|
|
3273
|
+
this.isConcatenated = undefined;
|
|
3274
|
+
this.dropdownOpen = false;
|
|
3275
|
+
this.refsReady = false;
|
|
3276
|
+
}
|
|
3277
|
+
connectedCallback() {
|
|
3278
|
+
this.debouncedResize = debounce(200, this.handleResize.bind(this));
|
|
3279
|
+
window.addEventListener('resize', this.debouncedResize, { passive: true });
|
|
3280
|
+
}
|
|
3281
|
+
disconnectedCallback() {
|
|
3282
|
+
window.removeEventListener('resize', this.debouncedResize);
|
|
3283
|
+
window.removeEventListener('click', this.handleWindowClick);
|
|
3284
|
+
clearAllBodyScrollLocks();
|
|
3285
|
+
}
|
|
3286
|
+
async componentWillLoad() {
|
|
3287
|
+
// Wait for the config to arrive, then render the header
|
|
3288
|
+
try {
|
|
3289
|
+
this.customBreadcrumbItems =
|
|
3290
|
+
typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
|
|
3291
|
+
}
|
|
3292
|
+
catch (error) {
|
|
3293
|
+
console.error(error);
|
|
3294
|
+
}
|
|
3295
|
+
}
|
|
3296
|
+
componentDidLoad() {
|
|
3297
|
+
// Initially check if breadcrumb items are concatenated
|
|
3298
|
+
window.requestAnimationFrame(() => {
|
|
3299
|
+
this.handleResize();
|
|
3300
|
+
});
|
|
3301
|
+
}
|
|
3302
|
+
handleCustomConfigChage(newValue) {
|
|
3303
|
+
try {
|
|
3304
|
+
this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
|
|
3305
|
+
}
|
|
3306
|
+
catch (error) {
|
|
3307
|
+
console.error(error);
|
|
3308
|
+
}
|
|
3309
|
+
}
|
|
3310
|
+
handleResize() {
|
|
3311
|
+
// Catch and exclude vertical resize events, e.g. scrolling in iPhone
|
|
3312
|
+
if (window.innerWidth === this.lastWindowWidth) {
|
|
3313
|
+
return;
|
|
3314
|
+
}
|
|
3315
|
+
this.lastWindowWidth = window.innerWidth;
|
|
3316
|
+
this.checkConcatenation();
|
|
3317
|
+
}
|
|
3318
|
+
checkConcatenation() {
|
|
3319
|
+
if (this.controlNavRef && this.visibleNavRef) {
|
|
3320
|
+
this.refsReady = true;
|
|
3321
|
+
// Delay the check
|
|
3322
|
+
window.requestAnimationFrame(() => {
|
|
3323
|
+
if (this.controlNavRef && this.visibleNavRef) {
|
|
3324
|
+
this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
|
|
3325
|
+
}
|
|
3326
|
+
});
|
|
3327
|
+
}
|
|
3328
|
+
}
|
|
3329
|
+
toggleOverlay(overlay, force) {
|
|
3330
|
+
var _a;
|
|
3331
|
+
const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
|
|
3332
|
+
if (newVisibility) {
|
|
3333
|
+
// Will trigger overlayRef() once the HTLM is rendered
|
|
3334
|
+
this.overlayVisible = newVisibility;
|
|
3335
|
+
this.currentOverlay = overlay;
|
|
3336
|
+
this.setBodyScroll(overlay);
|
|
3337
|
+
}
|
|
3338
|
+
else {
|
|
3339
|
+
const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
|
|
3340
|
+
if (this.openAnimation && this.loadedAnimation) {
|
|
3341
|
+
this.openAnimation.reverse();
|
|
3342
|
+
this.loadedAnimation.reverse();
|
|
3343
|
+
// Delay hiding overlay until after the animation finishes
|
|
3344
|
+
Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
|
|
3345
|
+
if (activeToggler) {
|
|
3346
|
+
activeToggler.focus();
|
|
3347
|
+
}
|
|
3348
|
+
this.overlayVisible = newVisibility;
|
|
3349
|
+
this.setBodyScroll(overlay);
|
|
3350
|
+
});
|
|
3351
|
+
}
|
|
3352
|
+
}
|
|
3353
|
+
}
|
|
3354
|
+
/**
|
|
3355
|
+
* Disable or re-enable body scrolling, depending on whether overlay is visible or not
|
|
3356
|
+
*/
|
|
3357
|
+
setBodyScroll(overlay) {
|
|
3358
|
+
if (this.overlayVisible) {
|
|
3359
|
+
disableBodyScroll(overlay, { reserveScrollBarGap: true });
|
|
3360
|
+
}
|
|
3361
|
+
else {
|
|
3362
|
+
enableBodyScroll(overlay);
|
|
3363
|
+
}
|
|
3364
|
+
}
|
|
3365
|
+
toggleDropdown(force) {
|
|
3366
|
+
this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
|
|
3367
|
+
if (this.dropdownOpen) {
|
|
3368
|
+
requestAnimationFrame(() => {
|
|
3369
|
+
document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
|
|
3370
|
+
});
|
|
3371
|
+
}
|
|
3372
|
+
}
|
|
3373
|
+
handleWindowClick() {
|
|
3374
|
+
this.toggleDropdown(false);
|
|
3375
|
+
}
|
|
3376
|
+
registerIFrameResizer(iFrame) {
|
|
3377
|
+
if (!iFrame) {
|
|
3378
|
+
return;
|
|
3379
|
+
}
|
|
3380
|
+
iFrame.addEventListener('load', () => {
|
|
3381
|
+
var _a, _b, _c;
|
|
3382
|
+
iframeResizer.iframeResizer({
|
|
3383
|
+
heightCalculationMethod: 'taggedElement',
|
|
3384
|
+
scrolling: true,
|
|
3385
|
+
checkOrigin: false,
|
|
3386
|
+
}, iFrame);
|
|
3387
|
+
const duration = prefersReducedMotion ? 0 : 300;
|
|
3388
|
+
this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
|
|
3389
|
+
(_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
|
|
3390
|
+
(_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
|
|
3391
|
+
var _a;
|
|
3392
|
+
(_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3393
|
+
});
|
|
3394
|
+
});
|
|
3395
|
+
}
|
|
3396
|
+
/**
|
|
3397
|
+
* Reference function for the overlay element got called. It is either null (overlay closed)
|
|
3398
|
+
* or contains the overlay element as parameter.
|
|
3399
|
+
* @param e Overlay element or null
|
|
3400
|
+
* @returns void
|
|
3401
|
+
*/
|
|
3402
|
+
overlayRef(e) {
|
|
3403
|
+
if (!e) {
|
|
3404
|
+
return;
|
|
3405
|
+
}
|
|
3406
|
+
const duration = prefersReducedMotion ? 0 : 500;
|
|
3407
|
+
this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
|
|
3408
|
+
duration,
|
|
3409
|
+
fill: 'forwards',
|
|
3410
|
+
});
|
|
3411
|
+
}
|
|
3412
|
+
handleKeyDown(event) {
|
|
3413
|
+
if (event.key.toLowerCase() === 'escape') {
|
|
3414
|
+
this.toggleOverlay(this.currentOverlay, false);
|
|
3415
|
+
}
|
|
3416
|
+
}
|
|
3417
|
+
handleToggleDropdown() {
|
|
3418
|
+
this.toggleDropdown();
|
|
3419
|
+
}
|
|
3420
|
+
handleToggleOverlay() {
|
|
3421
|
+
this.toggleOverlay(this.currentOverlay, false);
|
|
3422
|
+
}
|
|
3423
|
+
handleControlNavRef(element) {
|
|
3424
|
+
this.controlNavRef = element;
|
|
3425
|
+
this.checkConcatenation();
|
|
3426
|
+
}
|
|
3427
|
+
handleVisibleNavRef(element) {
|
|
3428
|
+
this.visibleNavRef = element;
|
|
3429
|
+
this.checkConcatenation();
|
|
3430
|
+
}
|
|
3431
|
+
render() {
|
|
3432
|
+
// There is something wrong entirely
|
|
3433
|
+
if (!state) {
|
|
3434
|
+
console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
|
|
3435
|
+
return null;
|
|
3436
|
+
}
|
|
3437
|
+
// Config is not loaded yet
|
|
3438
|
+
if (!state.localizedConfig) {
|
|
3439
|
+
return null;
|
|
3440
|
+
}
|
|
3441
|
+
// Config has loaded but there is no breadcrumbs config
|
|
3442
|
+
if (!state.localizedConfig.breadcrumb) {
|
|
3443
|
+
console.warn(`Internet Header: Current project "${state.projectId}" does not include a breadcrumb config. The breadcrumbs will not be rendered. Remove `, document.querySelector('swisspost-internet-breadcrumbs'), `from your markup or configure the breadcrumbs in your portal config to stop seeing this warning.`);
|
|
3444
|
+
return null;
|
|
3445
|
+
}
|
|
3446
|
+
const breadcrumbConfig = state.localizedConfig.breadcrumb;
|
|
3447
|
+
const items = this.customBreadcrumbItems !== undefined
|
|
3448
|
+
? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
|
|
3449
|
+
: breadcrumbConfig.items;
|
|
3450
|
+
return (h(Host, null, h(SvgSprite, null), h("div", { class: "breadcrumbs" }, h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
|
|
3451
|
+
'breadcrumbs-nav': true,
|
|
3452
|
+
'visually-hidden': !this.refsReady,
|
|
3453
|
+
} }, h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (h("button", { class: "btn btn-secondary btn-icon", key: button.text, "aria-expanded": `${!!this.overlayVisible && this.currentOverlay === button.overlay}`, onClick: () => this.toggleOverlay(button.overlay, true) }, h(SvgIcon, { name: button.svgIcon.name }), h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (h(OverlayComponent, { overlayRef: e => e !== undefined && this.overlayRef(e), iFrameRef: e => e !== undefined && this.registerIFrameResizer(e), overlay: this.currentOverlay, onClick: () => this.handleToggleOverlay(), onKeyDown: (e) => this.handleKeyDown(e), closeButtonText: state.localizedConfig.header.translations.closeButtonText }))), h("slot", null)));
|
|
3454
|
+
}
|
|
3455
|
+
get host() { return this; }
|
|
3456
|
+
static get watchers() { return {
|
|
3457
|
+
"customItems": ["handleCustomConfigChage"]
|
|
3458
|
+
}; }
|
|
3459
|
+
static get style() { return postInternetBreadcrumbsCss; }
|
|
3460
|
+
}, [1, "swisspost-internet-breadcrumbs", {
|
|
3461
|
+
"customItems": [1, "custom-items"],
|
|
3462
|
+
"customBreadcrumbItems": [32],
|
|
3463
|
+
"overlayVisible": [32],
|
|
3464
|
+
"isConcatenated": [32],
|
|
3465
|
+
"dropdownOpen": [32],
|
|
3466
|
+
"refsReady": [32]
|
|
3467
|
+
}]);
|
|
3468
|
+
function defineCustomElement$1() {
|
|
3469
|
+
if (typeof customElements === "undefined") {
|
|
3470
|
+
return;
|
|
3471
|
+
}
|
|
3472
|
+
const components = ["swisspost-internet-breadcrumbs"];
|
|
3473
|
+
components.forEach(tagName => { switch (tagName) {
|
|
3474
|
+
case "swisspost-internet-breadcrumbs":
|
|
3475
|
+
if (!customElements.get(tagName)) {
|
|
3476
|
+
customElements.define(tagName, PostInternetBreadcrumbs);
|
|
3477
|
+
}
|
|
3478
|
+
break;
|
|
3479
|
+
} });
|
|
3502
3480
|
}
|
|
3503
3481
|
|
|
3504
3482
|
const SwisspostInternetBreadcrumbs = PostInternetBreadcrumbs;
|