@swisspost/internet-header 1.13.5 → 1.13.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/bodyScrollLock.esm-59f17217.js +0 -2
- package/dist/cjs/if.component-31542061.js +0 -2
- package/dist/cjs/index-3216e4c8.js +0 -2
- package/dist/cjs/index-cab594bc.js +0 -2
- package/dist/cjs/index.cjs.js +11 -13
- package/dist/cjs/{klp-widget.controller-c807789c.js → klp-widget.controller-209f3662.js} +8 -6
- package/dist/cjs/{language.service-8d541626.js → language.service-94409b3d.js} +1 -3
- package/dist/cjs/loader.cjs.js +0 -2
- package/dist/cjs/{post-internet-breadcrumbs-ca62acb9.js → post-internet-breadcrumbs-d8a0a3e6.js} +2 -4
- package/dist/cjs/{post-internet-footer-a9ce4a24.js → post-internet-footer-3e114492.js} +2 -4
- package/dist/cjs/{post-internet-header-83724799.js → post-internet-header-3d26953a.js} +5 -6
- package/dist/cjs/post-klp-login-widget-7a867072.js +62 -0
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +1 -3
- package/dist/cjs/{post-language-switch-51cbcb84.js → post-language-switch-89769c16.js} +2 -4
- package/dist/cjs/post-language-switch.cjs.entry.js +2 -4
- package/dist/cjs/{post-logo-4720a646.js → post-logo-0b0d8277.js} +1 -3
- package/dist/cjs/post-logo.cjs.entry.js +1 -3
- package/dist/cjs/{post-main-navigation-c9be2641.js → post-main-navigation-05ac62f4.js} +3 -5
- package/dist/cjs/post-main-navigation.cjs.entry.js +2 -4
- package/dist/cjs/{post-meta-navigation-829b5afe.js → post-meta-navigation-19db7f19.js} +2 -4
- package/dist/cjs/post-meta-navigation.cjs.entry.js +1 -3
- package/dist/cjs/post-search-afd1abf7.js +596 -0
- package/dist/cjs/post-search.cjs.entry.js +2 -4
- package/dist/cjs/{post-skiplinks-72a46892.js → post-skiplinks-b1ea7588.js} +1 -3
- package/dist/cjs/post-skiplinks.cjs.entry.js +2 -4
- package/dist/cjs/store-9f3cc50a.js +0 -2
- package/dist/cjs/svg-icon.component-980da2bc.js +0 -2
- package/dist/cjs/svg-sprite.component-6d4865e1.js +0 -2
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +2 -4
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +2 -4
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +2 -4
- package/dist/cjs/swisspost-internet-header.cjs.js +0 -2
- package/dist/cjs/ui.service-7334148b.js +0 -2
- package/dist/cjs/utils-0a793763.js +0 -2
- package/dist/collection/assets/i18n/translations.js +0 -1
- package/dist/collection/assets/js/klp-login-widget.js +8 -4
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +0 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +0 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +0 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-scale.js +0 -1
- package/dist/collection/components/post-internet-header/post-internet-header.css +1 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js +0 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +0 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +0 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.css +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js +0 -1
- package/dist/collection/components/post-logo/post-logo.css +1 -1
- package/dist/collection/components/post-logo/post-logo.js +0 -1
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +0 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +1 -2
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +1 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -3
- package/dist/collection/components/post-search/post-search.css +4 -4
- package/dist/collection/components/post-search/post-search.js +0 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +0 -1
- package/dist/collection/data/store.js +0 -1
- package/dist/collection/index.js +0 -1
- package/dist/collection/models/breadcrumbs.model.js +0 -1
- package/dist/collection/models/coveo.model.js +0 -1
- package/dist/collection/models/footer.model.js +0 -1
- package/dist/collection/models/general.model.js +0 -1
- package/dist/collection/models/geocode.model.js +0 -1
- package/dist/collection/models/header.model.js +0 -1
- package/dist/collection/models/implementor.model.js +0 -1
- package/dist/collection/models/language.model.js +0 -1
- package/dist/collection/models/track-and-trace.model.js +0 -1
- package/dist/collection/services/config.service.js +0 -1
- package/dist/collection/services/language.service.js +1 -2
- package/dist/collection/services/route.service.js +0 -1
- package/dist/collection/services/search/coveo.service.js +0 -1
- package/dist/collection/services/search/coveo.settings.js +0 -1
- package/dist/collection/services/search/parcel.service.js +0 -1
- package/dist/collection/services/search/places.service.js +0 -1
- package/dist/collection/services/search/places.settings.js +0 -1
- package/dist/collection/services/search/search-utilities.js +0 -1
- package/dist/collection/services/search/search.service.js +0 -1
- package/dist/collection/services/ui.service.js +0 -1
- package/dist/collection/utils/highlighted.component.js +0 -1
- package/dist/collection/utils/if.component.js +0 -1
- package/dist/collection/utils/scrollparent.js +0 -1
- package/dist/collection/utils/svg-icon.component.js +0 -1
- package/dist/collection/utils/svg-sprite.component.js +0 -1
- package/dist/collection/utils/utils.js +0 -1
- package/dist/components/bodyScrollLock.esm.js +0 -2
- package/dist/components/index.js +0 -2
- package/dist/components/index2.js +0 -2
- package/dist/components/klp-widget.controller.js +8 -6
- package/dist/components/language.service.js +1 -3
- package/dist/components/post-klp-login-widget.js +0 -2
- package/dist/components/post-klp-login-widget2.js +1 -3
- package/dist/components/post-language-switch.js +0 -2
- package/dist/components/post-language-switch2.js +1 -3
- package/dist/components/post-logo.js +0 -2
- package/dist/components/post-logo2.js +1 -3
- package/dist/components/post-main-navigation.js +0 -2
- package/dist/components/post-main-navigation2.js +2 -4
- package/dist/components/post-meta-navigation.js +0 -2
- package/dist/components/post-meta-navigation2.js +2 -4
- package/dist/components/post-search.js +0 -2
- package/dist/components/post-search2.js +1 -3
- package/dist/components/post-skiplinks.js +0 -2
- package/dist/components/post-skiplinks2.js +0 -2
- package/dist/components/store.js +0 -2
- package/dist/components/svg-icon.component.js +0 -2
- package/dist/components/svg-sprite.component.js +0 -2
- package/dist/components/swisspost-internet-breadcrumbs.js +1 -3
- package/dist/components/swisspost-internet-footer.js +1 -3
- package/dist/components/swisspost-internet-header.js +4 -5
- package/dist/components/ui.service.js +0 -2
- package/dist/components/utils.js +0 -2
- package/dist/docs.json +1 -1
- package/dist/esm/bodyScrollLock.esm-afcc00e3.js +0 -2
- package/dist/esm/if.component-d88d9e48.js +0 -2
- package/dist/esm/index-a2152ff5.js +0 -2
- package/dist/esm/index-d2256e06.js +0 -2
- package/dist/esm/index.js +11 -13
- package/dist/esm/{klp-widget.controller-44b1ee83.js → klp-widget.controller-099061a3.js} +8 -6
- package/dist/esm/{language.service-e10417e6.js → language.service-9ba7302b.js} +1 -3
- package/dist/esm/loader.js +0 -2
- package/dist/esm/{post-internet-breadcrumbs-e0490c32.js → post-internet-breadcrumbs-959c559a.js} +2 -4
- package/dist/esm/{post-internet-footer-d22179a6.js → post-internet-footer-f4dcfb3b.js} +2 -4
- package/dist/esm/{post-internet-header-a57b1101.js → post-internet-header-4f6c2630.js} +5 -6
- package/dist/esm/post-klp-login-widget-519b9ac3.js +60 -0
- package/dist/esm/post-klp-login-widget.entry.js +1 -3
- package/dist/esm/{post-language-switch-8eb4e9ed.js → post-language-switch-f436d101.js} +2 -4
- package/dist/esm/post-language-switch.entry.js +2 -4
- package/dist/esm/{post-logo-319224f0.js → post-logo-9dbcf2ba.js} +1 -3
- package/dist/esm/post-logo.entry.js +1 -3
- package/dist/esm/{post-main-navigation-cc9da7b1.js → post-main-navigation-9fd0b55a.js} +3 -5
- package/dist/esm/post-main-navigation.entry.js +2 -4
- package/dist/esm/{post-meta-navigation-6fd33a79.js → post-meta-navigation-8820113b.js} +2 -4
- package/dist/esm/post-meta-navigation.entry.js +1 -3
- package/dist/esm/post-search-cf91f27a.js +594 -0
- package/dist/esm/post-search.entry.js +2 -4
- package/dist/esm/{post-skiplinks-caa68a25.js → post-skiplinks-e294cb04.js} +1 -3
- package/dist/esm/post-skiplinks.entry.js +2 -4
- package/dist/esm/store-d0d3a586.js +0 -2
- package/dist/esm/svg-icon.component-bf11f33c.js +0 -2
- package/dist/esm/svg-sprite.component-bc8c39ee.js +0 -2
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +2 -4
- package/dist/esm/swisspost-internet-footer.entry.js +2 -4
- package/dist/esm/swisspost-internet-header.entry.js +2 -4
- package/dist/esm/swisspost-internet-header.js +0 -2
- package/dist/esm/ui.service-22f2c593.js +0 -2
- package/dist/esm/utils-c8805f81.js +0 -2
- package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -2
- package/dist/esm-es5/if.component-d88d9e48.js +1 -2
- package/dist/esm-es5/index-a2152ff5.js +1 -2
- package/dist/esm-es5/index-d2256e06.js +1 -2
- package/dist/esm-es5/index.js +1 -2
- package/dist/esm-es5/{klp-widget.controller-44b1ee83.js → klp-widget.controller-099061a3.js} +1 -2
- package/dist/esm-es5/{language.service-e10417e6.js → language.service-9ba7302b.js} +1 -2
- package/dist/esm-es5/loader.js +1 -2
- package/dist/esm-es5/post-internet-breadcrumbs-959c559a.js +6 -0
- package/dist/esm-es5/{post-internet-footer-d22179a6.js → post-internet-footer-f4dcfb3b.js} +1 -2
- package/dist/esm-es5/post-internet-header-4f6c2630.js +1 -0
- package/dist/esm-es5/post-klp-login-widget-519b9ac3.js +1 -0
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -2
- package/dist/esm-es5/post-language-switch-f436d101.js +1 -0
- package/dist/esm-es5/post-language-switch.entry.js +1 -2
- package/dist/esm-es5/{post-logo-319224f0.js → post-logo-9dbcf2ba.js} +1 -2
- package/dist/esm-es5/post-logo.entry.js +1 -2
- package/dist/esm-es5/post-main-navigation-9fd0b55a.js +1 -0
- package/dist/esm-es5/post-main-navigation.entry.js +1 -2
- package/dist/esm-es5/post-meta-navigation-8820113b.js +1 -0
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -2
- package/dist/esm-es5/post-search-cf91f27a.js +1 -0
- package/dist/esm-es5/post-search.entry.js +1 -2
- package/dist/esm-es5/{post-skiplinks-caa68a25.js → post-skiplinks-e294cb04.js} +1 -2
- package/dist/esm-es5/post-skiplinks.entry.js +1 -2
- package/dist/esm-es5/store-d0d3a586.js +1 -2
- package/dist/esm-es5/svg-icon.component-bf11f33c.js +1 -2
- package/dist/esm-es5/svg-sprite.component-bc8c39ee.js +1 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -2
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -2
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -2
- package/dist/esm-es5/swisspost-internet-header.js +1 -2
- package/dist/esm-es5/ui.service-22f2c593.js +1 -2
- package/dist/esm-es5/utils-c8805f81.js +1 -2
- package/dist/swisspost-internet-header/index.esm.js +1 -2
- package/dist/swisspost-internet-header/p-01b32298.system.js +1 -0
- package/dist/swisspost-internet-header/{p-240ae9b0.system.entry.js → p-041d7100.system.entry.js} +1 -2
- package/dist/swisspost-internet-header/p-06f51515.system.js +1 -2
- package/dist/swisspost-internet-header/p-13332cc8.entry.js +1 -0
- package/dist/swisspost-internet-header/p-193b3962.js +1 -0
- package/dist/swisspost-internet-header/p-1cac596c.system.js +1 -0
- package/dist/swisspost-internet-header/p-1e8226df.system.js +1 -2
- package/dist/swisspost-internet-header/p-1efced4f.system.js +1 -0
- package/dist/swisspost-internet-header/p-1fd8561a.system.js +1 -2
- package/dist/swisspost-internet-header/p-2180a93f.js +6 -0
- package/dist/swisspost-internet-header/p-25add306.entry.js +1 -0
- package/dist/swisspost-internet-header/{p-f63740ff.system.js → p-28a03b44.system.js} +1 -2
- package/dist/swisspost-internet-header/p-2a288ef4.js +1 -0
- package/dist/swisspost-internet-header/p-31171eac.js +1 -2
- package/dist/swisspost-internet-header/p-328af556.entry.js +1 -0
- package/dist/swisspost-internet-header/p-35d3c0e2.js +1 -0
- package/dist/swisspost-internet-header/{p-7f40ebc6.system.js → p-3d025bca.system.js} +1 -2
- package/dist/swisspost-internet-header/p-3d03ece0.entry.js +1 -0
- package/dist/swisspost-internet-header/p-3ff4fe31.entry.js +1 -0
- package/dist/swisspost-internet-header/p-425336ef.js +1 -0
- package/dist/swisspost-internet-header/p-458bd664.system.js +1 -0
- package/dist/swisspost-internet-header/{p-395c3737.system.entry.js → p-466371f3.system.entry.js} +1 -2
- package/dist/swisspost-internet-header/p-4ebec8fe.js +1 -2
- package/dist/swisspost-internet-header/{p-62693134.system.js → p-4f978679.system.js} +1 -2
- package/dist/swisspost-internet-header/p-50db8a7b.js +1 -0
- package/dist/swisspost-internet-header/p-833cd107.js +2 -3
- package/dist/swisspost-internet-header/p-840aa5c6.js +1 -2
- package/dist/swisspost-internet-header/p-8e23a792.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-925f5e31.js +1 -0
- package/dist/swisspost-internet-header/p-941fb537.system.js +1 -2
- package/dist/swisspost-internet-header/p-95753443.system.js +1 -0
- package/dist/swisspost-internet-header/p-9a06a83e.entry.js +1 -0
- package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -2
- package/dist/swisspost-internet-header/{p-6f44c74a.system.entry.js → p-9fecd3e2.system.entry.js} +1 -2
- package/dist/swisspost-internet-header/{p-8a6c2961.system.js → p-a0ddb772.system.js} +1 -2
- package/dist/swisspost-internet-header/p-a119b38d.js +1 -2
- package/dist/swisspost-internet-header/p-a39139a9.js +1 -2
- package/dist/swisspost-internet-header/p-a74b380d.js +1 -2
- package/dist/swisspost-internet-header/p-af355dbc.system.js +1 -2
- package/dist/swisspost-internet-header/p-b180a9c6.js +1 -0
- package/dist/swisspost-internet-header/p-b3014611.system.js +1 -2
- package/dist/swisspost-internet-header/p-b5c47ef8.system.js +1 -2
- package/dist/swisspost-internet-header/p-bac2d2ca.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-bbd5ae03.js +1 -0
- package/dist/swisspost-internet-header/{p-e5408b13.system.entry.js → p-bfb5f92f.system.entry.js} +1 -2
- package/dist/swisspost-internet-header/{p-9246a004.system.js → p-c02cbb1b.system.js} +1 -2
- package/dist/swisspost-internet-header/p-c3a2dbaf.js +1 -2
- package/dist/swisspost-internet-header/p-c47dfca4.entry.js +1 -0
- package/dist/swisspost-internet-header/p-c58c0905.js +1 -0
- package/dist/swisspost-internet-header/p-c97c081c.js +1 -0
- package/dist/swisspost-internet-header/p-cb1c5219.js +11 -0
- package/dist/swisspost-internet-header/p-ce698eb4.entry.js +1 -0
- package/dist/swisspost-internet-header/p-d3f4cffd.system.js +1 -0
- package/dist/swisspost-internet-header/p-d7e221af.system.js +1 -2
- package/dist/swisspost-internet-header/{p-b0447498.system.entry.js → p-d91c7eb7.system.entry.js} +1 -2
- package/dist/swisspost-internet-header/p-dc2f1d20.js +1 -2
- package/dist/swisspost-internet-header/{p-a7405b55.system.js → p-de624726.system.js} +1 -2
- package/dist/swisspost-internet-header/p-e0f54a55.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-e2a9f24d.entry.js +1 -0
- package/dist/swisspost-internet-header/p-e7934b4e.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ec432905.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ecb3a8d3.system.entry.js +1 -0
- package/dist/swisspost-internet-header/p-ef26af95.system.js +1 -2
- package/dist/swisspost-internet-header/p-f77d823e.system.js +6 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -2
- package/package.json +3 -2
- package/dist/cjs/bodyScrollLock.esm-59f17217.js.map +0 -1
- package/dist/cjs/if.component-31542061.js.map +0 -1
- package/dist/cjs/index-3216e4c8.js.map +0 -1
- package/dist/cjs/index-cab594bc.js.map +0 -1
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/klp-widget.controller-c807789c.js.map +0 -1
- package/dist/cjs/language.service-8d541626.js.map +0 -1
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/post-internet-breadcrumbs-ca62acb9.js.map +0 -1
- package/dist/cjs/post-internet-footer-a9ce4a24.js.map +0 -1
- package/dist/cjs/post-internet-header-83724799.js.map +0 -1
- package/dist/cjs/post-klp-login-widget-f4a6698f.js +0 -64
- package/dist/cjs/post-klp-login-widget-f4a6698f.js.map +0 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +0 -1
- package/dist/cjs/post-language-switch-51cbcb84.js.map +0 -1
- package/dist/cjs/post-language-switch.cjs.entry.js.map +0 -1
- package/dist/cjs/post-logo-4720a646.js.map +0 -1
- package/dist/cjs/post-logo.cjs.entry.js.map +0 -1
- package/dist/cjs/post-main-navigation-c9be2641.js.map +0 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +0 -1
- package/dist/cjs/post-meta-navigation-829b5afe.js.map +0 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +0 -1
- package/dist/cjs/post-search-b96b8da5.js +0 -598
- package/dist/cjs/post-search-b96b8da5.js.map +0 -1
- package/dist/cjs/post-search.cjs.entry.js.map +0 -1
- package/dist/cjs/post-skiplinks-72a46892.js.map +0 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +0 -1
- package/dist/cjs/store-9f3cc50a.js.map +0 -1
- package/dist/cjs/svg-icon.component-980da2bc.js.map +0 -1
- package/dist/cjs/svg-sprite.component-6d4865e1.js.map +0 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +0 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +0 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +0 -1
- package/dist/cjs/swisspost-internet-header.cjs.js.map +0 -1
- package/dist/cjs/ui.service-7334148b.js.map +0 -1
- package/dist/cjs/utils-0a793763.js.map +0 -1
- package/dist/collection/assets/i18n/translations.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js.map +0 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js.map +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js.map +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js.map +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js.map +0 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js.map +0 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +0 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +0 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-scale.js.map +0 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +0 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js.map +0 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +0 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js.map +0 -1
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +0 -1
- package/dist/collection/components/post-logo/post-logo.js.map +0 -1
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js.map +0 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +0 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js.map +0 -1
- package/dist/collection/components/post-search/post-search.js.map +0 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +0 -1
- package/dist/collection/data/store.js.map +0 -1
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/models/breadcrumbs.model.js.map +0 -1
- package/dist/collection/models/coveo.model.js.map +0 -1
- package/dist/collection/models/footer.model.js.map +0 -1
- package/dist/collection/models/general.model.js.map +0 -1
- package/dist/collection/models/geocode.model.js.map +0 -1
- package/dist/collection/models/header.model.js.map +0 -1
- package/dist/collection/models/implementor.model.js.map +0 -1
- package/dist/collection/models/language.model.js.map +0 -1
- package/dist/collection/models/track-and-trace.model.js.map +0 -1
- package/dist/collection/services/config.service.js.map +0 -1
- package/dist/collection/services/language.service.js.map +0 -1
- package/dist/collection/services/route.service.js.map +0 -1
- package/dist/collection/services/search/coveo.service.js.map +0 -1
- package/dist/collection/services/search/coveo.settings.js.map +0 -1
- package/dist/collection/services/search/parcel.service.js.map +0 -1
- package/dist/collection/services/search/places.service.js.map +0 -1
- package/dist/collection/services/search/places.settings.js.map +0 -1
- package/dist/collection/services/search/search-utilities.js.map +0 -1
- package/dist/collection/services/search/search.service.js.map +0 -1
- package/dist/collection/services/ui.service.js.map +0 -1
- package/dist/collection/utils/highlighted.component.js.map +0 -1
- package/dist/collection/utils/if.component.js.map +0 -1
- package/dist/collection/utils/scrollparent.js.map +0 -1
- package/dist/collection/utils/svg-icon.component.js.map +0 -1
- package/dist/collection/utils/svg-sprite.component.js.map +0 -1
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/components/bodyScrollLock.esm.js.map +0 -1
- package/dist/components/index.js.map +0 -1
- package/dist/components/index2.js.map +0 -1
- package/dist/components/klp-widget.controller.js.map +0 -1
- package/dist/components/language.service.js.map +0 -1
- package/dist/components/post-klp-login-widget.js.map +0 -1
- package/dist/components/post-klp-login-widget2.js.map +0 -1
- package/dist/components/post-language-switch.js.map +0 -1
- package/dist/components/post-language-switch2.js.map +0 -1
- package/dist/components/post-logo.js.map +0 -1
- package/dist/components/post-logo2.js.map +0 -1
- package/dist/components/post-main-navigation.js.map +0 -1
- package/dist/components/post-main-navigation2.js.map +0 -1
- package/dist/components/post-meta-navigation.js.map +0 -1
- package/dist/components/post-meta-navigation2.js.map +0 -1
- package/dist/components/post-search.js.map +0 -1
- package/dist/components/post-search2.js.map +0 -1
- package/dist/components/post-skiplinks.js.map +0 -1
- package/dist/components/post-skiplinks2.js.map +0 -1
- package/dist/components/store.js.map +0 -1
- package/dist/components/svg-icon.component.js.map +0 -1
- package/dist/components/svg-sprite.component.js.map +0 -1
- package/dist/components/swisspost-internet-breadcrumbs.js.map +0 -1
- package/dist/components/swisspost-internet-footer.js.map +0 -1
- package/dist/components/swisspost-internet-header.js.map +0 -1
- package/dist/components/ui.service.js.map +0 -1
- package/dist/components/utils.js.map +0 -1
- package/dist/esm/bodyScrollLock.esm-afcc00e3.js.map +0 -1
- package/dist/esm/if.component-d88d9e48.js.map +0 -1
- package/dist/esm/index-a2152ff5.js.map +0 -1
- package/dist/esm/index-d2256e06.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/klp-widget.controller-44b1ee83.js.map +0 -1
- package/dist/esm/language.service-e10417e6.js.map +0 -1
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/post-internet-breadcrumbs-e0490c32.js.map +0 -1
- package/dist/esm/post-internet-footer-d22179a6.js.map +0 -1
- package/dist/esm/post-internet-header-a57b1101.js.map +0 -1
- package/dist/esm/post-klp-login-widget-d10825d0.js +0 -62
- package/dist/esm/post-klp-login-widget-d10825d0.js.map +0 -1
- package/dist/esm/post-klp-login-widget.entry.js.map +0 -1
- package/dist/esm/post-language-switch-8eb4e9ed.js.map +0 -1
- package/dist/esm/post-language-switch.entry.js.map +0 -1
- package/dist/esm/post-logo-319224f0.js.map +0 -1
- package/dist/esm/post-logo.entry.js.map +0 -1
- package/dist/esm/post-main-navigation-cc9da7b1.js.map +0 -1
- package/dist/esm/post-main-navigation.entry.js.map +0 -1
- package/dist/esm/post-meta-navigation-6fd33a79.js.map +0 -1
- package/dist/esm/post-meta-navigation.entry.js.map +0 -1
- package/dist/esm/post-search-dbf07842.js +0 -596
- package/dist/esm/post-search-dbf07842.js.map +0 -1
- package/dist/esm/post-search.entry.js.map +0 -1
- package/dist/esm/post-skiplinks-caa68a25.js.map +0 -1
- package/dist/esm/post-skiplinks.entry.js.map +0 -1
- package/dist/esm/store-d0d3a586.js.map +0 -1
- package/dist/esm/svg-icon.component-bf11f33c.js.map +0 -1
- package/dist/esm/svg-sprite.component-bc8c39ee.js.map +0 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +0 -1
- package/dist/esm/swisspost-internet-footer.entry.js.map +0 -1
- package/dist/esm/swisspost-internet-header.entry.js.map +0 -1
- package/dist/esm/swisspost-internet-header.js.map +0 -1
- package/dist/esm/ui.service-22f2c593.js.map +0 -1
- package/dist/esm/utils-c8805f81.js.map +0 -1
- package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +0 -1
- package/dist/esm-es5/if.component-d88d9e48.js.map +0 -1
- package/dist/esm-es5/index-a2152ff5.js.map +0 -1
- package/dist/esm-es5/index-d2256e06.js.map +0 -1
- package/dist/esm-es5/index.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-44b1ee83.js.map +0 -1
- package/dist/esm-es5/language.service-e10417e6.js.map +0 -1
- package/dist/esm-es5/loader.js.map +0 -1
- package/dist/esm-es5/post-internet-breadcrumbs-e0490c32.js +0 -7
- package/dist/esm-es5/post-internet-breadcrumbs-e0490c32.js.map +0 -1
- package/dist/esm-es5/post-internet-footer-d22179a6.js.map +0 -1
- package/dist/esm-es5/post-internet-header-a57b1101.js +0 -2
- package/dist/esm-es5/post-internet-header-a57b1101.js.map +0 -1
- package/dist/esm-es5/post-klp-login-widget-d10825d0.js +0 -2
- package/dist/esm-es5/post-klp-login-widget-d10825d0.js.map +0 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +0 -1
- package/dist/esm-es5/post-language-switch-8eb4e9ed.js +0 -2
- package/dist/esm-es5/post-language-switch-8eb4e9ed.js.map +0 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +0 -1
- package/dist/esm-es5/post-logo-319224f0.js.map +0 -1
- package/dist/esm-es5/post-logo.entry.js.map +0 -1
- package/dist/esm-es5/post-main-navigation-cc9da7b1.js +0 -2
- package/dist/esm-es5/post-main-navigation-cc9da7b1.js.map +0 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +0 -1
- package/dist/esm-es5/post-meta-navigation-6fd33a79.js +0 -2
- package/dist/esm-es5/post-meta-navigation-6fd33a79.js.map +0 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +0 -1
- package/dist/esm-es5/post-search-dbf07842.js +0 -2
- package/dist/esm-es5/post-search-dbf07842.js.map +0 -1
- package/dist/esm-es5/post-search.entry.js.map +0 -1
- package/dist/esm-es5/post-skiplinks-caa68a25.js.map +0 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +0 -1
- package/dist/esm-es5/store-d0d3a586.js.map +0 -1
- package/dist/esm-es5/svg-icon.component-bf11f33c.js.map +0 -1
- package/dist/esm-es5/svg-sprite.component-bc8c39ee.js.map +0 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +0 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +0 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +0 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +0 -1
- package/dist/esm-es5/ui.service-22f2c593.js.map +0 -1
- package/dist/esm-es5/utils-c8805f81.js.map +0 -1
- package/dist/swisspost-internet-header/index.esm.js.map +0 -1
- package/dist/swisspost-internet-header/p-06b24818.system.js +0 -2
- package/dist/swisspost-internet-header/p-06b24818.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-06f51515.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-101fc026.system.js +0 -2
- package/dist/swisspost-internet-header/p-101fc026.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-15b7f849.js +0 -2
- package/dist/swisspost-internet-header/p-15b7f849.js.map +0 -1
- package/dist/swisspost-internet-header/p-1e0c73ba.js +0 -7
- package/dist/swisspost-internet-header/p-1e0c73ba.js.map +0 -1
- package/dist/swisspost-internet-header/p-1e8226df.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-1fd8561a.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-240ae9b0.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-31171eac.js.map +0 -1
- package/dist/swisspost-internet-header/p-31512bdc.js +0 -12
- package/dist/swisspost-internet-header/p-31512bdc.js.map +0 -1
- package/dist/swisspost-internet-header/p-3503bc8d.system.js +0 -7
- package/dist/swisspost-internet-header/p-3503bc8d.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-395c3737.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4703a3df.js +0 -2
- package/dist/swisspost-internet-header/p-4703a3df.js.map +0 -1
- package/dist/swisspost-internet-header/p-48af8686.entry.js +0 -2
- package/dist/swisspost-internet-header/p-48af8686.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4ebec8fe.js.map +0 -1
- package/dist/swisspost-internet-header/p-520ce5c4.system.js +0 -2
- package/dist/swisspost-internet-header/p-520ce5c4.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-61eca4db.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-61eca4db.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-62693134.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-6cb25884.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-6cb25884.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-6f44c74a.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7253bc45.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7253bc45.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7c1b1c28.js +0 -2
- package/dist/swisspost-internet-header/p-7c1b1c28.js.map +0 -1
- package/dist/swisspost-internet-header/p-7ccd3ade.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7ccd3ade.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7f40ebc6.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-83151762.entry.js +0 -2
- package/dist/swisspost-internet-header/p-83151762.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-833cd107.js.map +0 -1
- package/dist/swisspost-internet-header/p-840aa5c6.js.map +0 -1
- package/dist/swisspost-internet-header/p-863f792c.system.js +0 -2
- package/dist/swisspost-internet-header/p-863f792c.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-8a1e8d50.js +0 -2
- package/dist/swisspost-internet-header/p-8a1e8d50.js.map +0 -1
- package/dist/swisspost-internet-header/p-8a6c2961.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-8f014e72.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8f014e72.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-90808312.js +0 -2
- package/dist/swisspost-internet-header/p-90808312.js.map +0 -1
- package/dist/swisspost-internet-header/p-9246a004.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-941fb537.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-9b4d5e90.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-9b9a57fe.entry.js +0 -2
- package/dist/swisspost-internet-header/p-9b9a57fe.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a119b38d.js.map +0 -1
- package/dist/swisspost-internet-header/p-a39139a9.js.map +0 -1
- package/dist/swisspost-internet-header/p-a7405b55.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-a74b380d.js.map +0 -1
- package/dist/swisspost-internet-header/p-aa41c50e.entry.js +0 -2
- package/dist/swisspost-internet-header/p-aa41c50e.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-af355dbc.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-b0447498.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b261a78e.system.js +0 -2
- package/dist/swisspost-internet-header/p-b261a78e.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-b3014611.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-b3910061.system.js +0 -2
- package/dist/swisspost-internet-header/p-b3910061.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-b5c47ef8.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c1fdbc33.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c1fdbc33.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-c3a2dbaf.js.map +0 -1
- package/dist/swisspost-internet-header/p-c6e9209d.js +0 -2
- package/dist/swisspost-internet-header/p-c6e9209d.js.map +0 -1
- package/dist/swisspost-internet-header/p-c9391554.js +0 -2
- package/dist/swisspost-internet-header/p-c9391554.js.map +0 -1
- package/dist/swisspost-internet-header/p-cb106742.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-cb106742.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d4781a7f.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d4781a7f.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d7e221af.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-dab1f2dd.js +0 -2
- package/dist/swisspost-internet-header/p-dab1f2dd.js.map +0 -1
- package/dist/swisspost-internet-header/p-dba0041e.js +0 -2
- package/dist/swisspost-internet-header/p-dba0041e.js.map +0 -1
- package/dist/swisspost-internet-header/p-dc2f1d20.js.map +0 -1
- package/dist/swisspost-internet-header/p-ded05f0c.js +0 -2
- package/dist/swisspost-internet-header/p-ded05f0c.js.map +0 -1
- package/dist/swisspost-internet-header/p-e5408b13.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-edde6c7b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-edde6c7b.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-ef26af95.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-f1f14a7f.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f1f14a7f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-f63740ff.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-f7f9d451.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f7f9d451.entry.js.map +0 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-internet-footer-d22179a6.js","mappings":"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","names":[],"sources":["src/components/post-internet-footer/components/post-footer-block-custom.component.tsx","src/components/post-internet-footer/components/post-footer-block-list.component.tsx","src/components/post-internet-footer/components/post-footer-block-socials.component.tsx","src/components/post-internet-footer/components/post-footer-block-address.component.tsx","src/components/post-internet-footer/components/post-footer-block-contact.component.tsx","src/components/post-internet-footer/post-internet-footer.scss?tag=swisspost-internet-footer&encapsulation=shadow","src/components/post-internet-footer/post-internet-footer.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { CustomBlockEntity } from '../../../models/footer.model';\n\nexport const PostFooterBlockCustom = (props: { block: CustomBlockEntity }) => {\n return (\n <div class=\"pre-footer\">\n <div class=\"block-custom container\">\n <h3>{props.block.title}</h3>\n <ul class=\"no-list box link-list\">\n {props.block.links &&\n props.block.links.map(link => (\n <li key={link.url}>\n <a class=\"flyout-link\" href={link.url} target={link.target}>\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n );\n};\n","import { h } from '@stencil/core';\nimport { CustomBlockEntity } from '../../../models/footer.model';\n\nexport const PostFooterBlockList = (props: { block: CustomBlockEntity; key: string }) => {\n return (\n <div class=\"block-list\">\n <h3>{props.block.title}</h3>\n <ul class=\"no-list box link-list\">\n {props.block.links &&\n props.block.links.map(link => (\n <li key={link.url}>\n <a class=\"flyout-link\" href={link.url} target={link.target}>\n {link.text}\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import { h } from '@stencil/core';\nimport { ContentEntity } from '../../../models/footer.model';\n\nexport const PostFooterBlockSocials = (props: { content: ContentEntity; key: string }) => {\n return (\n <div class=\"block-socials\">\n <h3>{props.content.title}</h3>\n <ul class=\"no-list socials\">\n {props.content.links.map(link => (\n <li key={link.url}>\n <a href={link.url} target={link.target}>\n <span class=\"visually-hidden\">{link.name}</span>\n <svg aria-hidden=\"true\">\n <use href={`#${link.icon}`} />\n </svg>\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n","import { h } from '@stencil/core';\nimport { BlockEntity } from '../../../models/footer.model';\nimport { PostFooterBlockSocials } from './post-footer-block-socials.component';\n\nexport const PostFooterBlockAddress = (props: { block: BlockEntity; key: string }) => {\n return (\n <div class=\"block-address\">\n <h3>{props.block.title}</h3>\n {props.block.content &&\n props.block.content\n .filter(content => content.address)\n .map(content => (\n <address class=\"vcard\" key={content.address}>\n <span class=\"adr\" innerHTML={content.address}></span>\n </address>\n ))}\n {props.block.content &&\n props.block.content\n .filter(content => content.links && content.links.length)\n .map(content => <PostFooterBlockSocials key={content.name} content={content} />)}\n </div>\n );\n};\n","import { h } from '@stencil/core';\nimport { BlockEntity } from '../../../models/footer.model';\n\nconst getContentHours = (hours: string) => hours.replace(/<[^>]*>?/gm, '');\n\nconst callUnblu = () => {\n if (typeof window['unbluLSLoad'] === 'function') {\n window['unbluLSLoad']();\n } else {\n console.error(\n 'swisspost-internet-footer: The function \"unbluLSLoad\" could not be called because it is not available in the global scope. Did you include the unblu live chat script on your page?',\n );\n }\n};\n\nconst LiveSupport = (props: { hours: string }) => (\n <button\n class=\"hours btn btn-link\"\n id=\"liveSupport\"\n type=\"button\"\n onClick={callUnblu}\n innerHTML={getContentHours(props.hours)}\n ></button>\n);\n\nexport const PostFooterBlockContact = (props: {\n block: BlockEntity;\n liveSupportEnabled: boolean;\n key: string;\n}) => {\n return (\n <div class=\"block-contact\">\n <h3>{props.block.title}</h3>\n {props.block.content &&\n props.block.content.map((content, index) => {\n const isLiveSupport =\n index === props.block.content!.length - 1 && content.text === 'Live Support';\n if (isLiveSupport && !props.liveSupportEnabled) {\n return null;\n }\n return (\n <div class=\"content-row\" key={content.name}>\n {content.number ? <p class=\"number\">{content.number}</p> : null}\n {content.text ? <p class=\"text\">{content.text}</p> : null}\n {content.hours && isLiveSupport && <LiveSupport hours={content.hours} />}\n {content.hours && !isLiveSupport && (\n // Some values arrive in the form of <p>8&emdash;12</p> and without replace and innerHTML, tags get rendered as text (project=\"klp\" language=\"en\" environment=\"int02\")\n <p class=\"hours\" innerHTML={getContentHours(content.hours)}></p>\n )}\n {content.describe ? <p class=\"describe\">{content.describe}</p> : null}\n </div>\n );\n })}\n </div>\n );\n};\n","@use \"@swisspost/design-system-styles/components/grid\";\n@use \"@swisspost/design-system-styles/variables/color\";\n@use \"@swisspost/design-system-styles/placeholders/text\";\n@use \"@swisspost/design-system-styles/functions\";\n@use \"@swisspost/design-system-styles/components/button\";\n@use \"../../utils/utils.scss\";\n@use \"../../utils/mixins.scss\";\n\n:host {\n display: block;\n}\n\nh3 {\n font-size: inherit;\n margin-top: 0;\n}\n\n.btn.btn-link {\n padding-left: 0;\n padding-right: 0;\n\n &:hover {\n cursor: pointer;\n }\n}\n\n.post-internet-footer {\n font-size: 1rem;\n font-weight: 300;\n border-top: 2px solid color.$gray-10;\n}\n\n.pre-footer {\n padding-top: 2rem;\n padding-bottom: 2rem;\n border-bottom: 2px solid color.$gray-10;\n\n .block-custom,\n .link-list {\n display: flex;\n flex-wrap: wrap;\n gap: 1rem 1.5rem;\n }\n\n h3,\n .link-list li {\n margin: 0;\n }\n}\n\n.footer-container {\n display: grid;\n grid-template-columns: 1fr 1fr 1fr 1fr;\n gap: 3.5rem 2rem;\n margin-top: 3.5rem;\n margin-bottom: 3.5rem;\n\n @include mixins.max(lg) {\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n gap: 1.5rem 2rem;\n margin-top: 1.5rem;\n margin-bottom: 1.5rem;\n }\n}\n\n.block-list {\n @include mixins.max(sm) {\n grid-column: 1 / 3;\n }\n}\n\n.block-contact,\n.block-address {\n @include mixins.max(rg) {\n grid-column: 1 / 3;\n }\n}\n\n.block-socials {\n margin-top: 3.5rem;\n\n @include mixins.max(rg) {\n margin-top: 1.5rem;\n }\n}\n\naddress {\n font-style: normal;\n}\n\n.link-list {\n li {\n margin: 1rem 0;\n }\n a {\n display: block;\n text-decoration: none;\n color: color.$gray-60;\n transition: color 200ms;\n\n &:hover {\n color: black;\n }\n }\n}\n\n.content-row {\n padding: 0.5rem 0;\n\n h3 + & {\n padding-top: 0;\n }\n\n &:last-child {\n padding-bottom: 0;\n }\n\n & + & {\n border-top: 1px solid color.$gray-10;\n }\n\n p,\n button {\n margin: 0.25rem;\n }\n}\n\n.text {\n font-weight: 700;\n}\n\n.describe {\n font-size: 0.8125rem;\n color: color.$gray-60;\n font-weight: 400;\n}\n\n.number {\n font-size: 1.25rem;\n}\n\n.socials {\n display: inline-grid;\n grid-auto-flow: row;\n grid-template-columns: repeat(4, 1fr);\n gap: 1rem 1.5rem;\n\n a {\n display: block;\n color: color.$gray-60;\n transition: color 200ms;\n\n &:hover,\n &:focus {\n color: black;\n }\n }\n\n svg {\n display: block;\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.copyright {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem 1.5rem;\n margin-top: 2rem;\n margin-bottom: 2rem;\n font-size: functions.px-to-rem(12px);\n}\n\n.footer-meta-links {\n display: flex;\n flex-wrap: wrap;\n gap: 0.5rem;\n font-weight: 400;\n}\n","import { Component, Host, h, State } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { PostFooterBlockCustom } from './components/post-footer-block-custom.component';\nimport { PostFooterBlockList } from './components/post-footer-block-list.component';\nimport { PostFooterBlockAddress } from './components/post-footer-block-address.component';\nimport { PostFooterBlockContact } from './components/post-footer-block-contact.component';\nimport { translate } from '../../services/language.service';\n\n@Component({\n tag: 'swisspost-internet-footer',\n styleUrl: 'post-internet-footer.scss',\n shadow: true,\n})\nexport class PostInternetFooter {\n @State() liveSupportEnabled = false;\n @State() cookieSettingsEnabled = false;\n\n constructor() {\n this.liveSupportEnabled = this.unbluEnabled();\n this.cookieSettingsEnabled = this.ucUIEnabled();\n\n /**\n * If the unblu script is not available, wait 5 seconds for it to load.\n * If it's still not there after 5 seconds, abandon efforts and don't\n * show the live support button.\n */\n if (!this.liveSupportEnabled) {\n let intervalId: number;\n let runs = 0;\n\n const checker = () => {\n const unbluEnabled = this.unbluEnabled();\n const ucUIEnabled = this.ucUIEnabled();\n const isEnabled = unbluEnabled && ucUIEnabled;\n if (unbluEnabled) {\n this.liveSupportEnabled = true;\n }\n if (ucUIEnabled) {\n this.cookieSettingsEnabled = true;\n }\n if (isEnabled || runs >= 5) {\n window.clearInterval(intervalId);\n }\n runs++;\n };\n\n intervalId = window.setInterval(checker, 1000);\n }\n }\n\n /**\n * Check if the unblu live support script is loaded\n * @returns Boolean\n */\n private unbluEnabled(): boolean {\n return typeof window['unbluLSLoad'] === 'function';\n }\n\n private ucUIEnabled(): boolean {\n return (\n typeof window['UC_UI'] === 'object' &&\n typeof window['UC_UI']['showSecondLayer'] === 'function'\n );\n }\n\n private handleCookieSettingsClick() {\n window['UC_UI']['showSecondLayer']();\n }\n\n render() {\n // There is something wrong entirely\n if (!state) {\n console.warn(\n `Internet Footer: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`,\n );\n return null;\n }\n\n // Config has not loaded yet\n if (!state.localizedConfig) {\n return null;\n }\n\n // There's no footer config\n if (!state.localizedConfig.footer) {\n console.warn(\n `Internet Footer: Current project \"${state.projectId}\" does not include a footer config. The footer will not be rendered. Remove `,\n document.querySelector('swisspost-internet-footer'),\n `from your markup or configure the footer in your portal config to stop seeing this warning.`,\n );\n return null;\n }\n\n const footerConfig = state.localizedConfig.footer;\n const customFooterConfig = state.localizedCustomConfig?.footer;\n\n return (\n <Host>\n <SvgSprite />\n <footer class=\"post-internet-footer light font-curve-regular\">\n <h2 class=\"visually-hidden\">{footerConfig.title}</h2>\n {customFooterConfig?.block && <PostFooterBlockCustom block={customFooterConfig?.block} />}\n <div class=\"footer-container container\">\n {footerConfig.block\n .filter(block => block.columnType === 'list')\n .map(block => (\n <PostFooterBlockList key={block.title} block={block} />\n ))}\n {footerConfig.block\n .filter(block => block.columnType === 'contact')\n .map(block => (\n <PostFooterBlockContact\n key={block.title}\n block={block}\n liveSupportEnabled={this.liveSupportEnabled}\n />\n ))}\n {footerConfig.block\n .filter(block => block.columnType === 'address')\n .map(block => (\n <PostFooterBlockAddress key={block.title} block={block} />\n ))}\n </div>\n <div class=\"copyright container\">\n <span class=\"bold\">{footerConfig.entry.text}</span>\n <ul class=\"no-list footer-meta-links\">\n {footerConfig.links\n ? footerConfig.links.map(link => (\n <li key={link.url}>\n <a class=\"nav-link\" href={link.url} target={link.target}>\n {link.text}\n </a>\n </li>\n ))\n : null}\n {this.cookieSettingsEnabled && (\n <li>\n <button class=\"nav-link cookie-settings\" onClick={this.handleCookieSettingsClick}>\n {translate('Cookie Settings')}\n </button>\n </li>\n )}\n </ul>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-internet-header-a57b1101.js","mappings":";;;;;;;;;AAGA;;;;;;AAMO,MAAM,eAAe,GAAG,CAC7B,MAAuB,EACvB,eAAgC;;IAGhC,IAAI,eAAe,KAAK,KAAK,EAAE;QAC7B,OAAO,MAAM,CAAC;KACf;;IAGD,IAAI,UAAe,CAAC;IACpB,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAErC,IAAI,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,OAAO,EAAE;;QAE7D,IAAI,oBAAoB,CAAC,MAAM,CAAC,EAAE;YAChC,OAAO,8BAA8B,CAAC,MAAM,CAAC,CAAC;SAC/C;QAED,UAAU,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KAC5C;SAAM;QACL,IAAI;YACF,UAAU,GAAG,IAAI,GAAG,CAAC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;SACjE;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,IAAI,CACV,iBAAiB,eAAe,iEAAiE,CAClG,CAAC;YACF,OAAO,MAAM,CAAC;SACf;KACF;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAExE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;;QAE1B,OAAO,MAAM,CAAC;KACf;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAChC,UAAU,CAAC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACxC,IAAI,UAAU,CAAC,GAAG;QAAE,UAAU,CAAC,GAAG,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAE3D,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF;;;;;AAKO,MAAM,oBAAoB,GAAG,CAAC,MAAuB;IAC1D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AACvD,CAAC,CAAC;AAEK,MAAM,8BAA8B,GAAG,CAAC,MAAuB;IACpE,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,qCAChB,GAAG,KACN,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,qCACxB,MAAM,KACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,qCAAU,IAAI,KAAE,gBAAgB,EAAE,IAAI,CAAC,QAAQ,IAAG,CAAC,IACrF,CAAC,IACH,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,MAAuB;IAClD,OAAO,MAAM,CAAC,GAAG,CAAC,GAAG,qCAChB,GAAG,KACN,gBAAgB,EAAE,KAAK,EACvB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,qCACxB,MAAM,KACT,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,qCAAU,IAAI,KAAE,gBAAgB,EAAE,KAAK,IAAG,CAAC,IAC7E,CAAC,IACH,CAAC,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAM,gBAAgB,GAAG,CAC9B,MAAuB,EACvB,UAAe,EACf,eAAgC;;IAGhC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,MAAM,SAAS,GAAqB,EAAE,CAAC;IAEvC,MAAM;SACH,MAAM,CAAC,OAAO,IAAI,CAAC,gBAAgB,IAAI,OAAO,CAAC;SAC/C,OAAO,CAAC,OAAO;QACd,IAAI;YACF,MAAM,KAAK,GAAG,aAAa,CACzB,UAAU,EACV,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,EACpB,eAAmC,CACpC,CAAC;YAEF,gBAAgB,GAAG,eAAe,CAChC,SAAS,EACT,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EACxB,gBAAgB,CACjB,CAAC;SACH;QAAC,WAAM;;SAEP;;QAGD,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM;;YAC3B,MAAA,MAAM,CAAC,QAAQ,0CAAE,OAAO,CAAC,QAAQ;;gBAE/B,IAAI,QAAQ,CAAC,QAAQ,KAAK,eAAe,KAAK,MAAM,IAAI,eAAe,KAAK,OAAO,CAAC,EAAE;oBACpF,gBAAgB,GAAG,IAAI,CAAC;oBACxB,OAAO;iBACR;gBAED,IAAI;oBACF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;oBAClC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,GAAG,EAAE,eAAmC,CAAC,CAAC;oBAElF,gBAAgB,GAAG,eAAe,CAChC,SAAS,EACT,KAAK,EACL,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,EACvC,gBAAgB,CACjB,CAAC;iBACH;gBAAC,WAAM;;iBAEP;aACF,CAAC,CAAC;SACJ,CAAC,CAAC;KACJ,CAAC,CAAC;IAEL,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;;AAGA,SAAS,eAAe,CACtB,SAA2B,EAC3B,KAAa,EACb,aAAkB,EAClB,gBAAyB;IAEzB,IAAI,aAAa,GAAG,gBAAgB,CAAC;IAErC,IAAI,KAAK,GAAG,CAAC,EAAE;QACb,IAAI,KAAK,KAAK,QAAQ;YAAE,aAAa,GAAG,IAAI,CAAC;;QAE7C,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAC/B;IAED,OAAO,aAAa,CAAC;AACvB,CAAC;AAED;;;;;;;AAOO,MAAM,aAAa,GAAG,CAC3B,OAAY,EACZ,UAAe,EACf,SAA4B;;IAG5B,IAAI,OAAO,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,EAAE;QACnF,OAAO,CAAC,CAAC;KACV;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACzD,MAAM,cAAc,GAAG,UAAU,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;;IAG/D,IAAI,WAAW,KAAK,cAAc,EAAE;QAClC,OAAO,QAAQ,CAAC;KACjB;;IAGD,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxD,OAAO,CAAC,CAAC;KACV;IAED,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,MAAM,YAAY,GAAG;YACnB,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE;YAClC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;SAC9D,CAAC;QACF,MAAM,eAAe,GAAG;YACtB,UAAU,CAAC,MAAM,CAAC,iBAAiB,EAAE;YACrC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;SACjE,CAAC;QAEF,MAAM,KAAK,GAAG,kBAAkB,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;;QAGhE,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,KAAK,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC;KACpF;IAED,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AAEF;;;;;;AAMO,MAAM,kBAAkB,GAAG,CAAC,CAAW,EAAE,CAAW;IACzD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;QAC9D,OAAO,CAAC,CAAC;KACV;IAED,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5C,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YACjB,OAAO,CAAC,CAAC;SACV;KACF;IAED,OAAO,CAAC,CAAC;AACX,CAAC;;ACjOD;AACA,IAAI,OAAO,GAAkC,IAAI,CAAC;AAElD;AACA,IAAI,aAAa,GAAyB,IAAI,CAAC;AAE/C,MAAM,YAAY,GAAG;IACnB,MAAM,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAEnE,IAAI,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,WAAW,KAAI,IAAI,EAAE;QACxC,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAChD;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAM,kBAAkB,GAAG,OAAO,EACvC,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,iBAAiB,GACS;;IAC1B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IACjC,IAAI,eAAiC,CAAC;IACtC,IAAI,MAAM,GAAyB,IAAI,CAAC;IACxC,IAAI,IAAwB,CAAC;IAE7B,IAAI,SAAS,EAAE;QACb,eAAe,GAAG,SAAS,CAAC;QAC5B,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC;KACtC;SAAM;QACL,IAAI,OAAO,IAAI,IAAI,EAAE;YACnB,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;SAC/C;QAED,MAAM,GAAG,MAAM,OAAO,CAAC;QACvB,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;QAE9E,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;SAC1E;;QAGD,eAAe,qBAAQ,MAAM,CAAC,IAAI,CAAC,CAAE,CAAC;KACvC;;IAGD,IAAI,qBAAqB,EAAE;QACzB,MAAM,MAAM,GAAG,CAAA,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,MAAM,0CAAE,OAAO;8CAE5C,eAAe,CAAC,MAAM,KACzB,OAAO,EAAE,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,MAEvF,eAAe,CAAC,MAAM,CAAC;QAC3B,eAAe,mCACV,eAAe,KAClB,MAAM,GACP,CAAC;KACH;;IAGD,IAAI,iBAAiB;QACnB,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,sBAAsB,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;;IAG9F,IAAI,eAAe,IAAI,IAAI;QACzB,eAAe,CAAC,MAAM,CAAC,OAAO,GAAG,eAAe,CAC9C,eAAe,CAAC,MAAM,CAAC,OAAO,EAC9B,eAAe,CAChB,CAAC;IAEJ,oBAAoB,CAAC,MAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,MAAM,0CAAE,OAAO,CAAC,CAAC;;IAGvD,qBAAqB,CAAC,IAAI,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAExD,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;AAMO,MAAM,sBAAsB,GAAG,CACpC,MAAwB,EACxB,iBAAgC;IAEhC,IAAI,iBAAiB,IAAI,IAAI;QAAE,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAE5D,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO;;QACtC,IAAI,OAAO,CAAC,EAAE,KAAK,WAAW;YAAE,OAAO,OAAO,CAAC;QAE/C,IAAI,aAAa,KAAK,IAAI,EAAE;YAC1B,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAkB,CAAC;SACtE;QAED,MAAM,WAAW,GAAG,MAAA,iBAAiB,CAAC,IAAI,mCAAI,aAAa,CAAC,IAAI,CAAC;QACjE,MAAM,YAAY,GAAG,MAAA,iBAAiB,CAAC,KAAK,mCAAI,aAAa,CAAC,KAAK,CAAC;QAEpE,IACE,aAAa,CAAC,MAAM,IAAI,IAAI;YAC5B,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YACjC,iBAAiB,CAAC,MAAM,IAAI,IAAI;YAChC,iBAAiB,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAErC,uCACK,OAAO,KACV,KAAK,EAAE,YAAY,EACnB,IAAI,EAAE,WAAW,IACjB;;QAGJ,MAAM,aAAa,GAAG;YACpB,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK;;gBACrC,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAA,SAAS,CAAC,KAAK,mCAAI,GAAG,CAAC,KAAK,CAAC;gBAE3C,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,IAAI,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;gBAE5F,OAAO;oBACL,KAAK;oBACL,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,GAAG,QAAQ,CAAC;iBACzC,CAAC;aACH,CAAC;YACF,GAAG,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC;SAC/D,CAAC;QAEF,OAAO,gCACF,OAAO,KACV,IAAI,EAAE,WAAW,EACjB,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,aAAa,GACL,CAAC;KACpB,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;AAKO,MAAM,WAAW,GAAG,OACzB,SAAiB,EACjB,WAAwB;;IAGxB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,wCAAwC,SAAS,GAAG,CAAC,CAAC;KACvE;IAED,IAAI,SAAS,KAAK,MAAM,EAAE;QACxB,WAAW,GAAG,OAAO,CAAC;KACvB;IAED,IAAI,GAAG,GAAG,iBAAiB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;;IAGpD,IAAI;QACF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,QAAQ,MAAM,GAAG,CAAC,IAAI,EAAE,EAAmB;KAC5C;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,4CAA4C,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;KAC9E;AACH,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAAE,WAAwB;IAC3E,IAAI,SAAS,KAAK,MAAM;QAAE,OAAO,uCAAuC,CAAC;IAEzE,MAAM,iBAAiB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IACpD,MAAM,MAAM,GAAG,iBAAiB,KAAK,MAAM,CAAC;IAC5C,MAAM,IAAI,GAAG,WAAW,MAAM,GAAG,KAAK,GAAG,KAAK,UAAU,CAAC;IACzD,IAAI;;QAEF,OAAO,IAAI,GAAG,CACZ,GAAG,IAAI,gCAAgC,kBAAkB,CAAC,SAAS,CAAC,GAClE,CAAC,MAAM,GAAG,eAAe,GAAG,iBAAiB,GAAG,EAClD,EAAE,CACH,CAAC,QAAQ,EAAE,CAAC;KACd;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;KAC5D;AACH,CAAC,CAAC;AAEF;;;;;;AAMO,MAAM,gBAAgB,GAAG,CAAC,SAAiB;IAChD,OAAO,SAAS,KAAK,EAAE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,6BAA6B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACnG,CAAC,CAAC;AAEF;;;;;;;AAOO,MAAM,wBAAwB,GAAG,CACtC,MAA8B,EAC9B,QAAgB;;IAEhB,IAAI,YAA2B,CAAC;IAChC,IAAI;QACF,YAAY,GAAG,OAAO,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;KACzE;IAAC,OAAO,KAAK,EAAE;QACd,MAAM,IAAI,KAAK,CACb,iIAAiI,CAClI,CAAC;KACH;IACD,IAAI,qBAAqB,GAAuC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACvF,IAAI,MAAA,qBAAqB,aAArB,qBAAqB,uBAArB,qBAAqB,CAAE,MAAM,0CAAE,OAAO;QACxC,oBAAoB,CAAC,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7D,OAAO,qBAAqB,CAAC;AAC/B,CAAC,CAAC;AAQF;;;;AAIO,MAAM,oBAAoB,GAAG,CAAC,eAAgC;IACnE,eAAe,CAAC,OAAO,CAAC,aAAa;QACnC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,KAAK,WAAW,GAAG,aAAa,CAAC,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;KAChG,CAAC,CAAC;AACL,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzQD,MAAM,YAAY,GAAG,CAAC,IAAa;IACjC,IAAI,EAAE,IAAI,YAAY,WAAW,IAAI,IAAI,YAAY,UAAU,CAAC,EAAE;QAChE,OAAO,KAAK,CAAC;KACd;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,YAAY;QAC/D,MAAM,KAAK,GAAG,KAAK,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QACnD,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,QAAQ,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,eAAe,GAAG,CAAC,IAAa;IAC3C,IAAI,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IACvC,OAAO,aAAa,EAAE;QACpB,IAAI,aAAa,CAAC,QAAQ,KAAK,MAAM,EAAE;YACrC,OAAO,QAAQ,CAAC;SACjB;QACD,IAAI,YAAY,CAAC,aAAa,CAAC,EAAE;YAC/B,OAAO,aAAa,CAAC;SACtB;QACD,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC;KAC7C;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;;ACpBD;;;AAGO,MAAM,YAAY,GAAG,CAC1B,SAA6C,EAC7C,aAA2B;IAE3B,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAChD,MAAM,cAAc,GAClB,YAAY,YAAY,OAAO;UAC3B,YAAY,CAAC,SAAS;UACtB,YAAY,CAAC,eAAe,CAAC,SAAS,CAAC;IAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,KAAK,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC;IAEjE,IAAI,oBAA4B,EAAE,gBAAwB,CAAC;IAC3D,IAAI,aAAa,EAAE;;QAEjB,oBAAoB,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;QAClD,gBAAgB,GAAG,aAAa,CAAC,YAAY,CAAC;KAC/C;SAAM;QACL,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;QACxE,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,sBAAsB,CAAC,CAAC,GAAG,QAAQ,CAAC;QAChG,oBAAoB;YAClB,gBAAgB,GAAG,UAAU,CAAC,YAAY,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,GAAG,QAAQ,CAAC;KAC9F;;IAGD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,gBAAgB,GAAG,CAAC,EAAE;QACxB,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,oBAAoB,GAAG,gBAAgB,CAAC,EACzF,CAAC,CACF,CAAC;KACH;IAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC1B,CAAC;;ACpCM,MAAM,6BAA6B,GAAG,CAC3C,MAAmB,EACnB,SAA6C;IAE7C,MAAM,YAAY,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;;;;IAKhD,MAAM,YAAY,GAAG;QACnB,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;KAC9E,CAAC;IAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;;;;;IAM9C,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,OAAO;QACL,OAAO,CAAC,OAAO,CAAC,KAAK;YACnB,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,EAAE;gBACvD,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACzE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;;gBAG7C,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;aAC5C;iBAAM;gBACL,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACzD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAChD,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;aAC5C;SACF,CAAC,CAAC;KACJ,EACD;;QAEE,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;KACtB,CACF,CAAC;IACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEzB,OAAO,YAAY,CAAC;AACtB,CAAC;;AC/CD,MAAM,qBAAqB,GAAG,wnOAAwnO,CAAC;AACvpO,sCAAe,qBAAqB;;MCqCvB,kBAAkB;;;;;IAuG7B,MAAM,kBAAkB;;QACtB,OAAO,MAAA,KAAK,CAAC,eAAe,mCAAI,IAAI,CAAC;KACtC;IAWD;;;QAPQ,kBAAa,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;QAGrE,oBAAe,GAAW,MAAM,CAAC,UAAU,CAAC;QAgL5C,4BAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;0BAvR7B,SAAS;;oBAUzB,IAAI;qBAKH,IAAI;sBAKH,IAAI;yBAKD,IAAI;;2BAUE,MAAM;;;;uCAqBE,oCAAoC;;2BAW/B,MAAM;;yBAUxB,KAAK;4BAOI,IAAI;qCACc,IAAI;+BAClC,IAAI;QAsB7B,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YACxF,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,OAAO,wCAAwC,CACxF,CAAC;SACH;KACF;IAED,iBAAiB;QACf,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;KACjE;IAED,oBAAoB;QAClB,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;;QAGtE,OAAO,EAAE,CAAC;KACX;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,YAAY,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;;QAGtF,IAAI;YACF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;YAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACnC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAiB,CAAC;YACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;YACvE,KAAK,CAAC,uBAAuB;gBAC3B,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ;sBAC5C,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;sBACxC,IAAI,CAAC,uBAAuB,CAAC;YACnC,KAAK,CAAC,iBAAiB;gBACrB,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;sBACtC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;sBAClC,IAAI,CAAC,iBAAiB,CAAC;YAE7B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE;gBACnC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CACvB,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,CAC1F,CAAC;gBACF,MAAM,IAAI,GAAG,KAAK,CAAC,eAAe,IAAI,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACxE,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;aACjF;YAED,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;gBAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;gBACvB,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;gBACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;gBAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;gBACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;aAC3C,CAAC,CAAC;SACJ;QAAC,OAAO,KAAK,EAAE;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SACtB;KACF;IAED,gBAAgB;QACd,MAAM,CAAC,qBAAqB,CAAC;YAC3B,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC7B,IAAI,CAAC,mBAAmB,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aACnF;SACF,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;YAC5B,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;KAChF;IAGD,MAAM,oBAAoB,CAAC,QAAgB;QACzC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;QACjC,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,QAAQ;YAClB,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;YAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,YAAY;YACnB,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;KACvF;IAGD,8BAA8B,CAAC,QAAuC;QACpE,KAAK,CAAC,uBAAuB,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;KAChG;IAGD,MAAM,uBAAuB,CAAC,QAAgC;QAC5D,KAAK,CAAC,iBAAiB,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC;QACzF,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;YAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC,CAAC;KACJ;IAGD,MAAM,uBAAuB,CAAC,QAAkC;QAC9D,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;YAC7C,eAAe,EAAE,QAAQ;YACzB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;YAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC,CAAC;KACJ;IAGD,MAAM,wBAAwB,CAAC,QAAgC;QAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,OAAO;QACxC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChF,KAAK,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACpD,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;YACvB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;YACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;YAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;YACjC,qBAAqB,EAAE,qBAAqB;YAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;SAC3C,CAAC,CAAC;KACJ;IAGD,kBAAkB,CAAC,QAAiB;QAClC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;KACzB;IAGD,iBAAiB,CAAC,QAAiB;QACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;KACxB;IAGD,gBAAgB,CAAC,QAAiB;QAChC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;KACvB;IAGD,yBAAyB,CAAC,KAA0B;QAClD,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KAC9C;IAGD,sBAAsB,CAAC,QAA2B;QAChD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;QAC5B,IAAI,OAAO,IAAI,CAAC,mBAAmB,KAAK,UAAU;YAAE,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAChF;IAIO,kBAAkB,CAAC,KAAY;;QAErC,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;YAC5F,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACvD;KACF;IAEO,WAAW,CAAC,KAAoB;QACtC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC1B,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACvD;YACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9C,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACzC;SACF;KACF;IAEO,iBAAiB;;QAEvB,MAAM,EAAE,GACN,IAAI,CAAC,YAAY,YAAY,QAAQ;cACjC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,SAAS;cAC3C,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;;;QAIlC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;YACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;SACtE;;QAGD,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;KACvC;IAEO,YAAY;;;QAElB,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;YACpF,MAAA,IAAI,CAAC,qBAAqB,0CAAE,cAAc,CAAC,KAAK,CAAC,CAAC;SACnD;QAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;KAC1C;;;;;;;IAQO,qBAAqB,CAAC,KAAiC;QAC7D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;;;YAG7E,OAAO;SACR;QAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;YACrB,IAAI,IAAI,CAAC,qBAAqB,EAAE;gBAC9B,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aACvD;YAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;YAElD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;;;;;gBAK7B,MAAM,CAAC,UAAU,CAAC;oBAChB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;iBAChE,EAAE,EAAE,CAAC,CAAC;aACR;YAED,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9C,KAAK,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;aACzC;SACF;aAAM;YACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;;YAGlC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;SACnE;KACF;;;;;IAMO,mBAAmB,CAAC,KAAiC;QAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;QAEjC,IAAI,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;YACvE,KAAK,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;SACvD;KACF;IAEO,oBAAoB;;QAC1B,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,EAAE,CAAC;KAChC;IAEO,aAAa;QACnB,QACE,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,KAAK,sBAAsB,EAC3F;KACH;IAEO,oBAAoB,CAAC,CAAQ;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAyB,CAAC;QAC7C,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,gBAAgB,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC;KACjE;IAED,MAAM;;QACJ,IAAI,EAAC,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAA,EAAE;YAClC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;YACrE,OAAO;SACR;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;QACrC,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI;YACT,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACnC,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAG,CAAC,CAAC;QACrE,MAAM,WAAW,GACf,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,KAAK,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;QACzF,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QAE9D,MAAM,gBAAgB,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjD,QACE,EAAC,IAAI,IACH,KAAK,EAAE,cAAc,IAAI,CAAC,UAAU,IAClC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,eAAe,GAAG,EACxF,EAAE,kBACY,WAAW,CAAC,OAAO,EACjC,OAAO,EAAE,CAAC,CAAgB,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAClD,KAAK,EAAE,EAAE,cAAc,EAAE,gBAAgB,EAAE,IAE3C,cAAQ,KAAK,EAAE,uBAAuB,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,EAAE,EAAE,IACzE,EAAC,SAAS,OAAG,EACb,UAAI,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,qBAAqB,CAAC,CAAM,EACnE,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,SAAS,IAC3B,yBAAiC,CAC9B,EACL,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,IACjC,4BACE,WAAW,EAAC,YAAY,EACxB,KAAK,EAAC,WAAW,gBACL,IAAI,CAAC,SAAS,EAC1B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,IACjC,4BACE,EAAE,EAAC,8BAA8B,EACjC,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAC/B,CACrB,CACgB,CACpB,EACL,WAAK,KAAK,EAAC,0CAA0C,IACnD,oBAAuB,EACvB,cACE,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,mBAC5B,MAAM,mBACN,sCAAsC,mBACrC,IAAI,CAAC,qBAAqB,GAAG,MAAM,GAAG,OAAO,IAE5D,YAAM,KAAK,EAAC,kCAAkC,IAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAQ,EACrF,EAAC,OAAO,IAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,GAAG,UAAU,GAAG,SAAS,GAAY,CACjE,EACT,4BACE,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,eAAe,EAAE,CAAC,IAAI,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EACjD,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC,IAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,IACjC,4BAAsB,WAAW,EAAC,UAAU,IAC1C,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,IACjC,4BACE,EAAE,EAAC,6BAA6B,EAChC,IAAI,EAAC,MAAM,GACW,CACrB,CACgB,CACpB,CACgB,EACvB,WAAK,KAAK,EAAC,0BAA0B,IACnC,WAAK,KAAK,EAAC,gCAAgC,EAAC,MAAM,EAAE,IAAI,CAAC,eAAe,IACtE,YAAM,IAAI,EAAC,MAAM,EAAC,YAAY,EAAE,CAAC,IAAI,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAS,CACtE,EACN,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,MAAM,IACxB,mBAAa,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAgB,CAC/E,EACL,EAAC,EAAE,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW,IAC1B,2CAAmC,IAAI,CAAC,SAAS,IAC/C,YAAM,IAAI,EAAC,cAAc,GAAQ,CACX,CACrB,EACL,EAAC,EAAE,IAAC,SAAS,EAAE,CAAC,oBAAoB,IAAI,oBAAoB,IAC1D,4BACE,EAAE,EAAC,8BAA8B,EACjC,iBAAiB,EAAE,CAAC,IAAI,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,IAAI,EAAC,UAAU,GACO,CACrB,CACD,CACF,CACC,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/services/route.service.ts","src/services/config.service.ts","src/utils/scrollparent.ts","src/components/post-internet-header/logo-animation/logo-scale.ts","src/components/post-internet-header/logo-animation/logo-animation.ts","src/components/post-internet-header/post-internet-header.scss?tag=swisspost-internet-header&encapsulation=shadow","src/components/post-internet-header/post-internet-header.tsx"],"sourcesContent":["import { ActiveRouteProp } from '../models/general.model';\nimport { NavMainEntity, MainNavScoreList } from '../models/header.model';\n\n/**\n * Activate the current route based on the config and the match mode\n * @param config Main Navigation Config\n * @param activeRouteProp Match mode\n * @returns Modified Main Navigation Config\n */\nexport const markActiveRoute = (\n config: NavMainEntity[],\n activeRouteProp: ActiveRouteProp,\n): NavMainEntity[] => {\n // Don't highlight any route\n if (activeRouteProp === false) {\n return config;\n }\n\n // Set compare URL and check if activeRouteProp is valid\n let compareUrl: URL;\n config = resetOverrideConfig(config);\n\n if (activeRouteProp === 'auto' || activeRouteProp === 'exact') {\n // Check if an active route is already configured, set override to that and return\n if (hasActivePortalRoute(config)) {\n return resetActiveStateToPortalConfig(config);\n }\n\n compareUrl = new URL(window.location.href);\n } else {\n try {\n compareUrl = new URL(activeRouteProp, document.location.origin);\n } catch (error) {\n console.warn(\n `Active Route: ${activeRouteProp} is not a valid URL. Navigation highlighting has been disabled.`,\n );\n return config;\n }\n }\n\n const scoreList = compileScoreList(config, compareUrl, activeRouteProp);\n\n if (scoreList.length === 0) {\n // No match found or already active links defined\n return config;\n }\n\n const winnerPair = scoreList[0];\n winnerPair.main.isActiveOverride = true;\n if (winnerPair.sub) winnerPair.sub.isActiveOverride = true;\n\n return config;\n};\n\n/**\n * Check if the portal config set any active route\n * @param config Main navigation config\n * @returns True if portal set any route as active\n */\nexport const hasActivePortalRoute = (config: NavMainEntity[]): boolean => {\n return config.filter(nav => nav.isActive).length > 0;\n};\n\nexport const resetActiveStateToPortalConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: nav.isActive,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: link.isActive })),\n })),\n }));\n};\n\nconst resetOverrideConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: false,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: false })),\n })),\n }));\n};\n\n/**\n * Compile a list of scores based on the map mode, sorted in descending order\n * @param config Main Nav Config\n * @param compareUrl Current Browser URL or a custom URL\n * @param activeRouteProp Match mode\n * @returns A list of scored URLs if any matched\n */\nexport const compileScoreList = (\n config: NavMainEntity[],\n compareUrl: URL,\n activeRouteProp: ActiveRouteProp,\n): MainNavScoreList => {\n // Flag to check if the Portal set any active links or if there are any exact matches\n let hadAnyActiveLink = false;\n const scoreList: MainNavScoreList = [];\n\n config\n .filter(mainNav => !hadAnyActiveLink && mainNav)\n .forEach(mainNav => {\n try {\n const score = compareRoutes(\n compareUrl,\n new URL(mainNav.url),\n activeRouteProp as 'auto' | 'exact',\n );\n\n hadAnyActiveLink = updateScoreList(\n scoreList,\n score,\n { main: mainNav, score },\n hadAnyActiveLink,\n );\n } catch {\n // Not a valid url, continue\n }\n\n // Loop through flyout links 2nd level\n mainNav.flyout.forEach(flyout => {\n flyout.linkList?.forEach(linklist => {\n // Don't override if any link is already active\n if (linklist.isActive && (activeRouteProp === 'auto' || activeRouteProp === 'exact')) {\n hadAnyActiveLink = true;\n return;\n }\n\n try {\n const url = new URL(linklist.url);\n const score = compareRoutes(compareUrl, url, activeRouteProp as 'auto' | 'exact');\n\n hadAnyActiveLink = updateScoreList(\n scoreList,\n score,\n { main: mainNav, sub: linklist, score },\n hadAnyActiveLink,\n );\n } catch {\n // Not a valid URL, continue\n }\n });\n });\n });\n\n return scoreList.sort((a, b) => b.score - a.score);\n};\n\n/**\n * Update score list\n */\nfunction updateScoreList(\n scoreList: MainNavScoreList,\n score: number,\n scoreListItem: any,\n hadAnyActiveLink: boolean,\n) {\n let hadActiveLink = hadAnyActiveLink;\n\n if (score > 0) {\n if (score === Infinity) hadActiveLink = true;\n // Push score\n scoreList.push(scoreListItem);\n }\n\n return hadActiveLink;\n}\n\n/**\n * Compare two URLs for similarity based on a match mode\n * @param baseUrl Browser URL\n * @param compareUrl Navigatgion URL\n * @param matchMode exact or auto matching\n * @returns Score\n */\nexport const compareRoutes = (\n baseUrl: URL,\n compareUrl: URL,\n matchMode?: 'auto' | 'exact',\n): number => {\n // One url is not defined or they don't share the same orign\n if (baseUrl === null || compareUrl === null || baseUrl.origin !== compareUrl.origin) {\n return 0;\n }\n\n const baseUrlPath = baseUrl.pathname.toLocaleLowerCase();\n const compareUrlPath = compareUrl.pathname.toLocaleLowerCase();\n\n // Exact match, origin and pathname are the same\n if (baseUrlPath === compareUrlPath) {\n return Infinity;\n }\n\n // The basepath is longer than the comparison, a match is impossible\n if (baseUrl.pathname.length < compareUrl.pathname.length) {\n return 0;\n }\n\n if (matchMode === 'auto') {\n const baseSegments = [\n baseUrl.origin.toLocaleLowerCase(),\n ...baseUrlPath.split('/').filter(x => x !== null && x !== ''),\n ];\n const compareSegments = [\n compareUrl.origin.toLocaleLowerCase(),\n ...compareUrlPath.split('/').filter(x => x !== null && x !== ''),\n ];\n\n const score = getSimilarityScore(baseSegments, compareSegments);\n\n // If only some segments match, but not the whole smaller array, it's not a match\n return Math.min(baseSegments.length, compareSegments.length) === score ? score : 0;\n }\n\n return 0;\n};\n\n/**\n * Check how many items in an array match\n * @param a Base array\n * @param b Compare array\n * @returns Score\n */\nexport const getSimilarityScore = (a: string[], b: string[]): number => {\n if (a == null || b == null || a.length === 0 || b.length === 0) {\n return 0;\n }\n\n let i = 0;\n for (; i < Math.min(a.length, b.length); i++) {\n if (a[i] !== b[i]) {\n return 0;\n }\n }\n\n return i;\n};\n","import {\n Environment,\n IPortalConfig,\n ILocalizedConfig,\n ICustomConfig,\n ILocalizedCustomConfig,\n LocalizedConfigParameters,\n} from '../models/general.model';\nimport { NavMainEntity } from '../models/header.model';\nimport { getUserLang, persistLanguageChoice } from './language.service';\nimport { uniqueId } from '../utils/utils';\nimport { markActiveRoute } from './route.service';\n\n// Prevent double requests\nlet request: Promise<IPortalConfig> | null = null;\n\n// Cache the original os flyout to use it for updates\nlet osFlyoutCache: NavMainEntity | null = null;\n\nconst getPPMConfig = (): ILocalizedConfig | null => {\n const ppmConfigScript = document.querySelector('#PPM_HEADER_DATA');\n\n if (ppmConfigScript?.textContent != null) {\n return JSON.parse(ppmConfigScript.textContent);\n }\n\n return null;\n};\n\n/**\n * Get a localized config object\n *\n * @param projectId String identifying the project\n * @param language [optional] Preferred language\n * @returns Localized config object\n */\nexport const getLocalizedConfig = async ({\n projectId,\n environment,\n language,\n cookieKey,\n localStorageKey,\n activeRouteProp,\n localizedCustomConfig,\n osFlyoutOverrides,\n}: LocalizedConfigParameters): Promise<ILocalizedConfig> => {\n const ppmConfig = getPPMConfig();\n let localizedConfig: ILocalizedConfig;\n let config: IPortalConfig | null = null;\n let lang: string | undefined;\n\n if (ppmConfig) {\n localizedConfig = ppmConfig;\n lang = document.documentElement.lang;\n } else {\n if (request == null) {\n request = fetchConfig(projectId, environment);\n }\n\n config = await request;\n lang = getUserLang(Object.keys(config), language, localStorageKey, cookieKey);\n\n if (lang === undefined) {\n throw new Error('Internet Header: unable to determine current language');\n }\n\n // Clone config for more predictable state updates\n localizedConfig = { ...config[lang] };\n }\n\n // Merge custom config with portal config\n if (localizedCustomConfig) {\n const header = localizedCustomConfig?.header?.navMain\n ? {\n ...localizedConfig.header,\n navMain: [...localizedConfig.header.navMain, ...localizedCustomConfig.header.navMain],\n }\n : localizedConfig.header;\n localizedConfig = {\n ...localizedConfig,\n header,\n };\n }\n\n // Add entries to flyout_os\n if (osFlyoutOverrides)\n localizedConfig.header.navMain = mergeOsFlyoutOverrides(localizedConfig, osFlyoutOverrides);\n\n // Mark active route\n if (activeRouteProp != null)\n localizedConfig.header.navMain = markActiveRoute(\n localizedConfig.header.navMain,\n activeRouteProp,\n );\n\n setMainNavigationIds(localizedConfig?.header?.navMain);\n\n // Set the new language choice\n persistLanguageChoice(lang, cookieKey, localStorageKey);\n\n return localizedConfig;\n};\n\n/**\n * Merge portal config with custom os flyout overrides\n * @param config Localized config\n * @param osFlyoutOverrides Overrides for the flyout\n * @returns Merged localized config\n */\nexport const mergeOsFlyoutOverrides = (\n config: ILocalizedConfig,\n osFlyoutOverrides: NavMainEntity,\n): NavMainEntity[] => {\n if (osFlyoutOverrides == null) return config.header.navMain;\n\n return config.header.navMain.map(mainNav => {\n if (mainNav.id !== 'flyout_os') return mainNav;\n\n if (osFlyoutCache === null) {\n osFlyoutCache = JSON.parse(JSON.stringify(mainNav)) as NavMainEntity;\n }\n\n const mainNavText = osFlyoutOverrides.text ?? osFlyoutCache.text;\n const mainNavTitle = osFlyoutOverrides.title ?? osFlyoutCache.title;\n\n if (\n osFlyoutCache.flyout == null ||\n osFlyoutCache.flyout.length === 0 ||\n osFlyoutOverrides.flyout == null ||\n osFlyoutOverrides.flyout.length === 0\n )\n return {\n ...mainNav,\n title: mainNavTitle,\n text: mainNavText,\n };\n\n // Add entries for os flyout columns without overriding existing config\n const mainNavFlyout = [\n ...osFlyoutCache.flyout.map((col, index) => {\n const overrides = osFlyoutOverrides.flyout[index];\n const title = overrides.title ?? col.title;\n\n const linkList = overrides.linkList != null ? osFlyoutOverrides.flyout[index].linkList : [];\n\n return {\n title,\n linkList: [...col.linkList, ...linkList],\n };\n }),\n ...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),\n ];\n\n return {\n ...mainNav,\n text: mainNavText,\n title: mainNavTitle,\n flyout: mainNavFlyout,\n } as NavMainEntity;\n });\n};\n\n/**\n * Fetch the general config based on project id\n *\n * @returns Promise for Post Portal general config\n */\nexport const fetchConfig = async (\n projectId: string,\n environment: Environment,\n): Promise<IPortalConfig> => {\n // Check if project id is sanitized\n if (!isValidProjectId(projectId)) {\n throw new Error(`Internet Header: invalid project id \"${projectId}\"`);\n }\n\n if (projectId === 'test') {\n environment = 'int01';\n }\n\n let url = generateConfigUrl(projectId, environment);\n\n // Get the config if cache is invalid\n try {\n const res = await fetch(url);\n return (await res.json()) as IPortalConfig;\n } catch (error) {\n throw new Error(`Internet Header: fetching config failed. ${error.message}`);\n }\n};\n\n/**\n * Generate an URL with all necessary query params to get the configuration.\n * Project id \"test\" will return a test configuration\n * @param projectId string\n * @param environment int01, int02 or prod\n * @returns URL pointing to the project config\n */\nexport const generateConfigUrl = (projectId: string, environment: Environment): string => {\n if (projectId === 'test') return 'assets/config/test-configuration.json';\n\n const parsedEnvironment = environment.toLowerCase();\n const isProd = parsedEnvironment === 'prod';\n const host = `https://${isProd ? 'www' : 'int'}.post.ch`;\n try {\n // Use URL to validate the generated URL\n return new URL(\n `${host}/api/headerjs/Json?serviceid=${encodeURIComponent(projectId)}${\n !isProd ? '&environment=' + parsedEnvironment : ''\n }`,\n ).toString();\n } catch (error) {\n throw new Error(`Internet Header: Config URL is invalid.`);\n }\n};\n\n/**\n * Check if project id contains only URL safe characters\n *\n * @param projectId Project Id string\n * @returns The valid project id\n */\nexport const isValidProjectId = (projectId: string): boolean => {\n return projectId !== '' && projectId.length > 0 && /^[a-zA-Z][\\w-]*[a-zA-Z0-9]$/.test(projectId);\n};\n\n/**\n * Get the localized config object from a custom config\n *\n * @param config String or json object of the custom config\n * @param language Specific language\n * @returns Localized custom config object\n */\nexport const getLocalizedCustomConfig = (\n config: string | ICustomConfig,\n language: string,\n): ILocalizedCustomConfig | undefined => {\n let customConfig: ICustomConfig;\n try {\n customConfig = typeof config === 'string' ? JSON.parse(config) : config;\n } catch (error) {\n throw new Error(\n `Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `,\n );\n }\n let localizedCustomConfig: ILocalizedCustomConfig | undefined = customConfig[language];\n if (localizedCustomConfig?.header?.navMain)\n setMainNavigationIds(localizedCustomConfig.header.navMain);\n return localizedCustomConfig;\n};\n\n/**\n * Check if mobile header styles are applied or not\n * @returns True if browser is smaller than 1024px\n */\nexport const isMobile = () => window.innerWidth < 1024;\n\n/**\n * Set unique ID's on main navigation entities but conserve flyout_os to be able to\n * identify the online-service flyout, which can be configured by osFlyoutOverrides\n */\nexport const setMainNavigationIds = (navMainEntities: NavMainEntity[]): void => {\n navMainEntities.forEach(navMainEntity => {\n navMainEntity.id = navMainEntity.id === 'flyout_os' ? navMainEntity.id : uniqueId('main-nav-');\n });\n};\n","const isScrollable = (node: Element) => {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return false;\n }\n const style = getComputedStyle(node);\n return ['overflow', 'overflow-x', 'overflow-y'].some(propertyName => {\n const value = style.getPropertyValue(propertyName);\n return value === 'auto' || value === 'scroll';\n });\n};\n\nexport const getScrollParent = (node: Element): Element | Document => {\n let currentParent = node.parentElement;\n while (currentParent) {\n if (currentParent.nodeName === 'BODY') {\n return document;\n }\n if (isScrollable(currentParent)) {\n return currentParent;\n }\n currentParent = currentParent.parentElement;\n }\n return document;\n};\n","import { state } from '../../../data/store';\nimport { getScrollParent } from '../../../utils/scrollparent';\n\n/**\n * Returns intersection ratio\n */\nexport const getLogoScale = (\n headerRef: HTMLSwisspostInternetHeaderElement,\n metaHeaderRef?: HTMLElement,\n) => {\n const scrollParent = getScrollParent(headerRef);\n const scrollDistance =\n scrollParent instanceof Element\n ? scrollParent.scrollTop\n : scrollParent.documentElement.scrollTop;\n const scrollY = state.stickyness === 'full' ? 0 : scrollDistance;\n\n let adjustedHeaderHeight: number, metaHeaderHeight: number;\n if (metaHeaderRef) {\n // Minus 1px border at the bottom that the logo is not covering\n adjustedHeaderHeight = headerRef.clientHeight - 1;\n metaHeaderHeight = metaHeaderRef.clientHeight;\n } else {\n const headerStyles = window.getComputedStyle(headerRef);\n const fontSize = parseFloat(headerStyles.getPropertyValue('font-size'));\n metaHeaderHeight = parseFloat(headerStyles.getPropertyValue('--meta-header-height')) * fontSize;\n adjustedHeaderHeight =\n metaHeaderHeight + parseFloat(headerStyles.getPropertyValue('--header-height')) * fontSize;\n }\n\n // If meta navigation is not visible (mobile, not configured), scale should just be 1\n let scale = 1;\n if (metaHeaderHeight > 0) {\n scale = Math.max(\n (adjustedHeaderHeight - Math.max(scrollY, 0)) / (adjustedHeaderHeight - metaHeaderHeight),\n 1,\n );\n }\n\n return scale.toString();\n};\n","import { debounce } from 'throttle-debounce';\nimport { getScrollParent } from '../../../utils/scrollparent';\nimport { getLogoScale } from './logo-scale';\n\nexport const registerLogoAnimationObserver = (\n target: HTMLElement,\n headerRef: HTMLSwisspostInternetHeaderElement,\n) => {\n const scrollParent = getScrollParent(headerRef);\n\n /**\n * Set intersection ratio as CSS custom property\n */\n const handleScroll = () => {\n headerRef.style.setProperty('--logo-scale', getLogoScale(headerRef, target));\n };\n\n const debounced = debounce(150, handleScroll);\n\n /**\n * Observe the meta navigation in order to not track scroll events throughout the whole page.\n * This ensures that the scroll listener is only active while the meta navigation is visible.\n */\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting && entry.intersectionRatio > 0) {\n scrollParent.addEventListener('scroll', handleScroll, { passive: true });\n window.addEventListener('resize', debounced);\n\n // Ensure callback is called at least once in case main thread is too busy while scrolling up\n window.requestAnimationFrame(handleScroll);\n } else {\n scrollParent.removeEventListener('scroll', handleScroll);\n window.removeEventListener('resize', debounced);\n window.requestAnimationFrame(handleScroll);\n }\n });\n },\n {\n // Fires when element leaves viewport (0) and when it just about enters it (0.001)\n threshold: [0, 0.001],\n },\n );\n observer.observe(target);\n\n return handleScroll;\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n@use './logo-animation/logo-animation.scss';\n\n:host {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 300;\n z-index: var(--header-z-index, 10);\n\n --header-height: 3.5rem; // 56px\n --meta-header-height: 0px; // Not visible on mobile\n --language-dropdown-margin-top: 0px;\n\n @include mixins.min(lg) {\n --meta-header-height: 3rem; // 48px\n --header-height: 4rem; // 64px\n }\n\n @include mixins.min(xl) {\n --header-height: 4.5rem; // 72px\n }\n}\n\n// Set height to 0 if meta is never visible\n:host([meta='false']) {\n --meta-header-height: 0px;\n // Compensation for header border-bottom, when language dropdown is displayed within main navigation controls\n --language-dropdown-margin-top: 1px;\n}\n\n// Support different kinds of stickyness modes\n// Works only in combination with setting header heights dynamically\n@supports (position: sticky) {\n // If stickyness is none, simply apply no styles, all others are sticky\n :host(:not(.stickyness-none)) {\n position: sticky;\n }\n\n // Everything is always sticky\n :host(.stickyness-full) {\n top: 0;\n }\n\n // Only main nav is sticky\n :host(.stickyness-main) {\n top: calc(var(--meta-header-height, 0px) * -1);\n }\n\n // Hide everything\n :host(.stickyness-minimal) {\n top: calc((var(--header-height, 0px) + var(--meta-header-height, 0px) + 1px) * -1);\n transition: top 200ms ease-in;\n }\n\n // Show main when scrolling up or any of the menus are open\n :host(.stickyness-minimal.scrolling-up),\n :host(.stickyness-minimal.dropdown-open) {\n top: calc(var(--meta-header-height, 0px) * -1);\n transition: top 200ms ease-out;\n }\n}\n\n.post-internet-header {\n border-bottom: 1px solid color.$gray-10;\n background-color: white;\n}\n\n.main-navigation-container {\n display: flex;\n\n & > .main-navigation-controls {\n flex: 0 1 auto;\n }\n}\n\n.main-navigation {\n display: flex;\n}\n\n.sub-navigation-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n display: flex;\n background: white;\n visibility: hidden;\n}\n\n.main-navigation-item:hover .sub-navigation-container {\n visibility: visible;\n}\n\n.main-navigation-controls {\n display: flex;\n margin-left: auto;\n\n @include mixins.max(lg) {\n font-weight: 400;\n }\n\n @include mixins.min(lg) {\n font-size: 1.0625rem;\n }\n\n & > * {\n border-left: 1px solid color.$gray-10;\n flex: 0 0 auto;\n }\n}\n\n.main-navigation-custom-content {\n max-height: var(--header-height);\n display: flex;\n align-items: center;\n flex-shrink: 1;\n}\n\n.menu-button {\n display: flex;\n align-items: center;\n padding: 0 calc(1rem - 1px);\n font-weight: 300;\n cursor: pointer;\n border-left: 1px solid color.$gray-10;\n order: 1; /* Display on the far right because of tab order */\n\n @include mixins.min(lg) {\n display: none;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n margin-right: 0.5rem;\n }\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.full-width {\n .wide-container {\n max-width: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { dispose, state } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { getUserLang, translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\nimport { registerLogoAnimationObserver } from './logo-animation/logo-animation';\nimport { getScrollParent } from '../../utils/scrollparent';\nimport { getLogoScale } from './logo-animation/logo-scale';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: 'de' | 'fr' | 'it' | 'en';\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @State() isMainSlotEmpty = true;\n @Element() host: HTMLSwisspostInternetHeaderElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private metaNav?: HTMLPostMetaNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n private updateLogoAnimation: () => void;\n private scrollParent: Element | Document;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n }\n\n disconnectedCallback() {\n this.scrollParent.removeEventListener('scroll', this.throttledScroll);\n this.scrollParent.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n this.scrollParent = getScrollParent(this.host);\n this.scrollParent.addEventListener('scroll', this.throttledScroll, { passive: true });\n this.scrollParent.addEventListener('resize', this.debouncedResize, { passive: true });\n\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.stickyness = this.stickyness;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined) {\n const langs = Object.keys(\n typeof this.customConfig === 'string' ? JSON.parse(this.customConfig) : this.customConfig,\n );\n const lang = state.currentLanguage || getUserLang(langs, this.language);\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, lang);\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n if (this.meta && this.metaNav) {\n this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);\n }\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChange(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n void this.handleLanguageChange(event.detail);\n }\n\n @Watch('stickyness')\n handleStickynessChange(newValue: StickynessOptions) {\n state.stickyness = newValue;\n if (typeof this.updateLogoAnimation === 'function') this.updateLogoAnimation();\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement.scrollTop\n : this.scrollParent.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open) {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outside of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n private handleMainSlotChange(e: Event) {\n const mainSlot = e.target as HTMLSlotElement;\n this.isMainSlotEmpty = mainSlot.assignedElements().length === 0;\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n const initialLogoScale = getLogoScale(this.host);\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n style={{ '--logo-scale': initialLogoScale }}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n ref={el => (this.metaNav = el)}\n >\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <div class=\"main-navigation-custom-content\" hidden={this.isMainSlotEmpty}>\n <slot name=\"main\" onSlotchange={e => this.handleMainSlotChange(e)}></slot>\n </div>\n <If condition={this.search}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget logout-url={this.logoutUrl}>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={!renderMetaNavigation && renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { r as registerInstance, h, H as Host, g as getElement } from './index-a2152ff5.js';
|
|
2
|
-
import { s as state } from './store-d0d3a586.js';
|
|
3
|
-
import { S as SvgSprite } from './svg-sprite.component-bc8c39ee.js';
|
|
4
|
-
import { S as SvgIcon } from './svg-icon.component-bf11f33c.js';
|
|
5
|
-
|
|
6
|
-
const postKlpLoginWidgetCss = ".btn-default,.btn-secondary{border:2px solid var(--post-gray-60)}.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)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .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-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .pretend-hover.btn-secondary{border-color:var(--post-gray-40)}.btn-default:disabled,.btn-secondary:disabled{border-color:var(--post-gray-40);color:var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-link:focus,.btn-tertiary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.btn-link:not(:disabled):hover,.btn-tertiary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary,.pretend-hover.btn-link,.pretend-hover.btn-tertiary{color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-secondary .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-link .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-tertiary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn{min-height:3rem;font-size:1rem;gap:.625rem;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:4px;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;color:var(--post-gray-80);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn:where(:not(.btn-link,.btn-tertiary)){padding:0 1rem}.btn>.pi,.btn>post-icon{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:rgba(0,0,0,0);background-color:var(--post-gray-80);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-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-primary{background-color:var(--post-contrast-color);color:var(--post-gray-10)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-primary.pretend-hover{background-color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .btn-primary:disabled{color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-success,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright,.bg-error-red) .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:var(--post-gray-40)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}.btn-link,.btn-tertiary{border:0;padding-inline:.25rem}.btn-link:disabled,.btn-tertiary:disabled{color:var(--post-gray-60)}@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:.75rem;padding-left:.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:.375rem;padding-left:.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:.5625rem;padding-left:.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:.9375rem;padding-left:.9375rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:\"\";position:absolute;right:.5rem;width:.625em;height:.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:.25rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:.375rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:.625rem}.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.5rem);transform:translateX(-0.5rem)}.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.5rem);transform:translateX(-0.5rem)}.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(-0.5rem);transform:translateX(-0.5rem)}.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;font-size:.75rem;gap:.375rem}.btn-sm:where(:not(.btn-link,.btn-tertiary)){padding:0 .75rem}.btn-sm>.pi,.btn-sm>post-icon{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;font-size:.875rem;gap:.5rem}.btn-rg:where(:not(.btn-link,.btn-tertiary)){padding:0 .875rem}.btn-rg>.pi,.btn-rg>post-icon{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;font-size:1.125rem;gap:.75rem}.btn-lg:where(:not(.btn-link,.btn-tertiary)){padding:0 1.125rem}.btn-lg>.pi,.btn-lg>post-icon{width:1.375rem;height:1.375rem}.btn-nightblue{border-color:rgba(0,0,0,0);background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:rgba(0,0,0,0);background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:rgba(0,0,0,0);background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:rgba(0,0,0,0);background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:rgba(0,0,0,0);background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:rgba(0,0,0,0);background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:rgba(0,0,0,0);background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:rgba(0,0,0,0);background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:rgba(0,0,0,0);background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:rgba(0,0,0,0);background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:rgba(0,0,0,0);background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:rgba(0,0,0,0);background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-info{border-color:rgba(0,0,0,0);background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}.btn-success{border-color:rgba(0,0,0,0);background-color:#2c911c;color:#fff}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614;color:#fff}.btn-warning{border-color:rgba(0,0,0,0);background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-danger{border-color:rgba(0,0,0,0);background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d;color:#fff}@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:700;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.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:400;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.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\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;font-style:italic;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2\") format(\"woff2\"),url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff\") format(\"woff\")}.visually-hidden,.klp-widget-anonymous__text{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.login-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.login-button:hover,.nav-link:focus,.login-button:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.login-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.login-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,: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}a,button{border-radius:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.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}}@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}}/*!\n * ------------------------------------------------------------------------------------------------\n * Copyright 2014 by Swiss Post, Information Technology Services\n * ------------------------------------------------------------------------------------------------\n * $Id$\n * ------------------------------------------------------------------------------------------------\n */.klp-widget-support{background-color:#f49e00 !important}.klp-widget-authenticated-session-link{display:block;padding:12px 10px;text-decoration:none;outline:none}@media (min-width: 600px)and (max-width: 1279px){.klp-widget-authenticated-session-link{padding:12px 12px}}@media (min-width: 1280px){.klp-widget-authenticated-session-link{padding:16px 16px}}.klp-widget-authenticated-menu li{position:relative;display:-ms-inline-flexbox;display:inline-flex;width:296px;height:40px;margin:0;padding:0;list-style-type:none;background-color:#fff;border-top:none}.notification-link:active{background-color:#fc0 !important}.notification-link:hover,.notification-link:focus{background-color:#f4f3f1}.klp-widget-authenticated-menu li:hover>a{color:#000}.klp-widget-authenticated-session-name{position:relative;display:table-cell;width:117px;height:55px;overflow:hidden;color:#000;font-weight:normal;font-size:15px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;white-space:nowrap;text-indent:1em;text-overflow:ellipsis;vertical-align:middle}.klp-widget-authenticated-menu a{color:rgba(0,0,0,.6);font-weight:normal;font-size:17px;font-style:normal;font-stretch:normal;line-height:17px;letter-spacing:normal}.klp-widget-authenticated-menu ul{padding-bottom:8px;padding-left:0;background-color:#fff;-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.4);box-shadow:0 0 3px 0 rgba(0,0,0,.4)}.klp-widget-authenticated-menu li:nth-child(2){margin:9px 0 0 0}.klp-widget-authenticated-menu li.name-and-surname:active{background-color:#fff}.klp-widget-authenticated-menu li.name-and-surname:hover{background-color:#fff}.klp-widget-anonymous{height:100%;color:rgba(0,0,0,.6)}.klp-widget-anonymous__wrapper{height:100%}.klp-widget-anonymous a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:0 16px;color:rgba(0,0,0,.6);font-weight:300;font-size:1rem;text-decoration:none;background-color:#fff}.klp-widget-anonymous a:hover{color:#000}.notification-number-detail{position:relative;width:25px;height:20px;margin-left:23px;padding:2px 6px;color:#fff;font-size:13px;text-align:center;background-color:#a51728;border-radius:10px}li.name-and-surname{display:-ms-flexbox;display:flex;min-width:296px;height:78px;padding-top:0;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.2)}.initials-circle{position:relative;display:table;width:40px;height:40px;margin:19px 16px;overflow:hidden;color:#fff;background-color:#004976;border-radius:40px}.initials-container{display:table-cell;font-weight:300;font-size:17px;line-height:1.65;letter-spacing:normal;text-align:center;vertical-align:middle}.initials-mobile{display:none;visibility:hidden}.notification-link{display:-ms-flexbox;display:flex;-ms-flex:0 0 100%;flex:0 0 100%;text-decoration:none}.klp-widget-notification-link-text{overflow:hidden;font-weight:normal;font-size:17px;white-space:nowrap;text-overflow:ellipsis}li.name-and-surname span.name{position:relative;display:block;width:12em;overflow:hidden;color:#000;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.nameCentered{position:relative;display:block;-ms-flex-item-align:center;align-self:center;width:12em;padding:0;overflow:hidden;color:#000;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.info{position:relative;display:block;width:12em;overflow:hidden;color:#000;font-weight:normal;font-size:15px;line-height:22px}li.name-and-surname span.infoHidden{position:relative;display:none;width:12em;overflow:hidden;color:#000;font-weight:normal;font-size:15px;line-height:22px}.nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:224px;height:78px;padding:16px 0;line-height:46px}.widget_icon_profile{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTI0IDQwLjQ0NGE1LjM0IDUuMzQgMCAwIDAgNS4zMzMtNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDI5Ljc3OGE1LjM0IDUuMzQgMCAwIDAtNS4zMzMgNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDQwLjQ0NHpNMjQgMjhhNy4xMTggNy4xMTggMCAwIDEgNy4xMTEgNy4xMTFBNy4xMTggNy4xMTggMCAwIDEgMjQgNDIuMjIyYy0zLjkyIDAtNy4xMTEtMy4xOS03LjExMS03LjExQzE2Ljg4OSAzMS4xOSAyMC4wNzkgMjggMjQgMjh6bTgtMi42NjdIMTZjLTQuNDEyIDAtOC0zLjU4OS04LThWNGgxLjc3OHYxMy4zMzNBNi4yMyA2LjIzIDAgMCAwIDE2IDIzLjU1NmgxNmE2LjIzIDYuMjMgMCAwIDAgNi4yMjItNi4yMjNWNEg0MHYxMy4zMzNjMCA0LjQxMS0zLjU4OSA4LTggOHpNMTUuMTExIDRoMS43Nzh2MTIuNDQ0SDE1LjExVjR6bTE2IDBoMS43Nzh2MTIuNDQ0SDMxLjExVjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNzgxLTQ3OUg2NTl2MTY4MkgtNzgxeiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;-webkit-transform:rotate(180deg);transform:rotate(180deg);content:\" \"}.widget_icon_settings{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image: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='M26.4 20h4.267v-6.667h-4.267c-0.4-0.267-0.667-0.533-0.8-0.933-0.267-0.4-0.133-0.8-0.133-1.2l3.067-3.067-4.667-4.667-3.067 3.067c-0.4 0.133-0.8 0-1.2-0.133s-0.667-0.4-0.933-0.8v-4.267h-6.667v4.267c-0.267 0.4-0.533 0.667-0.933 0.8-0.267 0.133-0.667 0.267-1.2 0.133l-3.067-3.067-4.667 4.667 3.067 3.067c0.133 0.4 0 0.8-0.133 1.2s-0.4 0.667-0.8 0.933h-4.267v6.667h4.267c0.4 0.267 0.667 0.533 0.8 0.933s0.133 0.8 0.133 1.2l-3.067 3.067 4.667 4.667 3.067-3.067c0.4-0.133 0.8 0 1.2 0.133s0.667 0.4 0.933 0.8v4.267h6.667v-4.267c0.267-0.4 0.533-0.667 0.933-0.8s0.8-0.133 1.2-0.133l3.067 3.067 4.667-4.667-3.067-3.067c-0.133-0.4 0-0.8 0.133-1.2s0.4-0.667 0.8-0.933zM24.267 22.667v0.133l2.4 2.4-2.8 2.8-2.4-2.4h-0.133c-0.8-0.267-1.6-0.133-2.267 0.133s-1.2 0.8-1.6 1.467l-0.133 0.133v3.333h-4v-3.333l-0.133-0.133c-0.4-0.667-0.933-1.2-1.6-1.467v0c-0.667-0.4-1.467-0.4-2.267-0.133h-0.133l-2.4 2.4-2.8-2.8 2.4-2.4v-0.133c0.267-0.8 0.267-1.6-0.133-2.267-0.267-0.667-0.8-1.2-1.467-1.6l-0.133-0.133h-3.333v-4h3.333l0.133-0.133c0.667-0.4 1.2-0.933 1.467-1.6 0.4-0.667 0.4-1.467 0.133-2.267v-0.133l-2.4-2.4 2.8-2.8 2.4 2.4h0.133c0.8 0.267 1.6 0.267 2.267-0.133 0.667-0.267 1.2-0.8 1.6-1.467l0.133-0.133v-3.333h4v3.333l0.133 0.133c0.4 0.667 0.933 1.2 1.6 1.467 0.667 0.4 1.467 0.4 2.267 0.133h0.133l2.4-2.4 2.8 2.8-2.4 2.4v0.133c-0.267 0.8-0.267 1.6 0.133 2.267 0.267 0.667 0.8 1.2 1.467 1.6l0.133 0.133h3.333v4h-3.333l-0.133 0.133c-0.667 0.4-1.2 0.933-1.467 1.6-0.4 0.667-0.4 1.467-0.133 2.267z'%3E%3C/path%3E %3Cpath opacity='1' fill='%23000000' d='M15.333 10.667c-3.333 0-6 2.667-6 6s2.667 6 6 6c3.333 0 6-2.667 6-6s-2.667-6-6-6zM15.333 21.333c-2.533 0-4.667-2.133-4.667-4.667s2.133-4.667 4.667-4.667c2.533 0 4.667 2.133 4.667 4.667s-2.133 4.667-4.667 4.667z'%3E%3C/path%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_changecompany{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,IDxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAuMDAwMDAwcHQiIGhlaWdodD0iODYzLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAwMCA4NjMuMDAwMDAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsODYzLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzY2NiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTY3ODIgODMzOCBjLTE4IC0xOCAtMzk0MCAtMjUgLTQwNTUgLTggLTk4IDE2IC0xMDkgOSAtOTUgLTU2IDkgLTM5CjcgLTE2MiAtNCAtMjQ0IC0yIC0yMCAyIC0yNiAyMSAtMjggMTMgLTIgMzUgMiA0OCA5IDE4IDEwIDM0IDEwIDYyIDMgMjIgLTYKNDggLTcgNjEgLTIgMTIgNCA4NDMgNyAxODQ3IDYgbDE4MjUgLTMgMTkgLTI0IGMxNiAtMTkgMTkgLTQwIDE5IC0xMTYgMCAtNTIKLTUgLTEwNiAtMTAgLTEyMSAtOCAtMTkgLTggLTMwIDAgLTM4IDE1IC0xNSAxNCAtNTk5OCAtMSAtNjAxMyAtNyAtNyAtOSAtMjMKLTUgLTM3IGw2IC0yNSAxMjAgNiBjOTIgNSAxMjcgMyAxNDYgLTcgMzUgLTE5IDYwIC0zIDU1IDM2IC04IDYyIC04IDY0MDQgMAo2NDk5IDEyIDEzNSAxMiAxNDYgMiAxNTUgLTE3IDE2IC00OSAyMCAtNjEgOHoiPjwvcGF0aD4KPHBhdGggZD0iTTUwNCA3MjY1IGMtNCAtMTAgLTIgLTMyIDQgLTQ5IDE3IC00NiAxNyAtNjU3NyAxIC02NTkzIC05IC05IC05Ci0xOSAtMSAtNDAgMTAgLTI1IDkgLTE3NyAtMSAtMzA2IC01IC01NiA2IC02MCAxMjEgLTQ3IDcyIDkgMTA5IDkgMTQwIDEgMjYKLTggNTUgLTggODEgLTIgMjUgNSA1OCA1IDg2IC0xIDMyIC03IDY3IC02IDExMyAyIDg0IDE0IDEyNzggMTMgMTQzMCAtMiAxMTcKLTExIDEzNyAtNSAxMjUgNDEgLTQgMTQgLTYgNTggLTYgOTYgMCAzOSAwIDEwNCAtMSAxNDUgMCA0MSAtMSAzMDYgLTEgNTg4IGwwCjUxNCAyMyAxOCBjMjEgMTcgNTQgMTggNTI3IDIwIGw1MDUgMSAyNSAtMjUgMjUgLTI1IDAgLTY1MCBjLTEgLTM5OCAtNSAtNjUzCi0xMSAtNjU2IC0xNCAtOSAtMTEgLTUxIDYgLTY1IDExIC05IDMzIC0xMCA5MiAtMiA2NSA4IDE3NjkgOCAxOTUyIC0xIDQxIC0yCjQ1IDAgNTMgMjggNSAxOCA0IDQwIC0zIDU3IC0xNSAzNyAtMTYgMTk1IC0xIDIxMCA4IDggOCAxNiAtMSAzMiAtOSAxNiAtMTIKNzM1IC0xMiAzMTc2IDAgMTczNSAyIDMyNDAgNCAzMzQ0IDQgMTc5IDMgMTkwIC0xNSAxOTYgLTEwIDQgLTMwIDMgLTQ0IC0yCi0zMSAtMTAgLTUxMjAgLTQgLTUxNzIgNiAtMzEgNyAtMzkgNSAtNDQgLTl6IG00OTQzIC0zMjggYzE3IC0xNyAxOCAtMTU5IDIwCi0zMTgxIDMgLTMwOTUgMiAtMzE2NSAtMTYgLTMxODggLTE4IC0yMiAtMjYgLTIzIC0xNTYgLTI2IC04NyAtMiAtMTQxIDAgLTE0OQo3IC05IDggLTIyIDggLTQzIDAgLTIwIC03IC0yMDEgLTkgLTU0MSAtNyAtNDg1IDMgLTUxMSA0IC01MzEgMjIgLTIxIDE5IC0yMQoyMSAtMjEgNjczIDAgNDM1IDMgNjYxIDEwIDY3NCA2IDExIDcgMjYgMiAzNCAtNyAxNCAtMTEwIDE2IC04NzcgMTYgbC04NzAgMAotNiAtMjQgYy00IC0xNCAtMyAtMzEgMiAtMzggMTEgLTE4IDExIC0xMzAgMCAtMTQ4IC01IC04IC0zIC0yNCA0IC00MCA5IC0yMAoxMiAtMTU5IDExIC01NzggLTEgLTUxNiAtMiAtNTUzIC0xOSAtNTcwIC0xNyAtMTcgLTYwIC0xOCAtNjg1IC0yMSAtNjc4IC0zCi03MzMgLTEgLTc0NiAzNCAtMyA4IC02IDE0MzcgLTYgMzE3NiAtMSAyOTE3IDEgMzE2MiAxNiAzMTc5IDkgMTAgMzQgMjAgNTgKMjIgMjIgMiAxMDUwIDMgMjI4MyAzIDIxMzkgLTEgMjI0MyAtMiAyMjYwIC0xOXoiPjwvcGF0aD4KPHBhdGggZD0iTTIwNzUgNjIwOSBjLTUgLTcgLTg1IC0xMCAtMjUxIC04IGwtMjQ1IDMgMCAtNjg3IC0xIC02ODcgNjg2IC0xCjY4NyAwIDAgNjkzIDAgNjkzIC0yMSAzIGMtMTIgMiAtMjYgLTEgLTMzIC02IC0xNiAtMTMgLTc4NSAtMTQgLTc5MyAtMSAtNyAxMgotMjEgMTEgLTI5IC0yeiBtNTQ2IC0zMzYgYzExIC0xMyAxNCAtODIgMTQgLTM1MyAwIC0zMTkgLTEgLTMzOSAtMTkgLTM1OSAtMTkKLTIxIC0yNSAtMjEgLTM1NCAtMjAgLTMxNSAxIC0zMzUgMiAtMzUzIDIwIC0xOCAxOCAtMTkgMzggLTE5IDM1NiAwIDI5OSAyCjMzOCAxNyAzNTUgMTUgMTcgMzkgMTggMzU4IDE4IDMwNiAwIDM0NCAtMiAzNTYgLTE3eiI+PC9wYXRoPgo8cGF0aCBkPSJNMzM0MSA2MjExIGMtMTEgLTcgLTEyIC0xOSAtNiAtNTIgOSAtNDYgMTMgLTExOTggNSAtMTI4MiBsLTUgLTQ4CjY4OSAwIGMzNzkgMSA2OTMgNCA2OTYgOCA0IDUgNCA0NCAtMSA4NyAtNiA2NyAtNCAxMTQ0IDQgMTI0NSBsMiAzMyAtNTcwIDIKYy0zMTMgMiAtNTc3IDMgLTU4NSA0IC04IDEgLTUxIDEgLTk1IDAgLTQ0IC0xIC04OSAxIC0xMDAgNSAtMTEgNCAtMjYgMyAtMzQKLTJ6IG0xMDI2IC0zMjYgYzQwIC05IDQ1IC01NiA0MSAtMzkyIC0zIC0yODQgLTUgLTMxNCAtMjEgLTMzMCAtMTYgLTE2IC00NwotMTggLTM1MSAtMjEgLTMxNyAtMyAtMzM0IC0yIC0zNTcgMTcgbC0yNCAxOSAwIDMzNSBjMCAzMTIgMSAzMzYgMTkgMzU1IDEwCjEyIDMyIDIyIDUwIDI0IDUyIDUgNjE5IC0xIDY0MyAtN3oiPjwvcGF0aD4KPHBhdGggZD0iTTI4ODMgNDA4OSBjLTcgLTcgLTIxNSAtOSAtNjYyIC03IC02MjMgMyAtNjUxIDIgLTY1NyAtMTUgLTMgLTEwIC0xCi0zMSA2IC00NiA4IC0yMCAxMCAtMjA2IDggLTY3MiBsLTMgLTY0NCA2ODggMiA2ODggMiAwIDY4OCBjMCA2NTMgLTEgNjg4IC0xOAo2OTQgLTI2IDExIC0zOCAxMCAtNTAgLTJ6IG0tMjYzIC0zNDYgYzIxIC0yOCAyMiAtMzIgMTggLTM1NiBsLTMgLTMyOSAtMjQKLTE5IGMtMjIgLTE4IC00MyAtMTkgLTM1MiAtMTkgLTMxMiAwIC0zMzAgMSAtMzQ4IDE5IC0xOSAxOSAtMjAgMzcgLTIxIDM1NSAwCjMyNCAwIDMzNiAyMCAzNTYgMTkgMTkgMzIgMjAgMzU0IDIwIGwzMzUgMCAyMSAtMjd6Ij48L3BhdGg+CjxwYXRoIGQ9Ik00Njc1IDQwODkgYy0xNiAtNSAtMzI1IC04IC02ODUgLTggbC02NTUgMiA0IC0zNCBjMTAgLTkyIDExIC0xMjQ3CjEgLTEyODcgLTE0IC01NyAtMiAtNzQgNDMgLTYxIDE5IDYgMzAyIDkgNjg3IDggbDY1NSAtMSAtMyAzNCBjLTEgMTggLTUgMzAxCi04IDYyOCAtNSA0NjQgLTMgNjA3IDcgNjQ4IDE1IDY1IDMgODUgLTQ2IDcxeiBtLTI5MCAtMzM5IGMxNiAtMTggMTkgLTQyIDIxCi0xNzcgMiAtMTE4IC0xIC0xNjMgLTExIC0xODMgLTExIC0yMSAtMTEgLTMwIC0yIC0zOSA4IC05IDExIC01NCAxMCAtMTU0IC0zCi0xMzEgLTUgLTE0MyAtMjQgLTE1OSAtMTkgLTE2IC01MiAtMTggLTM0OSAtMTggLTM5OSAwIC0zNzAgLTExIC0zNzEgMTM1IDAKNTUgLTEgMTM0IC0yIDE3NSAtMSA0MSAtMSAxNDggLTEgMjM4IDEgMTQxIDMgMTY1IDE5IDE4MiAxNyAxOSAzMSAyMCAzNTUgMjAKMzI2IDAgMzM3IC0xIDM1NSAtMjB6Ij48L3BhdGg+CjwvZz4KPC9zdmc+\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_logout{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgyOHYySDJ2NDRoMjZ2MkgwVjB6bTMzLjU4NiAxNGgyLjgyOGwxMSAxMS0xMSAxMWgtMi44MjhsMTAtMTBIMTh2LTJoMjUuNTg2bC0xMC0xMHoiLz4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00MTAtMzIwaDE0NDB2MTY4MkgtNDEweiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==\");background-repeat:no-repeat;background-size:contain;content:\" \"}.widget_icon_notification{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-size:1em;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url(\"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTIgNDBoNDRWOEgydjMyem0yMy40NDYtMTEuOTYzYy0uNzYyLjc5Ny0yLjEzLjc5OC0yLjg5Mi0uMDAyTDUuMzM3IDEwaDM3LjMyN0wyNS40NDYgMjguMDM3ek0xNS45MzUgMjRMNCAzNi41MDRWMTEuNDk2TDE1LjkzNSAyNHptMS4zODQgMS40NDhsMy43ODcgMy45NjdBMy45NjYgMy45NjYgMCAwIDAgMjQgMzAuNjU2YTMuOTcgMy45NyAwIDAgMCAyLjg5My0xLjIzOGwzLjc4OC0zLjk3TDQyLjY2MiAzOEg1LjMzOGwxMS45ODEtMTIuNTUyek0zMi4wNjQgMjRMNDQgMTEuNDk1djI1LjAwOUwzMi4wNjQgMjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTE0OS0zMThIMjkxdjE2ODJoLTE0NDB6Ii8+CiAgICAgICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGZpbGw9IiM2NjYiIG1hc2s9InVybCgjYikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMCAwaDQ4djQ4SDB6Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K\");background-repeat:no-repeat;background-size:contain;content:\" \"}#post-klp-login-widget.bubble:before{position:absolute;top:calc(100% + 2px);right:50%;z-index:9999;width:0;height:0;margin-right:-7px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #fff rgba(0,0,0,0);border-style:solid;border-width:0 7px 7px 7px;content:\"\"}#post-klp-login-widget.bubble:after{position:absolute;top:100%;right:50%;z-index:9998;width:0;height:0;margin-right:-8px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,.07) rgba(0,0,0,0);border-style:solid;border-width:0 8px 8px 8px;content:\"\"}.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}@media (min-width: 600px)and (max-width: 1023px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:10px;overflow:visible;clip:auto}}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}}@media (min-width: 1280px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:8px;overflow:visible;font-size:17px;clip:auto}}.klp-widget-anonymous a{padding:0 1rem}@media (min-width: 600px)and (max-width: 1023px){.klp-widget-anonymous a{padding:0 16px}}@media (min-width: 1024px){.klp-widget-anonymous a{padding:0 20px}}.initials-mobile{display:block;width:32px;height:32px;color:#fff;font-weight:normal;font-size:13px;line-height:32px;letter-spacing:1px;text-align:center;background-color:#004976;border-radius:32px;visibility:visible}@media (min-width: 1024px){.initials-mobile{width:40px;height:40px;font-size:15px;line-height:40px;border-radius:40px}}.notification-number{position:absolute;top:6px;right:5px;display:block;width:15px;height:15px;color:#fff;font-size:12px;line-height:20px;text-align:center;background-color:#a51728;background-clip:padding-box;border:2px solid #fff;border-radius:10px}@media (min-width: 600px)and (max-width: 1023px){.notification-number{right:8px}}@media (min-width: 1024px)and (max-width: 1279px){.notification-number{right:8px;width:17px;height:17px}}@media (min-width: 1280px){.notification-number{top:10px;right:12px;width:17px;height:17px}}.klp-widget-authenticated-session-name{display:none}.linkContainer{-ms-flex-item-align:center;align-self:center;height:16px;margin:10px 0}.klp-widget-authenticated-menu{position:fixed;top:64px;z-index:3;width:296px}@media (max-width: 399px){.klp-widget-authenticated-menu{right:0;left:0;margin:0 auto}}@media (min-width: 400px)and (max-width: 1023px){.klp-widget-authenticated-menu{position:absolute;top:64px;right:8px}}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-authenticated-menu{position:absolute;top:72px;right:8px}}@media (min-width: 1280px){.klp-widget-authenticated-menu{position:absolute;top:80px;right:8px}}.klp-widget-authenticated-menu>ul{margin:0}.klp-widget-authenticated{min-width:52px;max-height:55px;background-color:#fff}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-authenticated{max-height:64px}}@media (min-width: 1280px){.klp-widget-authenticated{max-height:72px}}.item-centered{-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.item-left{-ms-flex-align:start;align-items:flex-start;-ms-flex-item-align:start;align-self:flex-start}.item-right{-ms-flex-align:end;align-items:flex-end;-ms-flex-item-align:end;align-self:flex-end}.changeAccountModal{display:table}.modal{position:fixed;top:0;left:0;z-index:9999;display:none;width:100vw;height:100vh;padding-top:100px;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content{-ms-flex-align:center;align-items:center;width:80%;min-height:20em;margin:auto;background-color:#fff;border:1px solid #888}@media (min-width: 1024px){.modal-content{max-width:584px;margin:1.75rem auto}}.close{position:absolute;top:0;right:15px;color:#000;font-weight:lighter;font-size:40px}.close:hover,.close:focus{text-decoration:none;cursor:pointer}.btn-modal-container{position:absolute;bottom:1em;width:100%}.pi{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background-repeat:no-repeat;background-position:center center;background-size:contain;border:none}.pi-2086{width:4.5rem;height:4.5rem;margin-bottom:2em;background-image: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 fill='%23000' d='M17.333 25.333v-16h-4.667v2.667h2v13.333h-2v2.667h6.667v-2.667z'%3E%3C/path%3E %3Cpath fill='%23000' d='M14.667 4h2.667v2.667h-2.667v-2.667z'%3E%3C/path%3E%3C/svg%3E\");border-color:#000}.modal-text-container{-ms-flex-line-pack:center;align-content:center;width:100%;min-height:17em;background:#fc0}.modal-button-container{-ms-flex-line-pack:center;align-content:center;width:100%;height:6em;margin-right:0;margin-left:0;background:#fff}.text-align-center{text-align:center}.modal-text{color:#000;font-weight:bold}a:is(:focus-visible,:focus-within,.pretend-focus){z-index:2}:host{display:block}.widget-wrapper{position:relative}.widget-wrapper,#post-klp-login-widget,.klp-widget-anonymous,.klp-widget-anonymous__wrapper,.klp-widget-anonymous__wrapper a{height:100%}.klp-widget-anonymous__wrapper a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#333;text-decoration:none;padding:0 1rem;-webkit-transition:color 200ms;transition:color 200ms}.klp-widget-anonymous__wrapper a:hover,.klp-widget-anonymous__wrapper a:focus{color:#000}@media (min-width: 1024px){.klp-widget-anonymous__wrapper a{padding:0 1.125rem}}.klp-widget-anonymous__wrapper a span{margin-right:.5rem}.klp-widget-anonymous__wrapper a svg{width:1.5rem;height:1.5rem}@media (min-width: 600px)and (max-width: 1023.98px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}@media (min-width: 1280px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}#post-klp-login-widget .nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;width:224px;height:78px;padding:16px 0px;line-height:46px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.modal-content{position:relative}.modal-text-container{padding-top:3rem}#post-klp-login-widget .modal-button-container{height:auto;padding:2rem}#post-klp-login-widget .modal-button-container>.item-centered{-ms-flex-pack:center;justify-content:center}.login-button{height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;padding-right:calc(1rem - 1px);padding-left:calc(1rem - 1px)}@media (min-width: 1024px){.login-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.login-button{padding:0 calc(1.5rem - 1px)}}.login-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px){.login-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:.5rem;cursor:pointer}}";
|
|
7
|
-
const PostKlpLoginWidgetStyle0 = postKlpLoginWidgetCss;
|
|
8
|
-
|
|
9
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
10
|
-
var t = {};
|
|
11
|
-
for (var p in s)
|
|
12
|
-
if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
13
|
-
t[p] = s[p];
|
|
14
|
-
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
15
|
-
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
16
|
-
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
17
|
-
t[p[i]] = s[p[i]];
|
|
18
|
-
}
|
|
19
|
-
return t;
|
|
20
|
-
};
|
|
21
|
-
const PostKlpLoginWidget = class {
|
|
22
|
-
constructor(hostRef) {
|
|
23
|
-
registerInstance(this, hostRef);
|
|
24
|
-
this.logoutUrl = undefined;
|
|
25
|
-
}
|
|
26
|
-
async componentDidLoad() {
|
|
27
|
-
var _a, _b, _c, _d;
|
|
28
|
-
if (((_b = (_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === null || _b === void 0 ? void 0 : _b.showJobsLoginWidget) ||
|
|
29
|
-
!((_d = (_c = state.localizedConfig) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.loginWidgetOptions))
|
|
30
|
-
return;
|
|
31
|
-
const { initializeKLPLoginWidget } = await import('./klp-widget.controller-44b1ee83.js');
|
|
32
|
-
const _e = state.localizedConfig.header.loginWidgetOptions, { platform } = _e, widgetOptions = __rest(_e, ["platform"]);
|
|
33
|
-
initializeKLPLoginWidget('post-klp-login-widget', Object.assign(Object.assign(Object.assign({}, widgetOptions), { environment: state.environment }), (this.logoutUrl !== undefined
|
|
34
|
-
? { platform: Object.assign(Object.assign({}, platform), { logoutURL: this.logoutUrl }) }
|
|
35
|
-
: { platform })));
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Sets the focus on the login button
|
|
39
|
-
*/
|
|
40
|
-
async setFocus() {
|
|
41
|
-
var _a;
|
|
42
|
-
const loginButton = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a');
|
|
43
|
-
if (loginButton && loginButton.length) {
|
|
44
|
-
loginButton[0].focus();
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
render() {
|
|
48
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
49
|
-
if (!((_b = (_a = state === null || state === void 0 ? void 0 : state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === null || _b === void 0 ? void 0 : _b.loginWidgetOptions) &&
|
|
50
|
-
!((_d = (_c = state === null || state === void 0 ? void 0 : state.localizedConfig) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.showJobsLoginWidget)) {
|
|
51
|
-
console.warn(`Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project="${state.projectId}" login="false"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`);
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return (h(Host, null, h(SvgSprite, null), h("div", { class: "widget-wrapper", "data-hj-suppress": true }, ((_f = (_e = state === null || state === void 0 ? void 0 : state.localizedConfig) === null || _e === void 0 ? void 0 : _e.header) === null || _f === void 0 ? void 0 : _f.showJobsLoginWidget) ? (h("a", { id: "post-klp-login-widget", class: "login-button", href: (_g = state.localizedConfig.header.loginWidgetOptions) === null || _g === void 0 ? void 0 : _g.appLoginUrl }, h("span", { class: "visually-hidden" }, state.localizedConfig.header.translations.loginWidgetText), h(SvgIcon, { name: "pi-login" }))) : (h("div", { id: "post-klp-login-widget" })))));
|
|
55
|
-
}
|
|
56
|
-
get host() { return getElement(this); }
|
|
57
|
-
};
|
|
58
|
-
PostKlpLoginWidget.style = PostKlpLoginWidgetStyle0;
|
|
59
|
-
|
|
60
|
-
export { PostKlpLoginWidget as P };
|
|
61
|
-
|
|
62
|
-
//# sourceMappingURL=post-klp-login-widget-d10825d0.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-klp-login-widget-d10825d0.js","mappings":";;;;;AAAA,MAAM,qBAAqB,GAAG,m8vCAAm8vC,CAAC;AACl+vC,iCAAe,qBAAqB;;;;;;;;;;;;;;MCWvB,kBAAkB;;;;;IAQ7B,MAAM,gBAAgB;;QACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;YAClD,EAAC,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;YAElD,OAAO;QACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,OAAO,qCAA4B,CAAC,CAAC;QAChF,MAAM,KAAiC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,EAAhF,EAAE,QAAQ,OAAsE,EAAjE,aAAa,cAA5B,YAA8B,CAAkD,CAAC;QACvF,wBAAwB,CAAC,uBAAuB,gDAC3C,aAAa,KAChB,WAAW,EAAE,KAAK,CAAC,WAAW,MAC1B,IAAI,CAAC,SAAS,KAAK,SAAS;cAC5B,EAAE,QAAQ,kCAAO,QAAQ,KAAE,SAAS,EAAE,IAAI,CAAC,SAAS,GAAE,EAAE;cACxD,EAAE,QAAQ,EAAE,GAChB,CAAC;KACJ;;;;IAMD,MAAM,QAAQ;;QACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;QACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;YACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;SACxB;KACF;IAED,MAAM;;QACJ,IACE,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;YACnD,EAAC,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;YACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;YACF,OAAO,IAAI,CAAC;SACb;QACD,QACE,EAAC,IAAI,QACH,EAAC,SAAS,OAAG,EACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,KAClD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW,IAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD,EACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,KAEJ,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,EACP;KACH;;;;;;;","names":[],"sources":["src/components/post-klp-login-widget/post-klp-login-widget.scss?tag=post-klp-login-widget&encapsulation=shadow","src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/button';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n@use './widget-styles.scss';\n\n:host {\n display: block;\n}\n\n.widget-wrapper {\n position: relative;\n}\n\n.widget-wrapper,\n#post-klp-login-widget,\n.klp-widget-anonymous,\n.klp-widget-anonymous__wrapper,\n.klp-widget-anonymous__wrapper a {\n height: 100%;\n}\n\n.klp-widget-anonymous__wrapper a {\n display: flex;\n align-items: center;\n color: color.$gray-80;\n text-decoration: none;\n padding: 0 1rem;\n transition: color 200ms;\n\n &:hover,\n &:focus {\n color: black;\n }\n\n @include mixins.min(lg) {\n padding: 0 1.125rem;\n }\n\n span {\n margin-right: 0.5rem;\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.klp-widget-anonymous__text {\n @extend %visually-hidden;\n\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n }\n\n @include mixins.min(xl) {\n @include mixins.reset-visually-hidden();\n }\n}\n\n#post-klp-login-widget .nameAndInfoWrapper {\n position: relative;\n display: flex;\n\n align-items: flex-start;\n width: 224px;\n height: 78px;\n padding: 16px 0px;\n line-height: 46px;\n flex-direction: column;\n justify-content: center;\n}\n\n.modal-content {\n position: relative;\n}\n\n.modal-text-container {\n padding-top: 3rem;\n}\n\n#post-klp-login-widget .modal-button-container {\n height: auto;\n padding: 2rem;\n\n & > .item-centered {\n justify-content: center;\n }\n}\n\n.login-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.min(rg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n","import { Component, Element, h, Host, Method, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLPostKlpLoginWidgetElement;\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n const { platform, ...widgetOptions } = state.localizedConfig.header.loginWidgetOptions;\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...widgetOptions,\n environment: state.environment,\n ...(this.logoutUrl !== undefined\n ? { platform: { ...platform, logoutURL: this.logoutUrl } }\n : { platform }),\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-klp-login-widget.entry.js","mappings":";;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-language-switch-8eb4e9ed.js","mappings":"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","names":[],"sources":["src/components/post-language-switch/components/post-language-switch-list.tsx","src/components/post-language-switch/post-language-switch.scss?tag=post-language-switch&encapsulation=shadow","src/components/post-language-switch/post-language-switch.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavLangEntity } from '../../../models/header.model';\nimport { translate } from '../../../services/language.service';\nimport { state } from '../../../data/store';\n\nexport const PostLanguageSwitchList = (props: {\n navLang: NavLangEntity[];\n switchLanguage: (lang: NavLangEntity) => void;\n dropdownRef: (element: HTMLElement | undefined) => void;\n}) => {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n\n return (\n <nav\n class=\"language-switch-dropdown\"\n ref={e => props.dropdownRef(e)}\n aria-label={config.translations.navLangAriaLabel}\n >\n <ul aria-label={translate('Change language')}>\n {props.navLang\n .filter(lang => !lang.isCurrent)\n .map(lang => {\n const TagName = lang.url ? 'a' : 'button';\n return (\n <li key={lang.lang}>\n <TagName\n onClick={() => props.switchLanguage(lang)}\n href={lang.url}\n lang={lang.lang}\n title={lang.title}\n >\n <span class=\"visually-hidden\">{lang.title}</span>\n <span aria-hidden=\"true\">{lang.text}</span>\n </TagName>\n </li>\n );\n })}\n </ul>\n </nav>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n\n:host {\n --separator-display: none;\n --separator-height: 100%;\n\n display: flex;\n align-items: center;\n align-self: stretch;\n\n &::before {\n position: relative;\n content: '';\n display: var(--separator-display);\n height: var(--separator-height);\n border-left: 1px solid color.$gray-10;\n }\n}\n\n.lang-btn {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 1rem;\n border: none;\n box-shadow: none;\n background: none;\n text-transform: uppercase;\n cursor: pointer;\n color: rgba(color.$black, 0.8);\n\n &:hover,\n &:focus {\n color: black;\n position: relative;\n z-index: 1;\n }\n\n svg {\n width: 1.5em;\n height: 1.5em;\n transition: transform 250ms;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.language-switch {\n position: relative;\n align-self: stretch;\n height: 100%;\n\n &.list {\n margin-top: 1.5rem;\n display: flex;\n align-items: center;\n }\n}\n\n.current-language {\n text-transform: uppercase;\n border-right: 1px solid color.$gray-20;\n padding: 0.5rem 1rem 0.5rem 0;\n}\n\n.language-switch-dropdown {\n .dropdown & {\n position: absolute;\n top: 100%;\n width: 100%;\n background: white;\n box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 2px 6px 2px rgb(0 0 0 / 10%);\n z-index: 1;\n transform: scale(0.1);\n transform-origin: center top;\n transition: transform 0.1s;\n margin-top: var(--language-dropdown-margin-top);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: scale(1);\n }\n }\n\n ul {\n @extend %no-list;\n\n .list & {\n display: flex;\n\n > li + li {\n border-left: 1px solid color.$gray-20;\n }\n }\n }\n\n a,\n button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: functions.px-to-rem(48px);\n padding: 0 0.25rem;\n text-transform: uppercase;\n cursor: pointer;\n transition: background-color 200ms, color 200ms;\n\n &:hover,\n &:focus {\n background: color.$gray-background;\n }\n\n span {\n // Worst case scenario\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .list & {\n color: black;\n height: auto;\n padding: 0.5rem 1rem;\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n NavLangEntity,\n} from '../../models/header.model';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { PostLanguageSwitchList } from './components/post-language-switch-list';\nimport { IAvailableLanguage } from '../../models/language.model';\n\n@Component({\n tag: 'post-language-switch',\n styleUrl: 'post-language-switch.scss',\n shadow: true,\n})\nexport class PostLanguageSwitch implements HasDropdown {\n @Prop() mode: 'dropdown' | 'list';\n @State() langSwitchOpen = false;\n @Element() host: DropdownElement;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event({ bubbles: true }) languageChanged: EventEmitter<string>;\n private languageSwitchDropdown: HTMLElement | undefined;\n\n componentWillUpdate() {\n // Check if language switch got set to close and if mode is dropdown\n if (this.languageSwitchDropdown && !this.langSwitchOpen && this.mode == 'dropdown') {\n this.languageSwitchDropdown.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (\n elementHasTransition(this.languageSwitchDropdown, 'transform') &&\n !userPrefersReducedMotion()\n ) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n this.languageSwitchDropdown?.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Language switch got set to open\n if (this.languageSwitchDropdown && this.langSwitchOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.languageSwitchDropdown.getBoundingClientRect();\n this.languageSwitchDropdown.classList.add('open');\n }\n }\n\n /**\n * Open or close the language switch programatically\n * @param force Boolean to force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.langSwitchOpen = force ?? !this.langSwitchOpen;\n this.dropdownToggled.emit({ open: this.langSwitchOpen, element: this.host });\n return this.langSwitchOpen;\n }\n\n /**\n * Emit a language change to the parent component\n *\n * @param newLang Config of the new language\n */\n switchLanguage(newLang: NavLangEntity) {\n this.languageChanged.emit(newLang.lang);\n this.toggleDropdown(false);\n }\n\n private getMergedLanguageConfig(config: NavLangEntity[], overrides?: IAvailableLanguage[]) {\n if (overrides === undefined) {\n return config;\n }\n\n return config.map(langConfig =>\n Object.assign(\n {},\n langConfig,\n overrides.find(l => l.lang === langConfig.lang),\n ),\n );\n }\n\n private setDropdownRef(element: HTMLElement | undefined) {\n this.languageSwitchDropdown = element;\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n const mergedConfig = this.getMergedLanguageConfig(\n config.navLang,\n state.languageSwitchOverrides,\n );\n\n return (\n <Host>\n <div class={`language-switch ${this.mode}`}>\n <SvgSprite />\n {this.mode === 'dropdown' ? (\n <button\n class=\"lang-btn\"\n aria-expanded={`${this.langSwitchOpen}`}\n aria-haspopup=\"listbox\"\n onClick={() => this.toggleDropdown()}\n >\n <span class=\"visually-hidden\">\n {config.translations.navLangAriaLabel}, {translate('Current language is English')}\n </span>\n <span aria-hidden=\"true\">{state.currentLanguage}</span>\n <SvgIcon name=\"pi-arrow-down\" classNames={this.langSwitchOpen ? 'rotated' : ''} />\n </button>\n ) : (\n <span class=\"bold current-language\">\n <span class=\"visually-hidden\">{translate('Current language is English')}</span>\n <span>{state.currentLanguage}</span>\n </span>\n )}\n {this.langSwitchOpen || this.mode === 'list' ? (\n <PostLanguageSwitchList\n navLang={mergedConfig}\n switchLanguage={e => this.switchLanguage(e)}\n dropdownRef={e => e !== undefined && this.setDropdownRef(e)}\n />\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-language-switch.entry.js","mappings":";;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-logo-319224f0.js","mappings":";;;AAAA,MAAM,WAAW,GAAG,m7IAAm7I,CAAC;AACx8I,uBAAe,WAAW;;MCOb,QAAQ;;;;IAGnB,MAAM;;QACJ,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,IAAI,MAAK,SAAS;YAAE,OAAO;QAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;QAEjD,QACE,EAAC,IAAI,QACH,SAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,IACpC,YAAM,KAAK,EAAC,iBAAiB,IAAE,MAAM,CAAC,aAAa,CAAQ,EAC3D,WAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,iBAAa,MAAM,IAC5E,SAAG,EAAE,EAAC,MAAM,IACV,YAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG,EAC1D,eACE,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,qLAAqL,GAC5L,EACF,YAAM,CAAC,EAAC,4PAA4P,GAAG,CACrQ,CACA,CACJ,CACC,EACP;KACH;;;;;;;","names":[],"sources":["src/components/post-logo/post-logo.scss?tag=post-logo&encapsulation=shadow","src/components/post-logo/post-logo.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.logo {\n display: block;\n align-items: center;\n background: color.$yellow;\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n}\n","import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-logo',\n styleUrl: 'post-logo.scss',\n shadow: true,\n})\nexport class PostLogo {\n @Element() host: HTMLPostLogoElement;\n\n render() {\n if (state.localizedConfig?.header.logo === undefined) return;\n const config = state.localizedConfig.header.logo;\n\n return (\n <Host>\n <a href={config.logoLink} class=\"logo\">\n <span class=\"visually-hidden\">{config.logoLinkTitle}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 72 72\" aria-hidden=\"true\">\n <g id=\"Logo\">\n <rect fill=\"#ffcc00\" x=\"0\" y=\"0\" width=\"72\" height=\"72\" />\n <polygon\n fill=\"#ff0000\"\n points=\"34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3\"\n />\n <path d=\"M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z\" />\n </g>\n </svg>\n </a>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-logo.entry.js","mappings":";;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-main-navigation-cc9da7b1.js","mappings":"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","names":[],"sources":["src/components/post-main-navigation/components/level-one-action.component.tsx","src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavMainEntity } from '../../../models/header.model';\nimport { translate } from '../../../services/language.service';\n\nexport const LevelOneAction = (props: {\n level: NavMainEntity;\n isOpen: boolean;\n onTouchEnd: (e: any) => void;\n onKeyDown: (e: any) => void;\n onClick: (e: any) => void;\n}) => {\n const TagName = props.level.url ? 'a' : 'button';\n\n return (\n <TagName\n class={{\n 'main-link': true,\n 'active': !!props.level.isActiveOverride,\n 'focus': props.isOpen,\n }}\n href={props.level.url}\n title={\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\n ? props.level.title\n : undefined\n }\n tabindex={props.level.url ? undefined : 0}\n aria-haspopup={!props.level.noFlyout + ''}\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\n onTouchEnd={e => props.onTouchEnd(e)}\n onKeyDown={e => props.onKeyDown(e)}\n onClick={e => props.onClick(e)}\n >\n <span>{props.level.text}</span>\n {props.level.isActiveOverride ? (\n <span class=\"visually-hidden\">{translate('Active navigation element')}</span>\n ) : null}\n <svg aria-hidden=\"true\">\n <use href=\"#pi-pointy-arrow-right\" />\n </svg>\n </TagName>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/placeholders/text';\n@use '@swisspost/design-system-styles/functions';\n@use '@swisspost/design-system-styles/mixins/utilities';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n --host-window-height: var(--window-height, 100vh);\n --calculated-header-height: calc(var(--header-height) + 1px);\n\n display: block;\n min-width: 0;\n height: var(--header-height);\n flex-shrink: 0;\n}\n\n:host(.no-animation) {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n\n.main-navigation,\n.main-container,\n.main-container li,\n.main-link {\n @include mixins.min(lg) {\n height: 100%;\n }\n}\n\n.main-navigation {\n font-size: functions.px-to-rem(18px);\n\n @include mixins.min(lg) {\n font-size: functions.px-to-rem(16px);\n margin: 0 0.75rem;\n }\n\n @include mixins.min(xl) {\n font-size: functions.px-to-rem(18px);\n }\n\n @include mixins.min(xxl) {\n font-size: functions.px-to-rem(20px);\n }\n\n @include mixins.max(lg) {\n position: absolute;\n top: var(--calculated-header-height);\n left: 0;\n background: white;\n height: calc(var(--host-window-height) - var(--calculated-header-height));\n width: 100%;\n margin: 0;\n overflow: hidden scroll;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n z-index: -1;\n visibility: hidden;\n transform: translateY(-100%);\n transition: transform 0.35s, visibility 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: translateY(0);\n visibility: visible;\n }\n }\n}\n\n.main-container {\n @extend %no-list;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n @include mixins.max(lg) {\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n > li + li {\n border-top: 1px solid color.$gray-10;\n }\n }\n\n @include mixins.min(lg) {\n padding-right: 0;\n padding-left: 0;\n }\n\n > li {\n flex: 0 1 auto;\n min-width: 0;\n }\n}\n\n.main-link {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n text-align: left;\n cursor: pointer;\n width: 100%;\n\n @include mixins.min(lg) {\n svg {\n display: none;\n }\n }\n\n @include mixins.max(lg) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 300;\n padding: 0.625rem 0;\n width: 100%;\n text-align: left;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.main-link,\n.flyout-link {\n position: relative;\n color: black;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 4px;\n background-color: transparent;\n opacity: 0;\n transform: scaleX(0.8);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &:hover,\n &.focus {\n &::after {\n background-color: color.$gray-20;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n }\n }\n\n &.active {\n font-weight: 700;\n\n &::after {\n background-color: color.$yellow;\n opacity: 1;\n transform: scale(1);\n }\n }\n\n &:hover,\n &.focus,\n &.active {\n @include utilities.high-contrast-mode() {\n background-color: Highlight;\n }\n }\n}\n\n.flyout {\n left: 0;\n width: 100%;\n background: white;\n padding-bottom: 3rem;\n overflow: auto;\n overscroll-behavior: contain;\n visibility: hidden;\n\n @include mixins.min(lg) {\n position: absolute;\n top: 100%;\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n z-index: -1;\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n transform: translateY(-100%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n transform: translateY(0);\n }\n }\n\n @include mixins.max(lg) {\n position: fixed;\n top: 0;\n height: 100%;\n z-index: 1;\n transform: translateX(100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n\n &.open {\n visibility: visible;\n }\n\n &.animate {\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n\n.flyout-nav {\n @extend %font-curve-small;\n\n display: flex;\n justify-content: space-between;\n min-height: 3.5rem;\n\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\n // This ensures flyout-nav has same hight as main-navigation-container.\n box-sizing: content-box;\n}\n\n.flyout-row {\n display: flex;\n gap: 1.5rem;\n\n @include mixins.max(lg) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n grid-template-columns: 1fr;\n }\n}\n\n.flyout-column {\n flex: 1;\n max-width: 25%;\n\n @include mixins.max(lg) {\n max-width: none;\n }\n\n h3 {\n @extend %font-curve-small;\n margin-top: 0;\n }\n}\n\n.flyout-back-button {\n @include mixins.container-padding();\n\n display: flex;\n align-items: center;\n font-size: functions.px-to-rem(16px);\n font-weight: 400;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n\n.flyout-close-button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n margin-left: auto;\n padding: 0 1.5rem;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.max(lg) {\n display: none;\n }\n}\n\n.flyout-linklist {\n @extend %no-list;\n\n li {\n border-top: 1px solid color.$gray-10;\n }\n\n &:first-child > li {\n border-top-color: transparent;\n }\n}\n\n.flyout-link {\n @extend %nav-link;\n\n display: block;\n padding: 0.75rem 0;\n}\n\n.flyout-title {\n @extend %font-curve-bigger-regular;\n\n margin: 2.5rem 0 1.5rem 0;\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout, 'expand');\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string, manageFocus = true) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout, 'collapse', manageFocus);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement, direction?: 'expand' | 'collapse', manageFocus = true) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener(\n 'transitionend',\n () => {\n if (manageFocus) {\n if (direction === 'expand') {\n flyout.querySelector<HTMLElement>('button.flyout-back-button')?.focus();\n } else if (direction === 'collapse') {\n flyout.parentElement?.querySelector<HTMLElement>('a.main-link')?.focus();\n }\n }\n\n flyout.classList.remove('animate');\n },\n {\n once: true,\n },\n );\n }\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id, false);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n aria-label={headerConfig.translations.navMainAriaLabel}\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n role=\"menu\"\n >\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? renderLevelOneFlyout.bind(this)(levelOne) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n\n function renderLevelOneFlyout(levelOne: NavMainEntity) {\n return (\n <div id={levelOne.id} class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}>\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button class=\"flyout-close-button\" onClick={() => this.closeFlyout(levelOne.id)}>\n <span class=\"visually-hidden\">\n {levelOne.text}, {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map((flyout, i) => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3 id={`${levelOne.id}-column-${i}`}>{flyout.title}</h3> : null}\n <ul\n class=\"flyout-linklist\"\n aria-labelledby={flyout.title ? `${levelOne.id}-column-${i}` : undefined}\n >\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n {link?.isActiveOverride ? (\n <span class=\"visually-hidden\">\n , {translate('Active navigation element')}\n </span>\n ) : null}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n }\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-main-navigation.entry.js","mappings":";;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-meta-navigation-6fd33a79.js","mappings":";;;AAAA,MAAM,qBAAqB,GAAG,yjMAAyjM,CAAC;AACxlM,iCAAe,qBAAqB;;MCOvB,kBAAkB;;;;yBAEC,KAAK;;IAEnC,MAAM;;QACJ,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,OAAO,MAAK,SAAS;YAAE,OAAO;QAChE,MAAM,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC;QAElD,QACE,EAAC,IAAI,QACH,WAAK,KAAK,EAAE,kBAAkB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,GAAG,aAAa,GAAG,EAAE,EAAE,IACpF,yBAAiB,YAAY,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,EAAC,iBAAiB,IAClF,UAAI,KAAK,EAAC,WAAW,IAClB,MAAA,YAAY,CAAC,OAAO,0CACjB,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAChC,GAAG,CAAC,IAAI,KACP,UAAI,GAAG,EAAE,IAAI,CAAC,GAAG,IACf,SACE,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,EACrD,MAAM,EAAE,IAAI,CAAC,MAAM,EACnB,IAAI,EAAE,IAAI,CAAC,GAAG,IAEd,2BAAkB,MAAM,IAAE,IAAI,CAAC,IAAI,CAAQ,CACzC,CACD,CACN,CAAC,CACD,CACD,EACN,eAAa,CACT,CACD,EACP;KACH;;;;;;","names":[],"sources":["src/components/post-meta-navigation/post-meta-navigation.scss?tag=post-meta-navigation&encapsulation=shadow","src/components/post-meta-navigation/post-meta-navigation.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n font-size: functions.px-to-rem(14px);\n}\n\n.meta-container {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-height: functions.px-to-rem(48px);\n\n background: color.$gray-background-light;\n\n @media (min-width: 1441px) {\n &:not(.full-width) {\n margin: 0 auto;\n max-width: 1440px;\n }\n }\n\n &.vertical {\n @include mixins.container-padding();\n\n flex-direction: column;\n align-items: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n @include mixins.min(lg) {\n display: none;\n }\n }\n\n &.horizontal {\n ::slotted(*) {\n --separator-display: block;\n --separator-height: #{functions.px-to-rem(34px)};\n }\n\n &::before {\n display: block;\n content: '';\n position: absolute;\n top: 0px;\n height: var(--meta-header-height);\n background-color: color.$gray-background-light;\n left: 50%;\n width: 50%;\n }\n }\n}\n\n.meta-navigation {\n .horizontal & {\n position: relative;\n padding-right: 1rem;\n }\n}\n\n.meta-list {\n @extend %no-list;\n display: flex;\n\n .vertical & {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.meta-link {\n @extend %nav-link;\n\n font-size: functions.px-to-rem(14px);\n display: flex;\n align-items: center;\n padding: 0 0.5rem;\n min-height: functions.px-to-rem(34px);\n border-radius: 3px;\n\n &.active {\n background: color.$yellow;\n color: black;\n }\n\n .vertical & {\n color: black;\n padding: 0;\n\n &.active {\n padding: 0 0.5rem;\n margin-left: -0.5rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-meta-navigation',\n styleUrl: 'post-meta-navigation.scss',\n shadow: true,\n})\nexport class PostMetaNavigation {\n @Prop() orientation: 'horizontal' | 'vertical';\n @Prop() fullWidth?: boolean = false;\n\n render() {\n if (state.localizedConfig?.header.navMeta === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <div class={`meta-container ${this.orientation}${this.fullWidth ? ' full-width' : ''}`}>\n <nav aria-label={headerConfig.translations.navMetaAriaLabel} class=\"meta-navigation\">\n <ul class=\"meta-list\">\n {headerConfig.navMeta\n ?.filter(meta => !meta.isHomeLink)\n .map(meta => (\n <li key={meta.url}>\n <a\n class={{ 'active': meta.isActive, 'meta-link': true }}\n target={meta.target}\n href={meta.url}\n >\n <span aria-hidden=\"true\">{meta.text}</span>\n </a>\n </li>\n ))}\n </ul>\n </nav>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"post-meta-navigation.entry.js","mappings":";;","names":[],"sources":[],"sourcesContent":[],"version":3}
|