@swisspost/internet-header 1.5.0-beta.2 → 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-84642428.js → klp-widget.controller-d8941c4e.js} +4811 -4811
- package/dist/cjs/{klp-widget.controller-84642428.js.map → klp-widget.controller-d8941c4e.js.map} +1 -1
- 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/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 +4810 -4810
- 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-903e0422.js → klp-widget.controller-55366e6a.js} +4811 -4811
- package/dist/esm/{klp-widget.controller-903e0422.js.map → klp-widget.controller-55366e6a.js.map} +1 -1
- 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-903e0422.js → klp-widget.controller-55366e6a.js} +1 -1
- package/dist/{swisspost-internet-header/p-83f6cd1e.js.map → esm-es5/klp-widget.controller-55366e6a.js.map} +1 -1
- 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-872a76a4.system.js → p-42695801.system.js} +1 -1
- 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-12baacf0.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-b406315a.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-83f6cd1e.js → p-ed24b372.js} +1 -1
- 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/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/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-903e0422.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-12baacf0.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-458c9862.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-458c9862.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4654b2af.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-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-872a76a4.system.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-b406315a.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-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
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fa0c66c7.entry.js.map +0 -1
|
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
const index = require('./index-5751975e.js');
|
|
6
6
|
const index$1 = require('./index-e7245d60.js');
|
|
7
7
|
const bodyScrollLock_esm = require('./bodyScrollLock.esm-59f17217.js');
|
|
8
|
-
const svgIcon_component = require('./svg-icon.component-
|
|
9
|
-
const store = require('./store-
|
|
8
|
+
const svgIcon_component = require('./svg-icon.component-be93f876.js');
|
|
9
|
+
const store = require('./store-d0d514fc.js');
|
|
10
10
|
const _commonjsHelpers = require('./_commonjsHelpers-537d719a.js');
|
|
11
|
-
const svgSprite_component = require('./svg-sprite.component-
|
|
12
|
-
const language_service = require('./language.service-
|
|
13
|
-
const utils = require('./utils-
|
|
11
|
+
const svgSprite_component = require('./svg-sprite.component-1bd7a058.js');
|
|
12
|
+
const language_service = require('./language.service-7dbf739d.js');
|
|
13
|
+
const utils = require('./utils-60853c5d.js');
|
|
14
14
|
|
|
15
15
|
/*!
|
|
16
|
-
* tabbable
|
|
16
|
+
* tabbable 6.0.1
|
|
17
17
|
* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE
|
|
18
18
|
*/
|
|
19
19
|
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'];
|
|
@@ -25,23 +25,22 @@ var getRootNode = !NoElement && Element.prototype.getRootNode ? function (elemen
|
|
|
25
25
|
} : function (element) {
|
|
26
26
|
return element.ownerDocument;
|
|
27
27
|
};
|
|
28
|
+
|
|
28
29
|
/**
|
|
29
30
|
* @param {Element} el container to check in
|
|
30
31
|
* @param {boolean} includeContainer add container to check
|
|
31
32
|
* @param {(node: Element) => boolean} filter filter candidates
|
|
32
33
|
* @returns {Element[]}
|
|
33
34
|
*/
|
|
34
|
-
|
|
35
35
|
var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
36
36
|
var candidates = Array.prototype.slice.apply(el.querySelectorAll(candidateSelector));
|
|
37
|
-
|
|
38
37
|
if (includeContainer && matches.call(el, candidateSelector)) {
|
|
39
38
|
candidates.unshift(el);
|
|
40
39
|
}
|
|
41
|
-
|
|
42
40
|
candidates = candidates.filter(filter);
|
|
43
41
|
return candidates;
|
|
44
42
|
};
|
|
43
|
+
|
|
45
44
|
/**
|
|
46
45
|
* @callback GetShadowRoot
|
|
47
46
|
* @param {Element} element to check for shadow root
|
|
@@ -55,9 +54,9 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
55
54
|
*/
|
|
56
55
|
|
|
57
56
|
/**
|
|
58
|
-
* @typedef {Object}
|
|
59
|
-
* @property {Element}
|
|
60
|
-
* @property {Element[]} candidates
|
|
57
|
+
* @typedef {Object} CandidateScope
|
|
58
|
+
* @property {Element} scopeParent contains inner candidates
|
|
59
|
+
* @property {Element[]} candidates list of candidates found in the scope parent
|
|
61
60
|
*/
|
|
62
61
|
|
|
63
62
|
/**
|
|
@@ -66,7 +65,7 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
66
65
|
* if a function, implies shadow support is enabled and either returns the shadow root of an element
|
|
67
66
|
* or a boolean stating if it has an undisclosed shadow root
|
|
68
67
|
* @property {(node: Element) => boolean} filter filter candidates
|
|
69
|
-
* @property {boolean} flatten if true then result will flatten any
|
|
68
|
+
* @property {boolean} flatten if true then result will flatten any CandidateScope into the returned list
|
|
70
69
|
* @property {ShadowRootFilter} shadowRootFilter filter shadow roots;
|
|
71
70
|
*/
|
|
72
71
|
|
|
@@ -74,44 +73,38 @@ var getCandidates = function getCandidates(el, includeContainer, filter) {
|
|
|
74
73
|
* @param {Element[]} elements list of element containers to match candidates from
|
|
75
74
|
* @param {boolean} includeContainer add container list to check
|
|
76
75
|
* @param {IterativeOptions} options
|
|
77
|
-
* @returns {Array.<Element|
|
|
76
|
+
* @returns {Array.<Element|CandidateScope>}
|
|
78
77
|
*/
|
|
79
|
-
|
|
80
|
-
|
|
81
78
|
var getCandidatesIteratively = function getCandidatesIteratively(elements, includeContainer, options) {
|
|
82
79
|
var candidates = [];
|
|
83
80
|
var elementsToCheck = Array.from(elements);
|
|
84
|
-
|
|
85
81
|
while (elementsToCheck.length) {
|
|
86
82
|
var element = elementsToCheck.shift();
|
|
87
|
-
|
|
88
83
|
if (element.tagName === 'SLOT') {
|
|
89
84
|
// add shadow dom slot scope (slot itself cannot be focusable)
|
|
90
85
|
var assigned = element.assignedElements();
|
|
91
86
|
var content = assigned.length ? assigned : element.children;
|
|
92
87
|
var nestedCandidates = getCandidatesIteratively(content, true, options);
|
|
93
|
-
|
|
94
88
|
if (options.flatten) {
|
|
95
89
|
candidates.push.apply(candidates, nestedCandidates);
|
|
96
90
|
} else {
|
|
97
91
|
candidates.push({
|
|
98
|
-
|
|
92
|
+
scopeParent: element,
|
|
99
93
|
candidates: nestedCandidates
|
|
100
94
|
});
|
|
101
95
|
}
|
|
102
96
|
} else {
|
|
103
97
|
// check candidate element
|
|
104
98
|
var validCandidate = matches.call(element, candidateSelector);
|
|
105
|
-
|
|
106
99
|
if (validCandidate && options.filter(element) && (includeContainer || !elements.includes(element))) {
|
|
107
100
|
candidates.push(element);
|
|
108
|
-
}
|
|
109
|
-
|
|
101
|
+
}
|
|
110
102
|
|
|
111
|
-
|
|
103
|
+
// iterate over shadow content if possible
|
|
104
|
+
var shadowRoot = element.shadowRoot ||
|
|
105
|
+
// check for an undisclosed shadow
|
|
112
106
|
typeof options.getShadowRoot === 'function' && options.getShadowRoot(element);
|
|
113
107
|
var validShadowRoot = !options.shadowRootFilter || options.shadowRootFilter(element);
|
|
114
|
-
|
|
115
108
|
if (shadowRoot && validShadowRoot) {
|
|
116
109
|
// add shadow dom scope IIF a shadow root node was given; otherwise, an undisclosed
|
|
117
110
|
// shadow exists, so look at light dom children as fallback BUT create a scope for any
|
|
@@ -120,12 +113,11 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
120
113
|
// slotted somewhere _inside_ the undisclosed shadow) -- the scope is created below,
|
|
121
114
|
// _after_ we return from this recursive call
|
|
122
115
|
var _nestedCandidates = getCandidatesIteratively(shadowRoot === true ? element.children : shadowRoot.children, true, options);
|
|
123
|
-
|
|
124
116
|
if (options.flatten) {
|
|
125
117
|
candidates.push.apply(candidates, _nestedCandidates);
|
|
126
118
|
} else {
|
|
127
119
|
candidates.push({
|
|
128
|
-
|
|
120
|
+
scopeParent: element,
|
|
129
121
|
candidates: _nestedCandidates
|
|
130
122
|
});
|
|
131
123
|
}
|
|
@@ -136,10 +128,8 @@ var getCandidatesIteratively = function getCandidatesIteratively(elements, inclu
|
|
|
136
128
|
}
|
|
137
129
|
}
|
|
138
130
|
}
|
|
139
|
-
|
|
140
131
|
return candidates;
|
|
141
132
|
};
|
|
142
|
-
|
|
143
133
|
var getTabindex = function getTabindex(node, isScope) {
|
|
144
134
|
if (node.tabIndex < 0) {
|
|
145
135
|
// in Chrome, <details/>, <audio controls/> and <video controls/> elements get a default
|
|
@@ -157,29 +147,23 @@ var getTabindex = function getTabindex(node, isScope) {
|
|
|
157
147
|
return 0;
|
|
158
148
|
}
|
|
159
149
|
}
|
|
160
|
-
|
|
161
150
|
return node.tabIndex;
|
|
162
151
|
};
|
|
163
|
-
|
|
164
152
|
var sortOrderedTabbables = function sortOrderedTabbables(a, b) {
|
|
165
153
|
return a.tabIndex === b.tabIndex ? a.documentOrder - b.documentOrder : a.tabIndex - b.tabIndex;
|
|
166
154
|
};
|
|
167
|
-
|
|
168
155
|
var isInput = function isInput(node) {
|
|
169
156
|
return node.tagName === 'INPUT';
|
|
170
157
|
};
|
|
171
|
-
|
|
172
158
|
var isHiddenInput = function isHiddenInput(node) {
|
|
173
159
|
return isInput(node) && node.type === 'hidden';
|
|
174
160
|
};
|
|
175
|
-
|
|
176
161
|
var isDetailsWithSummary = function isDetailsWithSummary(node) {
|
|
177
162
|
var r = node.tagName === 'DETAILS' && Array.prototype.slice.apply(node.children).some(function (child) {
|
|
178
163
|
return child.tagName === 'SUMMARY';
|
|
179
164
|
});
|
|
180
165
|
return r;
|
|
181
166
|
};
|
|
182
|
-
|
|
183
167
|
var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
184
168
|
for (var i = 0; i < nodes.length; i++) {
|
|
185
169
|
if (nodes[i].checked && nodes[i].form === form) {
|
|
@@ -187,20 +171,15 @@ var getCheckedRadio = function getCheckedRadio(nodes, form) {
|
|
|
187
171
|
}
|
|
188
172
|
}
|
|
189
173
|
};
|
|
190
|
-
|
|
191
174
|
var isTabbableRadio = function isTabbableRadio(node) {
|
|
192
175
|
if (!node.name) {
|
|
193
176
|
return true;
|
|
194
177
|
}
|
|
195
|
-
|
|
196
178
|
var radioScope = node.form || getRootNode(node);
|
|
197
|
-
|
|
198
179
|
var queryRadios = function queryRadios(name) {
|
|
199
180
|
return radioScope.querySelectorAll('input[type="radio"][name="' + name + '"]');
|
|
200
181
|
};
|
|
201
|
-
|
|
202
182
|
var radioSet;
|
|
203
|
-
|
|
204
183
|
if (typeof window !== 'undefined' && typeof window.CSS !== 'undefined' && typeof window.CSS.escape === 'function') {
|
|
205
184
|
radioSet = queryRadios(window.CSS.escape(node.name));
|
|
206
185
|
} else {
|
|
@@ -212,31 +191,59 @@ var isTabbableRadio = function isTabbableRadio(node) {
|
|
|
212
191
|
return false;
|
|
213
192
|
}
|
|
214
193
|
}
|
|
215
|
-
|
|
216
194
|
var checked = getCheckedRadio(radioSet, node.form);
|
|
217
195
|
return !checked || checked === node;
|
|
218
196
|
};
|
|
219
|
-
|
|
220
197
|
var isRadio = function isRadio(node) {
|
|
221
198
|
return isInput(node) && node.type === 'radio';
|
|
222
199
|
};
|
|
223
|
-
|
|
224
200
|
var isNonTabbableRadio = function isNonTabbableRadio(node) {
|
|
225
201
|
return isRadio(node) && !isTabbableRadio(node);
|
|
226
202
|
};
|
|
227
203
|
|
|
204
|
+
// determines if a node is ultimately attached to the window's document
|
|
205
|
+
var isNodeAttached = function isNodeAttached(node) {
|
|
206
|
+
var _nodeRootHost;
|
|
207
|
+
// The root node is the shadow root if the node is in a shadow DOM; some document otherwise
|
|
208
|
+
// (but NOT _the_ document; see second 'If' comment below for more).
|
|
209
|
+
// If rootNode is shadow root, it'll have a host, which is the element to which the shadow
|
|
210
|
+
// is attached, and the one we need to check if it's in the document or not (because the
|
|
211
|
+
// shadow, and all nodes it contains, is never considered in the document since shadows
|
|
212
|
+
// behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
|
|
213
|
+
// is hidden, or is not in the document itself but is detached, it will affect the shadow's
|
|
214
|
+
// visibility, including all the nodes it contains). The host could be any normal node,
|
|
215
|
+
// or a custom element (i.e. web component). Either way, that's the one that is considered
|
|
216
|
+
// part of the document, not the shadow root, nor any of its children (i.e. the node being
|
|
217
|
+
// tested).
|
|
218
|
+
// To further complicate things, we have to look all the way up until we find a shadow HOST
|
|
219
|
+
// that is attached (or find none) because the node might be in nested shadows...
|
|
220
|
+
// If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
|
|
221
|
+
// document (per the docs) and while it's a Document-type object, that document does not
|
|
222
|
+
// appear to be the same as the node's `ownerDocument` for some reason, so it's safer
|
|
223
|
+
// to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
|
|
224
|
+
// using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
|
|
225
|
+
// node is actually detached.
|
|
226
|
+
var nodeRootHost = getRootNode(node).host;
|
|
227
|
+
var attached = !!((_nodeRootHost = nodeRootHost) !== null && _nodeRootHost !== void 0 && _nodeRootHost.ownerDocument.contains(nodeRootHost) || node.ownerDocument.contains(node));
|
|
228
|
+
while (!attached && nodeRootHost) {
|
|
229
|
+
var _nodeRootHost2;
|
|
230
|
+
// since it's not attached and we have a root host, the node MUST be in a nested shadow DOM,
|
|
231
|
+
// which means we need to get the host's host and check if that parent host is contained
|
|
232
|
+
// in (i.e. attached to) the document
|
|
233
|
+
nodeRootHost = getRootNode(nodeRootHost).host;
|
|
234
|
+
attached = !!((_nodeRootHost2 = nodeRootHost) !== null && _nodeRootHost2 !== void 0 && _nodeRootHost2.ownerDocument.contains(nodeRootHost));
|
|
235
|
+
}
|
|
236
|
+
return attached;
|
|
237
|
+
};
|
|
228
238
|
var isZeroArea = function isZeroArea(node) {
|
|
229
239
|
var _node$getBoundingClie = node.getBoundingClientRect(),
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
240
|
+
width = _node$getBoundingClie.width,
|
|
241
|
+
height = _node$getBoundingClie.height;
|
|
233
242
|
return width === 0 && height === 0;
|
|
234
243
|
};
|
|
235
|
-
|
|
236
244
|
var isHidden = function isHidden(node, _ref) {
|
|
237
245
|
var displayCheck = _ref.displayCheck,
|
|
238
|
-
|
|
239
|
-
|
|
246
|
+
getShadowRoot = _ref.getShadowRoot;
|
|
240
247
|
// NOTE: visibility will be `undefined` if node is detached from the document
|
|
241
248
|
// (see notes about this further down), which means we will consider it visible
|
|
242
249
|
// (this is legacy behavior from a very long way back)
|
|
@@ -245,44 +252,19 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
245
252
|
if (getComputedStyle(node).visibility === 'hidden') {
|
|
246
253
|
return true;
|
|
247
254
|
}
|
|
248
|
-
|
|
249
255
|
var isDirectSummary = matches.call(node, 'details>summary:first-of-type');
|
|
250
256
|
var nodeUnderDetails = isDirectSummary ? node.parentElement : node;
|
|
251
|
-
|
|
252
257
|
if (matches.call(nodeUnderDetails, 'details:not([open]) *')) {
|
|
253
258
|
return true;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
// If rootNode is shadow root, it'll have a host, which is the element to which the shadow
|
|
257
|
-
// is attached, and the one we need to check if it's in the document or not (because the
|
|
258
|
-
// shadow, and all nodes it contains, is never considered in the document since shadows
|
|
259
|
-
// behave like self-contained DOMs; but if the shadow's HOST, which is part of the document,
|
|
260
|
-
// is hidden, or is not in the document itself but is detached, it will affect the shadow's
|
|
261
|
-
// visibility, including all the nodes it contains). The host could be any normal node,
|
|
262
|
-
// or a custom element (i.e. web component). Either way, that's the one that is considered
|
|
263
|
-
// part of the document, not the shadow root, nor any of its children (i.e. the node being
|
|
264
|
-
// tested).
|
|
265
|
-
// If rootNode is not a shadow root, it won't have a host, and so rootNode should be the
|
|
266
|
-
// document (per the docs) and while it's a Document-type object, that document does not
|
|
267
|
-
// appear to be the same as the node's `ownerDocument` for some reason, so it's safer
|
|
268
|
-
// to ignore the rootNode at this point, and use `node.ownerDocument`. Otherwise,
|
|
269
|
-
// using `rootNode.contains(node)` will _always_ be true we'll get false-positives when
|
|
270
|
-
// node is actually detached.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
var nodeRootHost = getRootNode(node).host;
|
|
274
|
-
var nodeIsAttached = (nodeRootHost === null || nodeRootHost === void 0 ? void 0 : nodeRootHost.ownerDocument.contains(nodeRootHost)) || node.ownerDocument.contains(node);
|
|
275
|
-
|
|
276
|
-
if (!displayCheck || displayCheck === 'full') {
|
|
259
|
+
}
|
|
260
|
+
if (!displayCheck || displayCheck === 'full' || displayCheck === 'legacy-full') {
|
|
277
261
|
if (typeof getShadowRoot === 'function') {
|
|
278
262
|
// figure out if we should consider the node to be in an undisclosed shadow and use the
|
|
279
263
|
// 'non-zero-area' fallback
|
|
280
264
|
var originalNode = node;
|
|
281
|
-
|
|
282
265
|
while (node) {
|
|
283
266
|
var parentElement = node.parentElement;
|
|
284
267
|
var rootNode = getRootNode(node);
|
|
285
|
-
|
|
286
268
|
if (parentElement && !parentElement.shadowRoot && getShadowRoot(parentElement) === true // check if there's an undisclosed shadow
|
|
287
269
|
) {
|
|
288
270
|
// node has an undisclosed shadow which means we can only treat it as a black box, so we
|
|
@@ -299,25 +281,27 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
299
281
|
node = parentElement;
|
|
300
282
|
}
|
|
301
283
|
}
|
|
302
|
-
|
|
303
284
|
node = originalNode;
|
|
304
|
-
}
|
|
285
|
+
}
|
|
286
|
+
// else, `getShadowRoot` might be true, but all that does is enable shadow DOM support
|
|
305
287
|
// (i.e. it does not also presume that all nodes might have undisclosed shadows); or
|
|
306
288
|
// it might be a falsy value, which means shadow DOM support is disabled
|
|
289
|
+
|
|
307
290
|
// Since we didn't find it sitting in an undisclosed shadow (or shadows are disabled)
|
|
308
291
|
// now we can just test to see if it would normally be visible or not, provided it's
|
|
309
292
|
// attached to the main document.
|
|
310
293
|
// NOTE: We must consider case where node is inside a shadow DOM and given directly to
|
|
311
294
|
// `isTabbable()` or `isFocusable()` -- regardless of `getShadowRoot` option setting.
|
|
312
295
|
|
|
313
|
-
|
|
314
|
-
if (nodeIsAttached) {
|
|
296
|
+
if (isNodeAttached(node)) {
|
|
315
297
|
// this works wherever the node is: if there's at least one client rect, it's
|
|
316
298
|
// somehow displayed; it also covers the CSS 'display: contents' case where the
|
|
317
299
|
// node itself is hidden in place of its contents; and there's no need to search
|
|
318
300
|
// up the hierarchy either
|
|
319
301
|
return !node.getClientRects().length;
|
|
320
|
-
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Else, the node isn't attached to the document, which means the `getClientRects()`
|
|
321
305
|
// API will __always__ return zero rects (this can happen, for example, if React
|
|
322
306
|
// is used to render nodes onto a detached tree, as confirmed in this thread:
|
|
323
307
|
// https://github.com/facebook/react/issues/9117#issuecomment-284228870)
|
|
@@ -330,7 +314,13 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
330
314
|
// APIs on nodes in detached containers has actually implicitly used tabbable in what
|
|
331
315
|
// was later (as of v5.2.0 on Apr 9, 2021) called `displayCheck="none"` mode -- essentially
|
|
332
316
|
// considering __everything__ to be visible because of the innability to determine styles.
|
|
333
|
-
|
|
317
|
+
//
|
|
318
|
+
// v6.0.0: As of this major release, the default 'full' option __no longer treats detached
|
|
319
|
+
// nodes as visible with the 'none' fallback.__
|
|
320
|
+
if (displayCheck !== 'legacy-full') {
|
|
321
|
+
return true; // hidden
|
|
322
|
+
}
|
|
323
|
+
// else, fallback to 'none' mode and consider the node visible
|
|
334
324
|
} else if (displayCheck === 'non-zero-area') {
|
|
335
325
|
// NOTE: Even though this tests that the node's client rect is non-zero to determine
|
|
336
326
|
// whether it's displayed, and that a detached node will __always__ have a zero-area
|
|
@@ -338,88 +328,79 @@ var isHidden = function isHidden(node, _ref) {
|
|
|
338
328
|
// this mode, we do want to consider nodes that have a zero area to be hidden at all
|
|
339
329
|
// times, and that includes attached or not.
|
|
340
330
|
return isZeroArea(node);
|
|
341
|
-
}
|
|
342
|
-
|
|
331
|
+
}
|
|
343
332
|
|
|
333
|
+
// visible, as far as we can tell, or per current `displayCheck=none` mode, we assume
|
|
334
|
+
// it's visible
|
|
344
335
|
return false;
|
|
345
|
-
};
|
|
336
|
+
};
|
|
337
|
+
|
|
338
|
+
// form fields (nested) inside a disabled fieldset are not focusable/tabbable
|
|
346
339
|
// unless they are in the _first_ <legend> element of the top-most disabled
|
|
347
340
|
// fieldset
|
|
348
|
-
|
|
349
|
-
|
|
350
341
|
var isDisabledFromFieldset = function isDisabledFromFieldset(node) {
|
|
351
342
|
if (/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(node.tagName)) {
|
|
352
|
-
var parentNode = node.parentElement;
|
|
353
|
-
|
|
343
|
+
var parentNode = node.parentElement;
|
|
344
|
+
// check if `node` is contained in a disabled <fieldset>
|
|
354
345
|
while (parentNode) {
|
|
355
346
|
if (parentNode.tagName === 'FIELDSET' && parentNode.disabled) {
|
|
356
347
|
// look for the first <legend> among the children of the disabled <fieldset>
|
|
357
348
|
for (var i = 0; i < parentNode.children.length; i++) {
|
|
358
|
-
var child = parentNode.children.item(i);
|
|
359
|
-
|
|
349
|
+
var child = parentNode.children.item(i);
|
|
350
|
+
// when the first <legend> (in document order) is found
|
|
360
351
|
if (child.tagName === 'LEGEND') {
|
|
361
352
|
// if its parent <fieldset> is not nested in another disabled <fieldset>,
|
|
362
353
|
// return whether `node` is a descendant of its first <legend>
|
|
363
354
|
return matches.call(parentNode, 'fieldset[disabled] *') ? true : !child.contains(node);
|
|
364
355
|
}
|
|
365
|
-
}
|
|
366
|
-
|
|
367
|
-
|
|
356
|
+
}
|
|
357
|
+
// the disabled <fieldset> containing `node` has no <legend>
|
|
368
358
|
return true;
|
|
369
359
|
}
|
|
370
|
-
|
|
371
360
|
parentNode = parentNode.parentElement;
|
|
372
361
|
}
|
|
373
|
-
}
|
|
374
|
-
// enabled/disabled state
|
|
375
|
-
|
|
362
|
+
}
|
|
376
363
|
|
|
364
|
+
// else, node's tabbable/focusable state should not be affected by a fieldset's
|
|
365
|
+
// enabled/disabled state
|
|
377
366
|
return false;
|
|
378
367
|
};
|
|
379
|
-
|
|
380
368
|
var isNodeMatchingSelectorFocusable = function isNodeMatchingSelectorFocusable(options, node) {
|
|
381
|
-
if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
|
|
369
|
+
if (node.disabled || isHiddenInput(node) || isHidden(node, options) ||
|
|
370
|
+
// For a details element with a summary, the summary element gets the focus
|
|
382
371
|
isDetailsWithSummary(node) || isDisabledFromFieldset(node)) {
|
|
383
372
|
return false;
|
|
384
373
|
}
|
|
385
|
-
|
|
386
374
|
return true;
|
|
387
375
|
};
|
|
388
|
-
|
|
389
376
|
var isNodeMatchingSelectorTabbable = function isNodeMatchingSelectorTabbable(options, node) {
|
|
390
377
|
if (isNonTabbableRadio(node) || getTabindex(node) < 0 || !isNodeMatchingSelectorFocusable(options, node)) {
|
|
391
378
|
return false;
|
|
392
379
|
}
|
|
393
|
-
|
|
394
380
|
return true;
|
|
395
381
|
};
|
|
396
|
-
|
|
397
382
|
var isValidShadowRootTabbable = function isValidShadowRootTabbable(shadowHostNode) {
|
|
398
383
|
var tabIndex = parseInt(shadowHostNode.getAttribute('tabindex'), 10);
|
|
399
|
-
|
|
400
384
|
if (isNaN(tabIndex) || tabIndex >= 0) {
|
|
401
385
|
return true;
|
|
402
|
-
}
|
|
386
|
+
}
|
|
387
|
+
// If a custom element has an explicit negative tabindex,
|
|
403
388
|
// browsers will not allow tab targeting said element's children.
|
|
404
|
-
|
|
405
|
-
|
|
406
389
|
return false;
|
|
407
390
|
};
|
|
391
|
+
|
|
408
392
|
/**
|
|
409
|
-
* @param {Array.<Element|
|
|
393
|
+
* @param {Array.<Element|CandidateScope>} candidates
|
|
410
394
|
* @returns Element[]
|
|
411
395
|
*/
|
|
412
|
-
|
|
413
|
-
|
|
414
396
|
var sortByOrder = function sortByOrder(candidates) {
|
|
415
397
|
var regularTabbables = [];
|
|
416
398
|
var orderedTabbables = [];
|
|
417
399
|
candidates.forEach(function (item, i) {
|
|
418
|
-
var isScope = !!item.
|
|
419
|
-
var element = isScope ? item.
|
|
400
|
+
var isScope = !!item.scopeParent;
|
|
401
|
+
var element = isScope ? item.scopeParent : item;
|
|
420
402
|
var candidateTabindex = getTabindex(element, isScope);
|
|
421
403
|
var elements = isScope ? sortByOrder(item.candidates) : element;
|
|
422
|
-
|
|
423
404
|
if (candidateTabindex === 0) {
|
|
424
405
|
isScope ? regularTabbables.push.apply(regularTabbables, elements) : regularTabbables.push(element);
|
|
425
406
|
} else {
|
|
@@ -437,11 +418,9 @@ var sortByOrder = function sortByOrder(candidates) {
|
|
|
437
418
|
return acc;
|
|
438
419
|
}, []).concat(regularTabbables);
|
|
439
420
|
};
|
|
440
|
-
|
|
441
421
|
var tabbable = function tabbable(el, options) {
|
|
442
422
|
options = options || {};
|
|
443
423
|
var candidates;
|
|
444
|
-
|
|
445
424
|
if (options.getShadowRoot) {
|
|
446
425
|
candidates = getCandidatesIteratively([el], options.includeContainer, {
|
|
447
426
|
filter: isNodeMatchingSelectorTabbable.bind(null, options),
|
|
@@ -452,66 +431,65 @@ var tabbable = function tabbable(el, options) {
|
|
|
452
431
|
} else {
|
|
453
432
|
candidates = getCandidates(el, options.includeContainer, isNodeMatchingSelectorTabbable.bind(null, options));
|
|
454
433
|
}
|
|
455
|
-
|
|
456
434
|
return sortByOrder(candidates);
|
|
457
435
|
};
|
|
458
436
|
|
|
459
|
-
let key = 0;
|
|
460
|
-
/**
|
|
461
|
-
* Trap the focus inside a specific container by prepending/appending two focus trap
|
|
462
|
-
* input boxes who return the focus into the container.
|
|
463
|
-
*
|
|
464
|
-
* @param props active: activate or deactivate the focus trap
|
|
465
|
-
* @param children Child nodes
|
|
466
|
-
* @returns
|
|
467
|
-
*/
|
|
468
|
-
const FocusTrap = (props, children) => {
|
|
469
|
-
var _a;
|
|
470
|
-
// Default value for active is true
|
|
471
|
-
const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
|
|
472
|
-
const handleFocusIn = (event, mode) => {
|
|
473
|
-
if (!children.length) {
|
|
474
|
-
return;
|
|
475
|
-
}
|
|
476
|
-
// Try to get a list of tabbable elements
|
|
477
|
-
const containerIndex = mode === 'first' ? 0 : children.length - 1;
|
|
478
|
-
const container = children[containerIndex].$elm$;
|
|
479
|
-
const focusable = tabbable(container);
|
|
480
|
-
if (!focusable.length) {
|
|
481
|
-
return;
|
|
482
|
-
}
|
|
483
|
-
// We can trap the focus, cancel the event
|
|
484
|
-
event.preventDefault();
|
|
485
|
-
event.stopPropagation();
|
|
486
|
-
// Select the appropriate element from the list
|
|
487
|
-
const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
|
|
488
|
-
let focusElement = focusable[focusIndex];
|
|
489
|
-
focusElement.focus();
|
|
490
|
-
};
|
|
491
|
-
key++;
|
|
492
|
-
return [
|
|
493
|
-
index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
|
|
494
|
-
children,
|
|
495
|
-
index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
|
|
496
|
-
];
|
|
437
|
+
let key = 0;
|
|
438
|
+
/**
|
|
439
|
+
* Trap the focus inside a specific container by prepending/appending two focus trap
|
|
440
|
+
* input boxes who return the focus into the container.
|
|
441
|
+
*
|
|
442
|
+
* @param props active: activate or deactivate the focus trap
|
|
443
|
+
* @param children Child nodes
|
|
444
|
+
* @returns
|
|
445
|
+
*/
|
|
446
|
+
const FocusTrap = (props, children) => {
|
|
447
|
+
var _a;
|
|
448
|
+
// Default value for active is true
|
|
449
|
+
const active = (_a = props.active) !== null && _a !== void 0 ? _a : false;
|
|
450
|
+
const handleFocusIn = (event, mode) => {
|
|
451
|
+
if (!children.length) {
|
|
452
|
+
return;
|
|
453
|
+
}
|
|
454
|
+
// Try to get a list of tabbable elements
|
|
455
|
+
const containerIndex = mode === 'first' ? 0 : children.length - 1;
|
|
456
|
+
const container = children[containerIndex].$elm$;
|
|
457
|
+
const focusable = tabbable(container);
|
|
458
|
+
if (!focusable.length) {
|
|
459
|
+
return;
|
|
460
|
+
}
|
|
461
|
+
// We can trap the focus, cancel the event
|
|
462
|
+
event.preventDefault();
|
|
463
|
+
event.stopPropagation();
|
|
464
|
+
// Select the appropriate element from the list
|
|
465
|
+
const focusIndex = mode === 'first' ? 0 : focusable.length - 1;
|
|
466
|
+
let focusElement = focusable[focusIndex];
|
|
467
|
+
focusElement.focus();
|
|
468
|
+
};
|
|
469
|
+
key++;
|
|
470
|
+
return [
|
|
471
|
+
index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-before-${key}`, onFocusin: e => active && handleFocusIn(e, 'last') }),
|
|
472
|
+
children,
|
|
473
|
+
index.h("input", { type: "text", "aria-hidden": "true", class: "visually-hidden", key: `focus-trap-after-${key}`, onFocusin: e => active && handleFocusIn(e, 'first') }),
|
|
474
|
+
];
|
|
497
475
|
};
|
|
498
476
|
|
|
499
|
-
/**
|
|
500
|
-
* Overlay implementation with focus trap according to
|
|
501
|
-
* https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
|
|
502
|
-
*
|
|
503
|
-
* @param props
|
|
504
|
-
* @returns
|
|
505
|
-
*/
|
|
506
|
-
const OverlayComponent = (props) => (index.h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
|
|
507
|
-
index.h("div", { class: "container", role: "dialog" },
|
|
508
|
-
index.h(FocusTrap, null,
|
|
509
|
-
index.h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
|
|
510
|
-
index.h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
|
|
511
|
-
index.h("span", { class: "visually-hidden" }, props.closeButtonText),
|
|
512
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-close" })),
|
|
513
|
-
index.h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
|
|
514
|
-
index.h("div", { class: "loader-wrapper" },
|
|
477
|
+
/**
|
|
478
|
+
* Overlay implementation with focus trap according to
|
|
479
|
+
* https://www.accessibility-developer-guide.com/examples/widgets/dialog/#modal-dialog
|
|
480
|
+
*
|
|
481
|
+
* @param props
|
|
482
|
+
* @returns
|
|
483
|
+
*/
|
|
484
|
+
const OverlayComponent = (props) => (index.h("div", { class: "overlay", onClick: () => props.onClick(), onKeyDown: e => props.onKeyDown !== undefined && props.onKeyDown(e), ref: e => e !== undefined && props.overlayRef(e) },
|
|
485
|
+
index.h("div", { class: "container", role: "dialog" },
|
|
486
|
+
index.h(FocusTrap, null,
|
|
487
|
+
index.h("div", { class: "overlay-container", tabindex: "-1" /* For initial focus */, role: "document", onClick: e => e.stopPropagation() },
|
|
488
|
+
index.h("button", { class: `overlay-close btn-blank d-inline-flex align-items-center nav-link ${props.overlay.id}`, onClick: () => props.onClick() },
|
|
489
|
+
index.h("span", { class: "visually-hidden" }, props.closeButtonText),
|
|
490
|
+
index.h(svgIcon_component.SvgIcon, { name: "pi-close" })),
|
|
491
|
+
index.h("iframe", { src: props.overlay.target, frameborder: "0", class: "frame", ref: e => e !== undefined && props.iFrameRef(e) }))),
|
|
492
|
+
index.h("div", { class: "loader-wrapper" },
|
|
515
493
|
index.h("div", { class: "loader" })))));
|
|
516
494
|
|
|
517
495
|
var iframeResizer$2 = _commonjsHelpers.createCommonjsModule(function (module) {
|
|
@@ -3252,235 +3230,235 @@ var js = {
|
|
|
3252
3230
|
|
|
3253
3231
|
var iframeResizer = js;
|
|
3254
3232
|
|
|
3255
|
-
const MiddleLinks = (props) => {
|
|
3256
|
-
return props.items.slice(1, -1).map(item => (index.h("li", { key: item.url },
|
|
3257
|
-
index.h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
|
|
3258
|
-
index.h("span", null, item.text)),
|
|
3259
|
-
props.icons ? index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
|
|
3233
|
+
const MiddleLinks = (props) => {
|
|
3234
|
+
return props.items.slice(1, -1).map(item => (index.h("li", { key: item.url },
|
|
3235
|
+
index.h("a", { href: item.url, class: "nav-link", tabindex: props.focusable === false ? '-1' : undefined },
|
|
3236
|
+
index.h("span", null, item.text)),
|
|
3237
|
+
props.icons ? index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }) : null)));
|
|
3260
3238
|
};
|
|
3261
3239
|
|
|
3262
|
-
const MiddleDropdown = (props) => {
|
|
3263
|
-
return (index.h("div", { class: "middle-dropdown-container" },
|
|
3264
|
-
index.h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
|
|
3265
|
-
index.h("span", { class: "visually-hidden" }, language_service.translate('Open menu')),
|
|
3266
|
-
index.h("span", { "aria-hidden": "true" }, "...")),
|
|
3267
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
|
|
3268
|
-
props.dropdownOpen ? (index.h("nav", { class: "middle-dropdown" },
|
|
3269
|
-
index.h("ul", { class: "no-list" },
|
|
3270
|
-
index.h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
|
|
3240
|
+
const MiddleDropdown = (props) => {
|
|
3241
|
+
return (index.h("div", { class: "middle-dropdown-container" },
|
|
3242
|
+
index.h("button", { class: "middle-dropdown-button btn btn-blank", type: "button", onClick: event => props.clickHandler(event), tabindex: props.focusable === false ? '-1' : undefined },
|
|
3243
|
+
index.h("span", { class: "visually-hidden" }, language_service.translate('Open menu')),
|
|
3244
|
+
index.h("span", { "aria-hidden": "true" }, "...")),
|
|
3245
|
+
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" }),
|
|
3246
|
+
props.dropdownOpen ? (index.h("nav", { class: "middle-dropdown" },
|
|
3247
|
+
index.h("ul", { class: "no-list" },
|
|
3248
|
+
index.h(MiddleLinks, { items: props.items, icons: false, focusable: props.focusable })))) : null));
|
|
3271
3249
|
};
|
|
3272
3250
|
|
|
3273
|
-
const BreadcrumbList = (props) => {
|
|
3274
|
-
var _a;
|
|
3275
|
-
const homeItem = props.items[0];
|
|
3276
|
-
const lastItem = props.items[props.items.length - 1];
|
|
3277
|
-
return (index.h("ol", { class: "no-list breadcrumbs-list" },
|
|
3278
|
-
index.h("li", null,
|
|
3279
|
-
index.h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
|
|
3280
|
-
index.h("span", { class: "visually-hidden" }, homeItem.text),
|
|
3281
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-home" })),
|
|
3282
|
-
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
|
|
3283
|
-
props.isConcatenated ? (index.h("li", null,
|
|
3284
|
-
index.h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (index.h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
|
|
3285
|
-
index.h("li", null,
|
|
3286
|
-
index.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))));
|
|
3251
|
+
const BreadcrumbList = (props) => {
|
|
3252
|
+
var _a;
|
|
3253
|
+
const homeItem = props.items[0];
|
|
3254
|
+
const lastItem = props.items[props.items.length - 1];
|
|
3255
|
+
return (index.h("ol", { class: "no-list breadcrumbs-list" },
|
|
3256
|
+
index.h("li", null,
|
|
3257
|
+
index.h("a", { class: "home-link nav-link", href: homeItem.url, tabindex: props.focusable === false ? '-1' : undefined },
|
|
3258
|
+
index.h("span", { class: "visually-hidden" }, homeItem.text),
|
|
3259
|
+
index.h(svgIcon_component.SvgIcon, { name: "pi-home" })),
|
|
3260
|
+
index.h(svgIcon_component.SvgIcon, { name: "pi-arrow-down", classNames: "rotate-270" })),
|
|
3261
|
+
props.isConcatenated ? (index.h("li", null,
|
|
3262
|
+
index.h(MiddleDropdown, { items: props.items, dropdownOpen: (_a = props.dropdownOpen) !== null && _a !== void 0 ? _a : false, clickHandler: e => props.clickHandler(e), focusable: props.focusable }))) : (index.h(MiddleLinks, { items: props.items, icons: true, focusable: props.focusable })),
|
|
3263
|
+
index.h("li", null,
|
|
3264
|
+
index.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))));
|
|
3287
3265
|
};
|
|
3288
3266
|
|
|
3289
3267
|
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}";
|
|
3290
3268
|
|
|
3291
|
-
const PostInternetBreadcrumbs = class {
|
|
3292
|
-
constructor(hostRef) {
|
|
3293
|
-
index.registerInstance(this, hostRef);
|
|
3294
|
-
this.customItems = undefined;
|
|
3295
|
-
this.customBreadcrumbItems = undefined;
|
|
3296
|
-
this.overlayVisible = undefined;
|
|
3297
|
-
this.isConcatenated = undefined;
|
|
3298
|
-
this.dropdownOpen = false;
|
|
3299
|
-
this.refsReady = false;
|
|
3300
|
-
}
|
|
3301
|
-
connectedCallback() {
|
|
3302
|
-
this.debouncedResize = index$1.debounce(200, this.handleResize.bind(this));
|
|
3303
|
-
window.addEventListener('resize', this.debouncedResize, { passive: true });
|
|
3304
|
-
}
|
|
3305
|
-
disconnectedCallback() {
|
|
3306
|
-
window.removeEventListener('resize', this.debouncedResize);
|
|
3307
|
-
window.removeEventListener('click', this.handleWindowClick);
|
|
3308
|
-
bodyScrollLock_esm.clearAllBodyScrollLocks();
|
|
3309
|
-
}
|
|
3310
|
-
async componentWillLoad() {
|
|
3311
|
-
// Wait for the config to arrive, then render the header
|
|
3312
|
-
try {
|
|
3313
|
-
this.customBreadcrumbItems =
|
|
3314
|
-
typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
|
|
3315
|
-
}
|
|
3316
|
-
catch (error) {
|
|
3317
|
-
console.error(error);
|
|
3318
|
-
}
|
|
3319
|
-
}
|
|
3320
|
-
componentDidLoad() {
|
|
3321
|
-
// Initially check if breadcrumb items are concatenated
|
|
3322
|
-
window.requestAnimationFrame(() => {
|
|
3323
|
-
this.handleResize();
|
|
3324
|
-
});
|
|
3325
|
-
}
|
|
3326
|
-
handleCustomConfigChage(newValue) {
|
|
3327
|
-
try {
|
|
3328
|
-
this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
|
|
3329
|
-
}
|
|
3330
|
-
catch (error) {
|
|
3331
|
-
console.error(error);
|
|
3332
|
-
}
|
|
3333
|
-
}
|
|
3334
|
-
handleResize() {
|
|
3335
|
-
// Catch and exclude vertical resize events, e.g. scrolling in iPhone
|
|
3336
|
-
if (window.innerWidth === this.lastWindowWidth) {
|
|
3337
|
-
return;
|
|
3338
|
-
}
|
|
3339
|
-
this.lastWindowWidth = window.innerWidth;
|
|
3340
|
-
this.checkConcatenation();
|
|
3341
|
-
}
|
|
3342
|
-
checkConcatenation() {
|
|
3343
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
3344
|
-
this.refsReady = true;
|
|
3345
|
-
// Delay the check
|
|
3346
|
-
window.requestAnimationFrame(() => {
|
|
3347
|
-
if (this.controlNavRef && this.visibleNavRef) {
|
|
3348
|
-
this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
|
|
3349
|
-
}
|
|
3350
|
-
});
|
|
3351
|
-
}
|
|
3352
|
-
}
|
|
3353
|
-
toggleOverlay(overlay, force) {
|
|
3354
|
-
var _a;
|
|
3355
|
-
const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
|
|
3356
|
-
if (newVisibility) {
|
|
3357
|
-
// Will trigger overlayRef() once the HTLM is rendered
|
|
3358
|
-
this.overlayVisible = newVisibility;
|
|
3359
|
-
this.currentOverlay = overlay;
|
|
3360
|
-
this.setBodyScroll(overlay);
|
|
3361
|
-
}
|
|
3362
|
-
else {
|
|
3363
|
-
const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
|
|
3364
|
-
if (this.openAnimation && this.loadedAnimation) {
|
|
3365
|
-
this.openAnimation.reverse();
|
|
3366
|
-
this.loadedAnimation.reverse();
|
|
3367
|
-
// Delay hiding overlay until after the animation finishes
|
|
3368
|
-
Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
|
|
3369
|
-
if (activeToggler) {
|
|
3370
|
-
activeToggler.focus();
|
|
3371
|
-
}
|
|
3372
|
-
this.overlayVisible = newVisibility;
|
|
3373
|
-
this.setBodyScroll(overlay);
|
|
3374
|
-
});
|
|
3375
|
-
}
|
|
3376
|
-
}
|
|
3377
|
-
}
|
|
3378
|
-
/**
|
|
3379
|
-
* Disable or re-enable body scrolling, depending on whether overlay is visible or not
|
|
3380
|
-
*/
|
|
3381
|
-
setBodyScroll(overlay) {
|
|
3382
|
-
if (this.overlayVisible) {
|
|
3383
|
-
bodyScrollLock_esm.disableBodyScroll(overlay, { reserveScrollBarGap: true });
|
|
3384
|
-
}
|
|
3385
|
-
else {
|
|
3386
|
-
bodyScrollLock_esm.enableBodyScroll(overlay);
|
|
3387
|
-
}
|
|
3388
|
-
}
|
|
3389
|
-
toggleDropdown(force) {
|
|
3390
|
-
this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
|
|
3391
|
-
if (this.dropdownOpen) {
|
|
3392
|
-
requestAnimationFrame(() => {
|
|
3393
|
-
document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
|
|
3394
|
-
});
|
|
3395
|
-
}
|
|
3396
|
-
}
|
|
3397
|
-
handleWindowClick() {
|
|
3398
|
-
this.toggleDropdown(false);
|
|
3399
|
-
}
|
|
3400
|
-
registerIFrameResizer(iFrame) {
|
|
3401
|
-
if (!iFrame) {
|
|
3402
|
-
return;
|
|
3403
|
-
}
|
|
3404
|
-
iFrame.addEventListener('load', () => {
|
|
3405
|
-
var _a, _b, _c;
|
|
3406
|
-
iframeResizer.iframeResizer({
|
|
3407
|
-
heightCalculationMethod: 'taggedElement',
|
|
3408
|
-
scrolling: true,
|
|
3409
|
-
checkOrigin: false,
|
|
3410
|
-
}, iFrame);
|
|
3411
|
-
const duration = utils.prefersReducedMotion ? 0 : 300;
|
|
3412
|
-
this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
|
|
3413
|
-
(_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
|
|
3414
|
-
(_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
|
|
3415
|
-
var _a;
|
|
3416
|
-
(_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3417
|
-
});
|
|
3418
|
-
});
|
|
3419
|
-
}
|
|
3420
|
-
/**
|
|
3421
|
-
* Reference function for the overlay element got called. It is either null (overlay closed)
|
|
3422
|
-
* or contains the overlay element as parameter.
|
|
3423
|
-
* @param e Overlay element or null
|
|
3424
|
-
* @returns void
|
|
3425
|
-
*/
|
|
3426
|
-
overlayRef(e) {
|
|
3427
|
-
if (!e) {
|
|
3428
|
-
return;
|
|
3429
|
-
}
|
|
3430
|
-
const duration = utils.prefersReducedMotion ? 0 : 500;
|
|
3431
|
-
this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
|
|
3432
|
-
duration,
|
|
3433
|
-
fill: 'forwards',
|
|
3434
|
-
});
|
|
3435
|
-
}
|
|
3436
|
-
handleKeyDown(event) {
|
|
3437
|
-
if (event.key.toLowerCase() === 'escape') {
|
|
3438
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3439
|
-
}
|
|
3440
|
-
}
|
|
3441
|
-
handleToggleDropdown() {
|
|
3442
|
-
this.toggleDropdown();
|
|
3443
|
-
}
|
|
3444
|
-
handleToggleOverlay() {
|
|
3445
|
-
this.toggleOverlay(this.currentOverlay, false);
|
|
3446
|
-
}
|
|
3447
|
-
handleControlNavRef(element) {
|
|
3448
|
-
this.controlNavRef = element;
|
|
3449
|
-
this.checkConcatenation();
|
|
3450
|
-
}
|
|
3451
|
-
handleVisibleNavRef(element) {
|
|
3452
|
-
this.visibleNavRef = element;
|
|
3453
|
-
this.checkConcatenation();
|
|
3454
|
-
}
|
|
3455
|
-
render() {
|
|
3456
|
-
// There is something wrong entirely
|
|
3457
|
-
if (!store.state) {
|
|
3458
|
-
console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
|
|
3459
|
-
return null;
|
|
3460
|
-
}
|
|
3461
|
-
// Config is not loaded yet
|
|
3462
|
-
if (!store.state.localizedConfig) {
|
|
3463
|
-
return null;
|
|
3464
|
-
}
|
|
3465
|
-
// Config has loaded but there is no breadcrumbs config
|
|
3466
|
-
if (!store.state.localizedConfig.breadcrumb) {
|
|
3467
|
-
console.warn(`Internet Header: Current project "${store.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.`);
|
|
3468
|
-
return null;
|
|
3469
|
-
}
|
|
3470
|
-
const breadcrumbConfig = store.state.localizedConfig.breadcrumb;
|
|
3471
|
-
const items = this.customBreadcrumbItems !== undefined
|
|
3472
|
-
? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
|
|
3473
|
-
: breadcrumbConfig.items;
|
|
3474
|
-
return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "breadcrumbs" }, index.h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, index.h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, index.h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), index.h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), index.h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
|
|
3475
|
-
'breadcrumbs-nav': true,
|
|
3476
|
-
'visually-hidden': !this.refsReady,
|
|
3477
|
-
} }, index.h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), index.h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (index.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) }, index.h(svgIcon_component.SvgIcon, { name: button.svgIcon.name }), index.h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (index.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: store.state.localizedConfig.header.translations.closeButtonText }))), index.h("slot", null)));
|
|
3478
|
-
}
|
|
3479
|
-
get host() { return index.getElement(this); }
|
|
3480
|
-
static get watchers() { return {
|
|
3481
|
-
"customItems": ["handleCustomConfigChage"]
|
|
3482
|
-
}; }
|
|
3483
|
-
};
|
|
3269
|
+
const PostInternetBreadcrumbs = class {
|
|
3270
|
+
constructor(hostRef) {
|
|
3271
|
+
index.registerInstance(this, hostRef);
|
|
3272
|
+
this.customItems = undefined;
|
|
3273
|
+
this.customBreadcrumbItems = undefined;
|
|
3274
|
+
this.overlayVisible = undefined;
|
|
3275
|
+
this.isConcatenated = undefined;
|
|
3276
|
+
this.dropdownOpen = false;
|
|
3277
|
+
this.refsReady = false;
|
|
3278
|
+
}
|
|
3279
|
+
connectedCallback() {
|
|
3280
|
+
this.debouncedResize = index$1.debounce(200, this.handleResize.bind(this));
|
|
3281
|
+
window.addEventListener('resize', this.debouncedResize, { passive: true });
|
|
3282
|
+
}
|
|
3283
|
+
disconnectedCallback() {
|
|
3284
|
+
window.removeEventListener('resize', this.debouncedResize);
|
|
3285
|
+
window.removeEventListener('click', this.handleWindowClick);
|
|
3286
|
+
bodyScrollLock_esm.clearAllBodyScrollLocks();
|
|
3287
|
+
}
|
|
3288
|
+
async componentWillLoad() {
|
|
3289
|
+
// Wait for the config to arrive, then render the header
|
|
3290
|
+
try {
|
|
3291
|
+
this.customBreadcrumbItems =
|
|
3292
|
+
typeof this.customItems === 'string' ? JSON.parse(this.customItems) : this.customItems;
|
|
3293
|
+
}
|
|
3294
|
+
catch (error) {
|
|
3295
|
+
console.error(error);
|
|
3296
|
+
}
|
|
3297
|
+
}
|
|
3298
|
+
componentDidLoad() {
|
|
3299
|
+
// Initially check if breadcrumb items are concatenated
|
|
3300
|
+
window.requestAnimationFrame(() => {
|
|
3301
|
+
this.handleResize();
|
|
3302
|
+
});
|
|
3303
|
+
}
|
|
3304
|
+
handleCustomConfigChage(newValue) {
|
|
3305
|
+
try {
|
|
3306
|
+
this.customBreadcrumbItems = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;
|
|
3307
|
+
}
|
|
3308
|
+
catch (error) {
|
|
3309
|
+
console.error(error);
|
|
3310
|
+
}
|
|
3311
|
+
}
|
|
3312
|
+
handleResize() {
|
|
3313
|
+
// Catch and exclude vertical resize events, e.g. scrolling in iPhone
|
|
3314
|
+
if (window.innerWidth === this.lastWindowWidth) {
|
|
3315
|
+
return;
|
|
3316
|
+
}
|
|
3317
|
+
this.lastWindowWidth = window.innerWidth;
|
|
3318
|
+
this.checkConcatenation();
|
|
3319
|
+
}
|
|
3320
|
+
checkConcatenation() {
|
|
3321
|
+
if (this.controlNavRef && this.visibleNavRef) {
|
|
3322
|
+
this.refsReady = true;
|
|
3323
|
+
// Delay the check
|
|
3324
|
+
window.requestAnimationFrame(() => {
|
|
3325
|
+
if (this.controlNavRef && this.visibleNavRef) {
|
|
3326
|
+
this.isConcatenated = this.controlNavRef.clientWidth > this.visibleNavRef.clientWidth;
|
|
3327
|
+
}
|
|
3328
|
+
});
|
|
3329
|
+
}
|
|
3330
|
+
}
|
|
3331
|
+
toggleOverlay(overlay, force) {
|
|
3332
|
+
var _a;
|
|
3333
|
+
const newVisibility = force !== null && force !== void 0 ? force : !this.overlayVisible;
|
|
3334
|
+
if (newVisibility) {
|
|
3335
|
+
// Will trigger overlayRef() once the HTLM is rendered
|
|
3336
|
+
this.overlayVisible = newVisibility;
|
|
3337
|
+
this.currentOverlay = overlay;
|
|
3338
|
+
this.setBodyScroll(overlay);
|
|
3339
|
+
}
|
|
3340
|
+
else {
|
|
3341
|
+
const activeToggler = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.breadcrumb-buttons [aria-expanded="true"]');
|
|
3342
|
+
if (this.openAnimation && this.loadedAnimation) {
|
|
3343
|
+
this.openAnimation.reverse();
|
|
3344
|
+
this.loadedAnimation.reverse();
|
|
3345
|
+
// Delay hiding overlay until after the animation finishes
|
|
3346
|
+
Promise.all([this.openAnimation.finished, this.loadedAnimation.finished]).then(() => {
|
|
3347
|
+
if (activeToggler) {
|
|
3348
|
+
activeToggler.focus();
|
|
3349
|
+
}
|
|
3350
|
+
this.overlayVisible = newVisibility;
|
|
3351
|
+
this.setBodyScroll(overlay);
|
|
3352
|
+
});
|
|
3353
|
+
}
|
|
3354
|
+
}
|
|
3355
|
+
}
|
|
3356
|
+
/**
|
|
3357
|
+
* Disable or re-enable body scrolling, depending on whether overlay is visible or not
|
|
3358
|
+
*/
|
|
3359
|
+
setBodyScroll(overlay) {
|
|
3360
|
+
if (this.overlayVisible) {
|
|
3361
|
+
bodyScrollLock_esm.disableBodyScroll(overlay, { reserveScrollBarGap: true });
|
|
3362
|
+
}
|
|
3363
|
+
else {
|
|
3364
|
+
bodyScrollLock_esm.enableBodyScroll(overlay);
|
|
3365
|
+
}
|
|
3366
|
+
}
|
|
3367
|
+
toggleDropdown(force) {
|
|
3368
|
+
this.dropdownOpen = force !== null && force !== void 0 ? force : !this.dropdownOpen;
|
|
3369
|
+
if (this.dropdownOpen) {
|
|
3370
|
+
requestAnimationFrame(() => {
|
|
3371
|
+
document.addEventListener('click', this.handleWindowClick.bind(this), { once: true });
|
|
3372
|
+
});
|
|
3373
|
+
}
|
|
3374
|
+
}
|
|
3375
|
+
handleWindowClick() {
|
|
3376
|
+
this.toggleDropdown(false);
|
|
3377
|
+
}
|
|
3378
|
+
registerIFrameResizer(iFrame) {
|
|
3379
|
+
if (!iFrame) {
|
|
3380
|
+
return;
|
|
3381
|
+
}
|
|
3382
|
+
iFrame.addEventListener('load', () => {
|
|
3383
|
+
var _a, _b, _c;
|
|
3384
|
+
iframeResizer.iframeResizer({
|
|
3385
|
+
heightCalculationMethod: 'taggedElement',
|
|
3386
|
+
scrolling: true,
|
|
3387
|
+
checkOrigin: false,
|
|
3388
|
+
}, iFrame);
|
|
3389
|
+
const duration = utils.prefersReducedMotion ? 0 : 300;
|
|
3390
|
+
this.loadedAnimation = (_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.animate([{ opacity: 1, visibility: 'visible', transform: 'translateY(0px)' }], { duration, fill: 'forwards' });
|
|
3391
|
+
(_b = iFrame.parentElement) === null || _b === void 0 ? void 0 : _b.classList.add('loaded');
|
|
3392
|
+
(_c = this.loadedAnimation) === null || _c === void 0 ? void 0 : _c.finished.then(() => {
|
|
3393
|
+
var _a;
|
|
3394
|
+
(_a = iFrame.parentElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
3395
|
+
});
|
|
3396
|
+
});
|
|
3397
|
+
}
|
|
3398
|
+
/**
|
|
3399
|
+
* Reference function for the overlay element got called. It is either null (overlay closed)
|
|
3400
|
+
* or contains the overlay element as parameter.
|
|
3401
|
+
* @param e Overlay element or null
|
|
3402
|
+
* @returns void
|
|
3403
|
+
*/
|
|
3404
|
+
overlayRef(e) {
|
|
3405
|
+
if (!e) {
|
|
3406
|
+
return;
|
|
3407
|
+
}
|
|
3408
|
+
const duration = utils.prefersReducedMotion ? 0 : 500;
|
|
3409
|
+
this.openAnimation = e.animate([{ opacity: 1, visibility: 'visible' }], {
|
|
3410
|
+
duration,
|
|
3411
|
+
fill: 'forwards',
|
|
3412
|
+
});
|
|
3413
|
+
}
|
|
3414
|
+
handleKeyDown(event) {
|
|
3415
|
+
if (event.key.toLowerCase() === 'escape') {
|
|
3416
|
+
this.toggleOverlay(this.currentOverlay, false);
|
|
3417
|
+
}
|
|
3418
|
+
}
|
|
3419
|
+
handleToggleDropdown() {
|
|
3420
|
+
this.toggleDropdown();
|
|
3421
|
+
}
|
|
3422
|
+
handleToggleOverlay() {
|
|
3423
|
+
this.toggleOverlay(this.currentOverlay, false);
|
|
3424
|
+
}
|
|
3425
|
+
handleControlNavRef(element) {
|
|
3426
|
+
this.controlNavRef = element;
|
|
3427
|
+
this.checkConcatenation();
|
|
3428
|
+
}
|
|
3429
|
+
handleVisibleNavRef(element) {
|
|
3430
|
+
this.visibleNavRef = element;
|
|
3431
|
+
this.checkConcatenation();
|
|
3432
|
+
}
|
|
3433
|
+
render() {
|
|
3434
|
+
// There is something wrong entirely
|
|
3435
|
+
if (!store.state) {
|
|
3436
|
+
console.warn(`Internet Breadcrumbs: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`);
|
|
3437
|
+
return null;
|
|
3438
|
+
}
|
|
3439
|
+
// Config is not loaded yet
|
|
3440
|
+
if (!store.state.localizedConfig) {
|
|
3441
|
+
return null;
|
|
3442
|
+
}
|
|
3443
|
+
// Config has loaded but there is no breadcrumbs config
|
|
3444
|
+
if (!store.state.localizedConfig.breadcrumb) {
|
|
3445
|
+
console.warn(`Internet Header: Current project "${store.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.`);
|
|
3446
|
+
return null;
|
|
3447
|
+
}
|
|
3448
|
+
const breadcrumbConfig = store.state.localizedConfig.breadcrumb;
|
|
3449
|
+
const items = this.customBreadcrumbItems !== undefined
|
|
3450
|
+
? [...breadcrumbConfig.items, ...this.customBreadcrumbItems]
|
|
3451
|
+
: breadcrumbConfig.items;
|
|
3452
|
+
return (index.h(index.Host, null, index.h(svgSprite_component.SvgSprite, null), index.h("div", { class: "breadcrumbs" }, index.h("div", { class: "hidden-control-breadcrumbs", "aria-hidden": "true", tabindex: "-1" }, index.h("nav", { class: "breadcrumbs-nav", ref: e => e !== undefined && this.handleControlNavRef(e) }, index.h(BreadcrumbList, { items: items, focusable: false, clickHandler: () => { } }))), index.h("h2", { class: "visually-hidden" }, breadcrumbConfig.a11yLabel), index.h("nav", { ref: e => e !== undefined && this.handleVisibleNavRef(e), class: {
|
|
3453
|
+
'breadcrumbs-nav': true,
|
|
3454
|
+
'visually-hidden': !this.refsReady,
|
|
3455
|
+
} }, index.h(BreadcrumbList, { items: items, dropdownOpen: this.dropdownOpen, isConcatenated: this.isConcatenated, clickHandler: () => this.handleToggleDropdown() })), index.h("div", { class: "breadcrumb-buttons" }, breadcrumbConfig.buttons.map(button => (index.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) }, index.h(svgIcon_component.SvgIcon, { name: button.svgIcon.name }), index.h("span", { class: "visually-hidden" }, button.text))))), this.overlayVisible && (index.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: store.state.localizedConfig.header.translations.closeButtonText }))), index.h("slot", null)));
|
|
3456
|
+
}
|
|
3457
|
+
get host() { return index.getElement(this); }
|
|
3458
|
+
static get watchers() { return {
|
|
3459
|
+
"customItems": ["handleCustomConfigChage"]
|
|
3460
|
+
}; }
|
|
3461
|
+
};
|
|
3484
3462
|
PostInternetBreadcrumbs.style = postInternetBreadcrumbsCss;
|
|
3485
3463
|
|
|
3486
3464
|
exports.swisspost_internet_breadcrumbs = PostInternetBreadcrumbs;
|