@swisspost/internet-header 1.7.3 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{index-0f01e1a4.js → index-1dad2dbc.js} +14 -2
- package/dist/cjs/index-1dad2dbc.js.map +1 -0
- package/dist/cjs/{klp-widget.controller-5dc378ef.js → klp-widget.controller-847b6688.js} +3 -6
- package/dist/cjs/klp-widget.controller-847b6688.js.map +1 -0
- package/dist/cjs/{language.service-4954855f.js → language.service-bde3928b.js} +2 -2
- package/dist/cjs/{language.service-4954855f.js.map → language.service-bde3928b.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +13 -10
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +6 -6
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +3 -3
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +6 -6
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +3 -3
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +34 -18
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +4 -4
- package/dist/cjs/{store-9d562808.js → store-28ab134c.js} +2 -2
- package/dist/cjs/{store-9d562808.js.map → store-28ab134c.js.map} +1 -1
- package/dist/cjs/{svg-icon.component-f4cd45b0.js → svg-icon.component-feee07b0.js} +2 -2
- package/dist/cjs/{svg-icon.component-f4cd45b0.js.map → svg-icon.component-feee07b0.js.map} +1 -1
- package/dist/cjs/{svg-sprite.component-e4b163ae.js → svg-sprite.component-45439f54.js} +6 -3
- package/dist/cjs/svg-sprite.component-45439f54.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +6 -6
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +4 -4
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +16 -14
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
- package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
- package/dist/collection/assets/config/test-configuration.json +2 -2
- package/dist/collection/assets/js/klp-login-widget.js +2 -5
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +21 -2
- package/dist/collection/components/post-internet-footer/post-internet-footer.css +21 -2
- package/dist/collection/components/post-internet-header/post-internet-header.css +22 -3
- package/dist/collection/components/post-internet-header/post-internet-header.js +2 -0
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +64 -8
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +9 -6
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.css +23 -2
- package/dist/collection/components/post-logo/post-logo.css +21 -2
- package/dist/collection/components/post-main-navigation/post-main-navigation.css +21 -2
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +21 -2
- package/dist/collection/components/post-search/post-search.css +34 -2
- package/dist/collection/components/post-search/post-search.js +26 -11
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/models/general.model.js.map +1 -1
- package/dist/collection/models/header.model.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +3 -2
- package/dist/collection/services/search/coveo.service.js.map +1 -1
- package/dist/collection/utils/svg-sprite.component.js +1 -1
- package/dist/collection/utils/svg-sprite.component.js.map +1 -1
- package/dist/components/klp-widget.controller.js +2 -5
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +10 -7
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +1 -1
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +1 -1
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +1 -1
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +1 -1
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +30 -14
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/store.js.map +1 -1
- package/dist/components/svg-sprite.component.js +4 -1
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +1 -1
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +11 -9
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/esm/{index-2aa4bc9f.js → index-d01ac670.js} +14 -2
- package/dist/esm/index-d01ac670.js.map +1 -0
- package/dist/esm/{klp-widget.controller-5b2b7ce7.js → klp-widget.controller-a3fe87ef.js} +3 -6
- package/dist/esm/klp-widget.controller-a3fe87ef.js.map +1 -0
- package/dist/esm/{language.service-c0f81273.js → language.service-fb4baac0.js} +2 -2
- package/dist/esm/{language.service-c0f81273.js.map → language.service-fb4baac0.js.map} +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +13 -10
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +6 -6
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +3 -3
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +6 -6
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +3 -3
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +34 -18
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +4 -4
- package/dist/esm/{store-d5165a8f.js → store-b7ee7d0a.js} +2 -2
- package/dist/esm/{store-d5165a8f.js.map → store-b7ee7d0a.js.map} +1 -1
- package/dist/esm/{svg-icon.component-02f233c7.js → svg-icon.component-556960e5.js} +2 -2
- package/dist/esm/{svg-icon.component-02f233c7.js.map → svg-icon.component-556960e5.js.map} +1 -1
- package/dist/esm/{svg-sprite.component-1f13a769.js → svg-sprite.component-7b47ac16.js} +6 -3
- package/dist/esm/svg-sprite.component-7b47ac16.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +6 -6
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +4 -4
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +16 -14
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.js +3 -3
- package/dist/esm/swisspost-internet-header.js.map +1 -1
- package/dist/esm-es5/{index-2aa4bc9f.js → index-d01ac670.js} +2 -2
- package/dist/esm-es5/index-d01ac670.js.map +1 -0
- package/dist/esm-es5/{klp-widget.controller-5b2b7ce7.js → klp-widget.controller-a3fe87ef.js} +2 -2
- package/dist/esm-es5/{klp-widget.controller-5b2b7ce7.js.map → klp-widget.controller-a3fe87ef.js.map} +1 -1
- package/dist/esm-es5/{language.service-c0f81273.js → language.service-fb4baac0.js} +2 -2
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/{store-d5165a8f.js → store-b7ee7d0a.js} +2 -2
- package/dist/esm-es5/{store-d5165a8f.js.map → store-b7ee7d0a.js.map} +1 -1
- package/dist/esm-es5/{svg-icon.component-02f233c7.js → svg-icon.component-556960e5.js} +2 -2
- package/dist/esm-es5/{svg-sprite.component-1f13a769.js → svg-sprite.component-7b47ac16.js} +2 -2
- package/dist/esm-es5/{svg-sprite.component-1f13a769.js.map → svg-sprite.component-7b47ac16.js.map} +1 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +2 -2
- package/dist/swisspost-internet-header/p-04a697d8.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-c96ad7d6.entry.js.map → p-04a697d8.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-65e18d30.system.js → p-17569f26.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-65e18d30.system.js.map → p-17569f26.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-23ada4b2.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-23ada4b2.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-8564ffa5.js → p-262889ce.js} +2 -2
- package/dist/swisspost-internet-header/{p-8564ffa5.js.map → p-262889ce.js.map} +1 -1
- package/dist/swisspost-internet-header/p-277d98e5.js +3 -0
- package/dist/swisspost-internet-header/p-277d98e5.js.map +1 -0
- package/dist/swisspost-internet-header/p-40b8486f.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-04cf4eeb.system.entry.js.map → p-40b8486f.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-5ee11538.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-c9cf2e49.system.entry.js.map → p-5ee11538.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-25872a84.system.entry.js → p-64146100.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-25872a84.system.entry.js.map → p-64146100.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-b7feee8d.js → p-671daad9.js} +2 -2
- package/dist/swisspost-internet-header/{p-b7feee8d.js.map → p-671daad9.js.map} +1 -1
- package/dist/swisspost-internet-header/p-6cf0efa5.entry.js +2 -0
- package/dist/swisspost-internet-header/p-6cf0efa5.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-70dbaddd.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-70dbaddd.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-600247ef.system.entry.js → p-721f7bc8.system.entry.js} +3 -3
- package/dist/swisspost-internet-header/{p-600247ef.system.entry.js.map → p-721f7bc8.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-0af4e3e8.entry.js → p-73dc1b8d.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-0af4e3e8.entry.js.map → p-73dc1b8d.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-77394e93.system.js → p-766e7efe.system.js} +2 -2
- package/dist/swisspost-internet-header/p-7bd03c0e.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7bd03c0e.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-99eafc12.js → p-7c5dd474.js} +2 -2
- package/dist/swisspost-internet-header/p-82ed11a2.system.js +3 -0
- package/dist/swisspost-internet-header/p-82ed11a2.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-f70ab166.system.js → p-89660ad0.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-f70ab166.system.js.map → p-89660ad0.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-9d66cee7.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-809e69c8.entry.js.map → p-9d66cee7.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-9a8f9281.js → p-9df5e826.js} +2 -2
- package/dist/swisspost-internet-header/{p-9a8f9281.js.map → p-9df5e826.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-53670adf.system.js → p-b450a1dd.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-53670adf.system.js.map → p-b450a1dd.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-70805f8f.system.js → p-b96be594.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-70805f8f.system.js.map → p-b96be594.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-eef407b0.system.entry.js → p-bb4a21d4.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-5ecd4ac6.entry.js → p-ce17d5d5.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-e1cd2707.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-7d4ecdb6.entry.js.map → p-e1cd2707.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-e2ebcd9e.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-e2ebcd9e.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-ed24b95e.entry.js +2 -0
- package/dist/swisspost-internet-header/p-ed24b95e.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-31a1433d.entry.js → p-efbf519d.entry.js} +3 -3
- package/dist/swisspost-internet-header/{p-31a1433d.entry.js.map → p-efbf519d.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-f008f2cf.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-f008f2cf.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ce02164e.system.js → p-f36167f1.system.js} +2 -2
- package/dist/swisspost-internet-header/p-fa2fbe50.entry.js +2 -0
- package/dist/swisspost-internet-header/p-fa2fbe50.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-fab3d98b.js +2 -0
- package/dist/swisspost-internet-header/p-fbc11f39.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-1a2a0045.system.entry.js.map → p-fbc11f39.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.css +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.js +1 -1
- package/dist/types/components/post-search/post-search.d.ts +1 -0
- package/dist/types/models/general.model.d.ts +9 -0
- package/dist/types/models/header.model.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +2 -0
- package/package.json +8 -8
- package/readme.md +1 -1
- package/dist/cjs/index-0f01e1a4.js.map +0 -1
- package/dist/cjs/klp-widget.controller-5dc378ef.js.map +0 -1
- package/dist/cjs/svg-sprite.component-e4b163ae.js.map +0 -1
- package/dist/esm/index-2aa4bc9f.js.map +0 -1
- package/dist/esm/klp-widget.controller-5b2b7ce7.js.map +0 -1
- package/dist/esm/svg-sprite.component-1f13a769.js.map +0 -1
- package/dist/esm-es5/index-2aa4bc9f.js.map +0 -1
- package/dist/swisspost-internet-header/p-02019f0d.entry.js +0 -2
- package/dist/swisspost-internet-header/p-02019f0d.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-04cf4eeb.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-1a2a0045.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-34205e78.entry.js +0 -2
- package/dist/swisspost-internet-header/p-34205e78.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4c66f64c.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-4c66f64c.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-7d4ecdb6.entry.js +0 -2
- package/dist/swisspost-internet-header/p-809e69c8.entry.js +0 -2
- package/dist/swisspost-internet-header/p-981fab9d.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-981fab9d.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-98767123.entry.js +0 -2
- package/dist/swisspost-internet-header/p-98767123.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a1e11213.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a1e11213.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-af44cf85.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-af44cf85.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-c96ad7d6.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c9cf2e49.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d8b954a1.js +0 -3
- package/dist/swisspost-internet-header/p-d8b954a1.js.map +0 -1
- package/dist/swisspost-internet-header/p-e415699e.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-e415699e.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-e75bba89.js +0 -2
- package/dist/swisspost-internet-header/p-f5935384.system.js +0 -3
- package/dist/swisspost-internet-header/p-f5935384.system.js.map +0 -1
- /package/dist/esm-es5/{language.service-c0f81273.js.map → language.service-fb4baac0.js.map} +0 -0
- /package/dist/esm-es5/{svg-icon.component-02f233c7.js.map → svg-icon.component-556960e5.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-77394e93.system.js.map → p-766e7efe.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-99eafc12.js.map → p-7c5dd474.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-eef407b0.system.entry.js.map → p-bb4a21d4.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-5ecd4ac6.entry.js.map → p-ce17d5d5.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-ce02164e.system.js.map → p-f36167f1.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-e75bba89.js.map → p-fab3d98b.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["markActiveRoute","config","activeRouteProp","compareUrl","resetOverrideConfig","hasActivePortalRoute","resetActiveStateToPortalConfig","URL","window","location","href","document","origin","error","console","warn","concat","scoreList","compileScoreList","length","winnerPair","main","isActiveOverride","sub","filter","nav","isActive","map","Object","assign","flyout","linkList","link","hadAnyActiveLink","mainNav","forEach","score","compareRoutes","url","updateScoreList","_a","linklist","sort","a","b","scoreListItem","hadActiveLink","Infinity","push","baseUrl","matchMode","baseUrlPath","pathname","toLocaleLowerCase","compareUrlPath","baseSegments","__spreadArray","split","x","compareSegments","getSimilarityScore","Math","min","i","request","osFlyoutCache","getPPMConfig","ppmConfigScript","querySelector","textContent","JSON","parse","getLocalizedConfig","_d","projectId","environment","language","cookieKey","localStorageKey","localizedCustomConfig","osFlyoutOverrides","ppmConfig","localizedConfig","lang","documentElement","fetchConfig","_e","sent","getUserLang","keys","undefined","Error","header","navMain","mergeOsFlyoutOverrides","setMainNavigationIds","_b","persistLanguageChoice","id","stringify","mainNavText","text","mainNavTitle","title","mainNavFlyout","col","index","overrides","slice","__awaiter","_this","isValidProjectId","generateConfigUrl","fetch","res","json","error_1","message","parsedEnvironment","toLowerCase","isProd","host","encodeURIComponent","toString","test","getLocalizedCustomConfig","customConfig","navMainEntities","navMainEntity","uniqueId","postInternetHeaderCss","PostInternetHeader","exports","class_1","hostRef","this","lastScrollTop","scrollY","scrollTop","lastWindowWidth","innerWidth","handleClickOutsideBound","handleClickOutside","bind","project","prototype","getCurrentLanguage","state","currentLanguage","connectedCallback","throttledScroll","throttle","handleScrollEvent","debouncedResize","debounce","handleResize","addEventListener","passive","disconnectedCallback","removeEventListener","dispose","componentWillLoad","languageSwitchOverrides","languageCookieKey","languageLocalStorageKey","activeRoute","error_2","componentDidLoad","requestAnimationFrame","headerLoaded","emit","classList","add","handleLanguageChange","newValue","handleAvailableLanguagesChage","handleOsFlyoutOverrides","handleActiveRouteChange","handleCustomConfigChange","handleSearchChange","search","handleLoginChange","login","handleMetaChange","meta","handleLanguageChangeEvent","event","detail","activeDropdownElement","composedPath","includes","toggleDropdown","handleKeyUp","key","activeFlyout","st","stickyness","toggle","isMainNavOpen","handleDropdownToggled","open","element","setTimeout","setActiveFlyout","handleFlyoutToggled","toggleMobileDropdown","tagName","render","renderMetaNavigation","navMeta","isHomeLink","renderLogin","_c","isLoginWidgetHidden","loginWidgetOptions","renderLanguageSwitch","navLang","h","Host","class","packageJson","version","onKeyup","e","fullWidth","SvgSprite","translate","If","condition","skiplinks","orientation","mode","onDropdownToggled","onClick","mobileMenu","SvgIcon","name","onFlyoutToggled","ref","el"],"sources":["src/services/route.service.ts","src/services/config.service.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 || !compareUrl || 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),\n ];\n const compareSegments = [\n compareUrl.origin.toLocaleLowerCase(),\n ...compareUrlPath.split('/').filter(x => !!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?.length || !b?.length) {\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) {\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) {\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)\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) 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 ||\n osFlyoutCache.flyout.length === 0 ||\n !osFlyoutOverrides.flyout ||\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 ? 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","@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.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)) * -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 0 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 }\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 Host,\n Element,\n h,\n State,\n Prop,\n Watch,\n Listen,\n EventEmitter,\n Event,\n Method,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { state, dispose } 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 { translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\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?: string;\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 * 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 @Element() host: HTMLElement;\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 lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\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 window.addEventListener('scroll', this.throttledScroll, { passive: true });\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.throttledScroll);\n window.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.environment = this.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 && state.currentLanguage !== null) {\n state.localizedCustomConfig = getLocalizedCustomConfig(\n this.customConfig,\n state.currentLanguage,\n );\n }\n\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 } 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 });\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 handleAvailableLanguagesChage(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 this.handleLanguageChange(event.detail);\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 this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n 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 = window.scrollY || document.documentElement.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 === true) {\n if (this.activeDropdownElement) {\n 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 outsite 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 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 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 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 return (\n <Host\n class={`stickyness-${this.stickyness} ${\n this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\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 === true}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n >\n <If condition={renderLanguageSwitch === true}>\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 === true}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch === true}>\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 <If condition={this.search !== false}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={renderMetaNavigation === false && renderLanguageSwitch === true}>\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 <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{h as i,r as t,c as n,H as e,g as o}from"./p-d8b954a1.js";import{t as a}from"./p-a74b380d.js";import{s}from"./p-b7feee8d.js";import{u as l}from"./p-45db66a6.js";import{t as r}from"./p-99eafc12.js";import{S as d}from"./p-9a8f9281.js";import{S as f}from"./p-e75bba89.js";const m=t=>{var n,e,o;const a=t.level.url?"a":"button";return i(a,{class:{"main-link":true,active:!!t.level.isActiveOverride,focus:t.isOpen},href:t.level.url,title:((n=t.level.title)===null||n===void 0?void 0:n.trim())&&((e=t.level.title)===null||e===void 0?void 0:e.trim())!==((o=t.level.text)===null||o===void 0?void 0:o.trim())?t.level.title:undefined,tabindex:t.level.url?undefined:0,"aria-haspopup":!t.level.noFlyout+"","aria-expanded":t.level.noFlyout?null:t.isOpen+"",onTouchEnd:i=>t.onTouchEnd(i),onKeyDown:i=>t.onKeyDown(i),onClick:i=>t.onClick(i)},i("span",null,t.level.text),t.level.isActiveOverride?i("span",{class:"visually-hidden"},r("Active navigation element")):null,i("svg",{"aria-hidden":"true"},i("use",{href:"#pi-pointy-arrow-right"})))};const u='.flyout-nav,.flyout-column h3{font-size:0.9375rem}@media (min-width: 600px){.flyout-nav,.flyout-column h3{font-size:1rem}}@media (min-width: 1024px){.flyout-nav,.flyout-column h3{font-size:1.0625rem}}.flyout-title{font-size:1.0625rem}@media (min-width: 600px){.flyout-title{font-size:1.25rem}}@media (min-width: 1024px){.flyout-title{font-size:1.5rem}}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link,.main-link,.flyout-close-button,.flyout-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.main-link:is(:focus-visible,:focus-within,.pretend-focus),.flyout-close-button:is(:focus-visible,:focus-within,.pretend-focus),.flyout-link:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.main-link:hover,.flyout-close-button:hover,.flyout-link:hover,.nav-link:focus,.main-link:focus,.flyout-close-button:focus,.flyout-link:focus{color:black}.nav-link:focus-visible,.main-link:focus-visible,.flyout-close-button:focus-visible,.flyout-link:focus-visible{z-index:1;position:relative}.nav-link>svg,.main-link>svg,.flyout-close-button>svg,.flyout-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.main-link>span,.flyout-close-button>span,.flyout-link>span{-ms-flex-negative:1;flex-shrink:1}.no-list,.main-container,.flyout-linklist{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:3px;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:3px;position:relative;z-index:1}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}:host{--host-window-height:var(--window-height, 100vh);--calculated-header-height:calc(var(--header-height) + 1px);display:block;min-width:0;height:var(--header-height)}:host(.no-animation) *{-webkit-animation:none !important;animation:none !important;-webkit-transition:none !important;transition:none !important}@media (min-width: 1024px){.main-navigation,.main-container,.main-container li,.main-link{height:100%}}.main-navigation{font-size:1.125rem}@media (min-width: 1024px){.main-navigation{font-size:1rem;margin:0 0.75rem}}@media (min-width: 1280px){.main-navigation{font-size:1.125rem}}@media (min-width: 1441px){.main-navigation{font-size:1.25rem}}@media (max-width: 1023.98px){.main-navigation{position:absolute;top:var(--calculated-header-height);left:0;background:white;height:calc(var(--host-window-height) - var(--calculated-header-height));width:100%;margin:0;overflow:hidden scroll;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:justify;justify-content:space-between;z-index:-1;visibility:hidden;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:visibility 0.35s, -webkit-transform 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s;transition:transform 0.35s, visibility 0.35s;transition:transform 0.35s, visibility 0.35s, -webkit-transform 0.35s}}@media (max-width: 1023.98px) and (prefers-reduced-motion: reduce){.main-navigation{-webkit-transition:none;transition:none}}@media (max-width: 1023.98px){.main-navigation.open{-webkit-transform:translateY(0);transform:translateY(0);visibility:visible}}.main-container{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:start;justify-content:flex-start}@media (max-width: 1023.98px){.main-container{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:stretch;align-items:stretch;-ms-flex-pack:start;justify-content:flex-start;padding-top:2.5rem;padding-bottom:2.5rem}.main-container>li+li{border-top:1px solid hsl(0, 0%, 90%)}}@media (min-width: 1024px){.main-container{padding-right:0;padding-left:0}}.main-container>li{-ms-flex:0 1 auto;flex:0 1 auto;min-width:0}.main-link{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding-right:0.75rem;padding-left:0.75rem;text-align:left;cursor:pointer;width:100%}@media (min-width: 1024px){.main-link svg{display:none}}@media (max-width: 1023.98px){.main-link{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;font-weight:300;padding:0.625rem 0;width:100%;text-align:left}.main-link svg{width:1.5rem;height:1.5rem}}.main-link span{overflow:hidden;text-overflow:ellipsis}.main-link,.flyout-link{position:relative;color:black}.main-link::after,.flyout-link::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:4px;background-color:transparent;opacity:0;-webkit-transform:scaleX(0.8);transform:scaleX(0.8);-webkit-transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.main-link::after,.flyout-link::after{-webkit-transition:none;transition:none}}.main-link:hover::after,.main-link.focus::after,.flyout-link:hover::after,.flyout-link.focus::after{background-color:hsl(0, 0%, 80%);opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.25s cubic-bezier(0.4, 0, 0.2, 1)}.main-link.active,.flyout-link.active{font-weight:700}.main-link.active::after,.flyout-link.active::after{background-color:#fc0;opacity:1;-webkit-transform:scale(1);transform:scale(1)}.flyout{left:0;width:100%;background:white;padding-bottom:3rem;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;visibility:hidden}@media (min-width: 1024px){.flyout{position:absolute;top:100%;max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);z-index:-1;-webkit-box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);-webkit-transform:translateY(0);transform:translateY(0)}}@media (max-width: 1023.98px){.flyout{position:fixed;top:0;height:100%;z-index:1;-webkit-transform:translateX(100%);transform:translateX(100%)}.flyout.open{-webkit-transform:translateX(0);transform:translateX(0)}}.flyout.open{visibility:visible}.flyout.animate{-webkit-transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:visibility 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s;transition:transform 0.35s, visibility 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s}@media (prefers-reduced-motion: reduce){.flyout.animate{-webkit-transition:none;transition:none}}.flyout-nav{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;min-height:3.5rem;-webkit-box-sizing:content-box;box-sizing:content-box}.flyout-row{display:-ms-flexbox;display:flex;gap:1.5rem}@media (max-width: 1023.98px){.flyout-row{display:grid;grid-template-columns:1fr 1fr}}@media (max-width: 599.98px){.flyout-row{grid-template-columns:1fr}}.flyout-column{-ms-flex:1;flex:1;max-width:25%}@media (max-width: 1023.98px){.flyout-column{max-width:none}}.flyout-column h3{margin-top:0}.flyout-back-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;font-size:1rem;font-weight:400;cursor:pointer}@media (max-width: 599.98px){.flyout-back-button{padding-right:16px;padding-left:16px}}@media (min-width: 600px) and (max-width: 1023.98px){.flyout-back-button{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.flyout-back-button{padding-right:40px;padding-left:40px}}.flyout-back-button svg{width:1.5rem;height:1.5rem}@media (min-width: 1024px){.flyout-back-button{display:none}}.flyout-close-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;margin-left:auto;padding:0 1.5rem;cursor:pointer}.flyout-close-button svg{width:1.5rem;height:1.5rem}@media (max-width: 1023.98px){.flyout-close-button{display:none}}.flyout-linklist li{border-top:1px solid hsl(0, 0%, 90%)}.flyout-linklist:first-child>li{border-top-color:transparent}.flyout-link{display:block;padding:0.75rem 0}.flyout-title{margin:2.5rem 0 1.5rem 0}@media (min-width: 1024px){.flyout-title{display:none}}';const h=class{constructor(i){t(this,i);this.dropdownToggled=n(this,"dropdownToggled",7);this.flyoutToggled=n(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}connectedCallback(){this.throttledResize=a(300,(()=>this.handleResize()));window.addEventListener("resize",this.throttledResize,{passive:true});this.setWindowHeight()}disconnectedCallback(){window.removeEventListener("resize",this.throttledResize);if(this.mouseEnterTimer!==null)window.clearTimeout(this.mouseEnterTimer);if(this.mouseLeaveTimer!==null)window.clearTimeout(this.mouseLeaveTimer)}handleResize(){this.host.classList.add("no-animation");if(this.resizeTimer!==null)window.clearTimeout(this.resizeTimer);this.resizeTimer=window.setTimeout((()=>{this.host.classList.remove("no-animation")}),300);this.setWindowHeight()}setWindowHeight(){if(!this.host){return}this.host.style.setProperty("--window-height",`${window.innerHeight}px`);window.setTimeout((()=>{this.host.style.setProperty("--window-height",`${window.innerHeight}px`)}),100)}openFlyout(i){var t;const n=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.getElementById(i);if(n&&this.activeFlyout!==""){this.addFlyoutAnimation(n,"expand")}this.activeFlyout=i;this.flyoutToggled.emit(i);this.setWindowHeight();if(this.mouseLeaveTimer!==null){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}}closeFlyout(i,t=true){var n;if(i===undefined)return;const e=(n=this.host.shadowRoot)===null||n===void 0?void 0:n.getElementById(i);if(e){this.addFlyoutAnimation(e,"collapse",t)}this.activeFlyout=null;this.flyoutToggled.emit()}addFlyoutAnimation(i,t,n=true){if(!l()){i.classList.add("animate");i.addEventListener("transitionend",(()=>{var e,o,a;if(n){if(t==="expand"){(e=i.querySelector("button.flyout-back-button"))===null||e===void 0?void 0:e.focus()}else if(t==="collapse"){(a=(o=i.parentElement)===null||o===void 0?void 0:o.querySelector("a.main-link"))===null||a===void 0?void 0:a.focus()}}i.classList.remove("animate")}),{once:true})}}isActiveFlyout(i){return i===this.activeFlyout}handleMouseEnter(i){if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer);this.mouseEnterTimer=null}if(this.mouseLeaveTimer&&this.activeFlyout===i.id){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}if(window.innerWidth>=1024&&i.flyout.length>0&&this.activeFlyout!==i.id){this.mouseEnterTimer=window.setTimeout((()=>{this.mouseEnterTimer=null;if(i.id!==undefined)this.openFlyout(i.id)}),200)}}handleMouseLeave(i){if(this.mouseEnterTimer!==null){window.clearTimeout(this.mouseEnterTimer)}if(this.activeFlyout&&this.activeFlyout!==i.id){return}if(window.innerWidth>=1024&&i.flyout.length>0){this.mouseLeaveTimer=window.setTimeout((()=>{this.closeFlyout(i.id,false)}),300)}}handleTouchEnd(i,t){if(!this.isActiveFlyout(t.id)&&!t.noFlyout){if(i.cancelable)i.preventDefault();if(t.id)this.openFlyout(t.id)}}handleKeyPress(i,t){if(i.key==="Enter"&&!this.isActiveFlyout(t.id)&&!t.noFlyout){i.preventDefault();if(t.id)this.openFlyout(t.id)}}handleClick(i,t){if(!this.isActiveFlyout(t.id)&&!t.noFlyout){i.preventDefault();if(t.id)this.openFlyout(t.id)}}async toggleDropdown(i){this.mobileMenuOpen=i===undefined?!this.mobileMenuOpen:i;this.dropdownToggled.emit({open:this.mobileMenuOpen,element:this.host});if(i===false){this.closeFlyout()}this.setWindowHeight();return this.mobileMenuOpen}async setFocus(){var i;const t=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.querySelector(".main-link");if(t){t.focus()}}async setActiveFlyout(i){this.activeFlyout=i;this.flyoutToggled.emit(this.activeFlyout)}render(){var t;if(((t=s.localizedConfig)===null||t===void 0?void 0:t.header)===undefined)return;const n=s.localizedConfig.header;return i(e,null,i(d,null),i("nav",{"aria-label":n.translations.navMainAriaLabel,id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},role:"menu"},i("ul",{class:"main-container container"},n.navMain.map((t=>i("li",{key:t.text,onMouseLeave:()=>this.handleMouseLeave(t),onMouseEnter:()=>this.handleMouseEnter(t)},i(m,{level:t,isOpen:this.isActiveFlyout(t.id),onTouchEnd:i=>this.handleTouchEnd(i,t),onKeyDown:i=>this.handleKeyPress(i,t),onClick:i=>this.handleClick(i,t)}),!t.noFlyout?o.bind(this)(t):null)))),i("slot",null)));function o(t){return i("div",{id:t.id,class:{flyout:true,open:this.isActiveFlyout(t.id)}},i("div",{class:"wide-container"},i("div",{class:"flyout-nav"},i("button",{class:"nav-link flyout-back-button",onClick:()=>this.closeFlyout(t.id)},i(f,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),i("span",null,n.translations.backButtonText)),i("button",{class:"flyout-close-button",onClick:()=>this.closeFlyout(t.id)},i("span",{class:"visually-hidden"},t.text,", ",n.translations.mobileNavToggleClose),i(f,{name:"pi-close"}))),i("h2",{class:"flyout-title container"},i("a",{href:t.url,class:"nav-link"},t.text)),i("div",{class:"flyout-row container"},t.flyout.map(((n,e)=>i("div",{key:n.title,class:"flyout-column"},n.title?i("h3",{id:`${t.id}-column-${e}`},n.title):null,i("ul",{class:"flyout-linklist","aria-labelledby":n.title?`${t.id}-column-${e}`:undefined},n.linkList.map((t=>i("li",{key:t.url},i("a",{class:{"flyout-link":true,active:!!(t===null||t===void 0?void 0:t.isActiveOverride)},href:t.url,target:t.target},t.title,(t===null||t===void 0?void 0:t.isActiveOverride)?i("span",{class:"visually-hidden"},", ",r("Active navigation element")):null)))))))))))}}get host(){return o(this)}};h.style=u;export{h as post_main_navigation};
|
|
2
|
-
//# sourceMappingURL=p-7d4ecdb6.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,h as t,H as o,g as e}from"./p-d8b954a1.js";import{t as n}from"./p-a74b380d.js";import{s}from"./p-b7feee8d.js";const r='@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.nav-link:focus{color:black}.nav-link:focus-visible{z-index:1;position:relative}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.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:3px;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:3px;position:relative;z-index:1}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}:host{display:block}.logo{display:block;-ms-flex-align:center;align-items:center;background:#fc0}.logo svg{display:block;width:var(--header-height);height:var(--header-height)}';const a=class{constructor(t){i(this,t);this.showFaviconLogo=undefined;this.throttledResize=n(300,(()=>this.handleResize()));window.addEventListener("resize",this.throttledResize,{passive:true});this.resizeObserver=new ResizeObserver(this.handleResize.bind(this));this.handleResize()}componentDidLoad(){var i;const t=(i=this.host.parentElement)===null||i===void 0?void 0:i.querySelector(".main-navigation-controls");if(t){this.resizeObserver.observe(t)}}disconnectedCallback(){window.removeEventListener("resize",this.throttledResize);this.resizeObserver.disconnect()}handleResize(){var i,t;const o=(i=this.host.parentElement)===null||i===void 0?void 0:i.querySelector(".main-navigation-controls");const e=(t=this.host.parentElement)===null||t===void 0?void 0:t.querySelector(".menu-button");if(o&&e)this.showFaviconLogo=window.innerWidth-(150+o.clientWidth+e.clientWidth)<=0}render(){var i;if(((i=s.localizedConfig)===null||i===void 0?void 0:i.header.logo)===undefined)return;const e=s.localizedConfig.header.logo;return t(o,null,t("a",{href:e.logoLink,class:"logo"},t("span",{class:"visually-hidden"},e.logoLinkTitle),t("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 72 72","aria-hidden":"true"},t("g",{id:"Logo"},t("rect",{fill:"#ffcc00",x:"0",y:"0",width:"72",height:"72"}),t("polygon",{fill:"#ff0000",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"}),t("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"})))))}get host(){return e(this)}};a.style=r;export{a as post_logo};
|
|
2
|
-
//# sourceMappingURL=p-809e69c8.entry.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var __awaiter=this&&this.__awaiter||function(o,e,t,r){function i(o){return o instanceof t?o:new t((function(e){e(o)}))}return new(t||(t=Promise))((function(t,n){function a(o){try{s(r.next(o))}catch(o){n(o)}}function l(o){try{s(r["throw"](o))}catch(o){n(o)}}function s(o){o.done?t(o.value):i(o.value).then(a,l)}s((r=r.apply(o,e||[])).next())}))};var __generator=this&&this.__generator||function(o,e){var t={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},r,i,n,a;return a={next:l(0),throw:l(1),return:l(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function l(o){return function(e){return s([o,e])}}function s(l){if(r)throw new TypeError("Generator is already executing.");while(a&&(a=0,l[0]&&(t=0)),t)try{if(r=1,i&&(n=l[0]&2?i["return"]:l[0]?i["throw"]||((n=i["return"])&&n.call(i),0):i.next)&&!(n=n.call(i,l[1])).done)return n;if(i=0,n)l=[l[0]&2,n.value];switch(l[0]){case 0:case 1:n=l;break;case 4:t.label++;return{value:l[1],done:false};case 5:t.label++;i=l[1];l=[0];continue;case 7:l=t.ops.pop();t.trys.pop();continue;default:if(!(n=t.trys,n=n.length>0&&n[n.length-1])&&(l[0]===6||l[0]===2)){t=0;continue}if(l[0]===3&&(!n||l[1]>n[0]&&l[1]<n[3])){t.label=l[1];break}if(l[0]===6&&t.label<n[1]){t.label=n[1];n=l;break}if(n&&t.label<n[2]){t.label=n[2];t.ops.push(l);break}if(n[2])t.ops.pop();t.trys.pop();continue}l=e.call(o,t)}catch(o){l=[6,o];i=0}finally{r=n=0}if(l[0]&5)throw l[1];return{value:l[0]?l[1]:void 0,done:true}}};System.register(["./p-f5935384.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-65e18d30.system.js","./p-88aac12c.system.js","./p-70805f8f.system.js","./p-77394e93.system.js","./p-edb2802d.system.js"],(function(o){"use strict";var e,t,r,i,n,a,l,s,c,d,f,m,g,u,h;return{setters:[function(o){e=o.h;t=o.r;r=o.c;i=o.H;n=o.g},function(o){a=o.t},function(o){l=o.c;s=o.d;c=o.e},function(o){d=o.s},function(o){f=o.e;m=o.u},function(o){g=o.S},function(o){u=o.S},function(o){h=o.I}],execute:function(){var p=this;var x;var b=function(o){var e=d.currentLanguage;return"https://www.post.ch/".concat(e,"/api/trackandtrace?id=").concat(encodeURIComponent(o))};var w=function(o,e){var t=e.packageTrackingRedirectUrl;return t.replace("{trackingNumber}",encodeURIComponent(o))};var v=function(o,e){return __awaiter(p,void 0,void 0,(function(){var t;return __generator(this,(function(r){switch(r.label){case 0:return[4,k(o,e)];case 1:t=r.sent();return[2,t.ok]}}))}))};var k=function(o,e){var t=e.redirectPattern;return __awaiter(p,void 0,void 0,(function(){var e,r;return __generator(this,(function(i){e=new RegExp(t);if(e.test(o)){r=b(o);if(x)x.abort();x=new AbortController;return[2,new Promise((function(o,e){fetch(r,{signal:x.signal}).then((function(o){return o.json()})).then((function(e){o(Object.assign(Object.assign({},e),{ok:e.ok}))})).catch((function(o){if(o.name!=="AbortError"){console.error("Could not check track and trace API due to error: ".concat(o.message));e(o)}}))}))]}return[2,{ok:false,timestamp:(new Date).toDateString()}]}))}))};var y=function(o,e){return __awaiter(p,void 0,void 0,(function(){var t;return __generator(this,(function(r){switch(r.label){case 0:return[4,k(o,e)];case 1:t=r.sent();return[2,t.ok?Object.assign(Object.assign({},t),{url:w(o,e)}):null]}}))}))};var z=function(o,e){return __awaiter(p,void 0,void 0,(function(){var t;return __generator(this,(function(r){switch(r.label){case 0:return[4,v(o,e)];case 1:t=r.sent();return[2,t?w(o,e):E(o)]}}))}))};var E=function(o){var e;if(((e=d.localizedConfig)===null||e===void 0?void 0:e.header.search)===undefined){return}var t=d.localizedConfig.header.search.searchPageUrl;var r="#q=".concat(encodeURIComponent(o));return"".concat(t).concat(r,"&t=AllTab")};var S=function(o,e,t){if(t===void 0){t=7}var r=o.slice(0,Math.max(t/2,t-e.length));return[r,e.slice(0,t-r.length)]};var C={url:"https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest",environment:{prod:{organisation:"postchagprod6ef4sbet",token:"xx5b629890-23b9-4fbe-b601-0e8719186969"},int01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},int02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},devs1:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},test:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"}}};var L;var F=function(o){return __awaiter(p,void 0,void 0,(function(){var e,t,r,i,n,a,l;return __generator(this,(function(s){if(((t=(e=d.localizedConfig)===null||e===void 0?void 0:e.header)===null||t===void 0?void 0:t.search)===undefined)return[2,[]];r=d.localizedConfig.header.search;i=C.environment[d.environment],n=i.token,a=i.organisation;l="".concat(C.url,"?q=").concat(o,"&locale=").concat(d.currentLanguage,"&searchHub=").concat(r.searchHubName,"&pipeline=").concat(r.searchPipelineName,"&organizationId=").concat(a);if(L)L.abort();L=new AbortController;return[2,new Promise((function(o,e){fetch(l,{signal:L.signal,method:"GET",headers:{Authorization:"Bearer ".concat(n)}}).then((function(o){return o.json()})).then((function(e){o(e.completions.map((function(o){return Object.assign(Object.assign({},o),{redirectUrl:E(o.expression)})})))})).catch((function(o){if(o.name!=="AbortError"){console.error("Fetching coveo suggestions failed, ".concat(o,'\nDid you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?'));e(o)}}))}))]}))}))};var T="https://places.post.ch/StandortSuche/StaoCacheService";var O="https://places.post.ch";var R=function(o){return o.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")};var I;var _=function(o){return __awaiter(p,void 0,void 0,(function(){var e,t;return __generator(this,(function(r){if(o.length===0){return[2,[]]}e=Object.entries({query:encodeURIComponent(o),lang:d.currentLanguage,limit:7}).reduce((function(o,e,t){var r=e[0],i=e[1];return"".concat(o).concat(t===0?"?":"&").concat(r,"=").concat(i)}),"");t="".concat(T,"/Geocode").concat(e);if(I)I.abort();I=new AbortController;return[2,new Promise((function(o,e){fetch(t,{signal:I.signal}).then((function(o){return o.json()})).then((function(e){if(!e.ok)throw new Error(e.info);o(e.locations)})).catch((function(o){if(o.name!=="AbortError"){console.error("Fetching places failed, ".concat(o,'\nDid you add "places.post.ch" to your connect-src content security policy?'));e(o)}}))}))]}))}))};var B=function(o,e){if(o===undefined)return e;var t=R(e);var r=R(o);var i=t.indexOf(r);if(i<0){return e}return"".concat(e.substring(0,i),"{").concat(e.substring(i,i+o.length),"}").concat(e.substring(i+o.length,e.length))};var N=function(o){var e;if(o.id){e="".concat(O,"/").concat(d.currentLanguage,"/").concat(o.id,"/detail")}else{e="".concat(O,"?preselecttext=").concat(encodeURIComponent(o.name))}return e};var A=function(o){var t;var r=(t=o.highlightClass)!==null&&t!==void 0?t:"bold";var i=o.text.replace(/[{(]/g,'<span class="'.concat(r,'">')).replace(/[})]/g,"</span>").replace(/[\[\]]/g,"");return e("span",{innerHTML:i})};var M="/*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.form-label{margin-bottom:0.5rem;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label{padding-top:calc(0.875rem + 2px);padding-bottom:calc(0.875rem + 2px);margin-bottom:0;font-size:inherit;line-height:1.5;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label-lg{padding-top:calc(1.25rem + 2px);padding-bottom:calc(1.25rem + 2px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.375rem + 2px);padding-bottom:calc(0.375rem + 2px);font-size:0.875rem}.form-text{margin-top:0.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-clip:padding-box;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#000;background-color:#fff;border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-webkit-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-moz-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::-ms-input-placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control::placeholder{color:hsl(0, 0%, 40%);opacity:1}.form-control:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%);opacity:1}.form-control::-webkit-file-upload-button{padding:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms}.form-control::file-selector-button{padding:0.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;transition:opacity 250ms, border-color 250ms, background-color 250ms, color 250ms}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#fff}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#fff}.form-control-plaintext{display:block;width:100%;padding:0.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:transparent;border:solid transparent;border-width:2px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg,.form-floating>.form-control-plaintext.form-control,.form-floating>.form-control-plaintext.form-select{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.96875rem + 4px);padding:0.375rem 0.875rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.875rem}.form-control-sm::file-selector-button{padding:0.375rem 0.875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:0.875rem;margin-inline-end:0.875rem}.form-control-lg,.form-floating>.form-control,.form-floating>.form-select{min-height:calc(4.375rem + 4px);padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.form-control-lg::-webkit-file-upload-button,.form-floating>.form-control::-webkit-file-upload-button,.form-floating>.form-select::-webkit-file-upload-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}.form-control-lg::file-selector-button,.form-floating>.form-control::file-selector-button,.form-floating>.form-select::file-selector-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}textarea.form-control{min-height:calc(3.25rem + 4px)}textarea.form-control-sm{min-height:calc(1.96875rem + 4px)}textarea.form-control-lg,.form-floating>textarea.form-control,.form-floating>textarea.form-select{min-height:calc(4.375rem + 4px)}.form-control-color{width:3rem;height:calc(3.25rem + 4px);padding:0.875rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:0}.form-control-color.form-control-sm{height:calc(1.96875rem + 4px)}.form-control-color.form-control-lg,.form-floating>.form-control-color.form-control,.form-floating>.form-control-color.form-select{height:calc(4.375rem + 4px)}.form-select{--bs-form-select-bg-img:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%3E%3Cpath opacity='1' fill='%23000000' d='M27.6 10.667 16 22.267l-11.467-11.6-1.067 1.067 12.533 12.4 12.533-12.4z'/%3E%3C/g%3E%3C/svg%3E\");display:block;width:100%;padding:0.875rem 3.375rem 0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;background-color:#fff;background-image:var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);background-repeat:no-repeat;background-position:right 1.125rem center;background-size:14px 14px;border:2px solid hsl(0, 0%, 40%);border-radius:0;-webkit-transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-select{-webkit-transition:none;transition:none}}.form-select:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 0.125rem rgba(51, 51, 51, 0.25)}.form-select[multiple],.form-select[size]:not([size=\"1\"]){padding-right:1.125rem;background-image:none}.form-select:disabled{color:hsl(0, 0%, 40%);background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:hsl(0, 0%, 80%)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #000}.form-select-sm{padding-top:0.375rem;padding-bottom:0.375rem;padding-left:0.875rem;font-size:0.875rem;border-radius:0}.form-select-lg{padding-top:1.25rem;padding-bottom:1.25rem;padding-left:1.375rem;font-size:1.25rem;border-radius:0}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\")}.form-check{display:block;min-height:1.5rem;padding-left:0;margin-bottom:1rem}.form-check .form-check-input{float:left;margin-left:0}.form-check-reverse{padding-right:0;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:0;margin-left:0}.form-check-input{--bs-form-check-bg:transparent;width:1.5rem;height:1.5rem;margin-top:0rem;vertical-align:top;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:2px solid hsl(0, 0%, 40%);-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:0}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{-webkit-filter:none;filter:none}.form-check-input:focus{border-color:#000;outline:0;-webkit-box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25);box-shadow:0 0 0 0.125rem rgba(0, 0, 0, 0.25)}.form-check-input:checked{background-color:transparent;border-color:#000}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%3E%3Cpath opacity='1' fill='%23000000' d='m12.667 23.6-7.2-7.067 1.067-1.067 6.133 6.267L25.467 8.8l1.067 1.067z'/%3E%3C/g%3E%3C/svg%3E\")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' viewBox='-3 -3 6 6'%3E%3Ccircle opacity='1' fill='%23000000' r='2'%3E%3C/circle%3E%3C/svg%3E\")}.form-check-input[type=checkbox]:indeterminate{background-color:transparent;border-color:#000;--bs-form-check-bg-image:url(\"data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%3E%3Cpath opacity='1' fill='%23000000' d='m5.333 16.01 20-.021.001 1.333-20 .021-.001-1.333z'/%3E%3C/g%3E%3C/svg%3E\")}.form-check-input:disabled{pointer-events:none;-webkit-filter:none;filter:none;opacity:0.5}.form-check-input[disabled]~.form-check-label,.form-check-input:disabled~.form-check-label{cursor:default;opacity:0.5}.form-check-label{color:rgba(var(--post-contrast-color-rgb), 0.8);cursor:pointer}.form-switch{padding-left:0}.form-switch .form-check-input{--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='hsl%280, 0%, 40%%29' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\");width:4rem;margin-left:0;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:4rem;-webkit-transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms;transition:background-position 250ms cubic-bezier(0.4, 0, 0.2, 1), background-color 250ms}@media (prefers-reduced-motion: reduce){.form-switch .form-check-input{-webkit-transition:none;transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-16 -16 32 32'%3e%3ccircle r='15' stroke='%23000' stroke-width='2' fill='%23fff'/%3e%3c/svg%3e\")}.form-switch.form-check-reverse{padding-right:0;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:0;margin-left:0}.form-check-inline{display:inline-block;margin-right:1.5rem}.btn-check{position:absolute;clip:rect(0, 0, 0, 0);pointer-events:none}.btn-check[disabled]+.btn,.btn-check:disabled+.btn{pointer-events:none;-webkit-filter:none;filter:none;opacity:0.4}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\")}.form-range{width:100%;height:2.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{-webkit-box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25);box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #000, 0 0 0 0.2rem rgba(51, 51, 51, 0.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:2rem;height:2rem;margin-top:-0.9rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-webkit-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#fff}.form-range::-webkit-slider-runnable-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:2rem;height:2rem;background-color:#fff;border:2px solid #000;border-radius:1rem;-moz-transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;transition:background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion: reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#fff}.form-range::-moz-range-track{width:100%;height:0.2rem;color:transparent;cursor:pointer;background-color:hsl(0, 0%, 80%);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:#fff}.form-range:disabled::-moz-range-thumb{background-color:#fff}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(4.375rem + 4px);min-height:calc(4.375rem + 4px);line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1.25rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid transparent;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.form-floating>label{-webkit-transition:none;transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1.25rem 1.375rem}.form-floating>.form-control::-webkit-input-placeholder,.form-floating>.form-control-plaintext::-webkit-input-placeholder{color:transparent}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:transparent}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:transparent}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:transparent}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:transparent}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder),.form-floating>.form-control-plaintext:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1.25rem 0.6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:1.25rem 0.6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1.25rem 0.6875rem;z-index:-1;height:4.375rem;content:\"\";background-color:#fff;border-radius:0}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.form-floating>:disabled~label{color:#6c757d}.form-floating>:disabled~label::after{background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6)}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;text-align:center;white-space:nowrap;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border:2px solid hsl(0, 0%, 40%);border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:0.375rem 0.875rem;font-size:0.875rem;border-radius:0}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.5rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(2px * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:0;font-size:1rem;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:1rem;color:#fff;background-color:var(--bs-success);border-radius:0}.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip,.is-valid~.valid-feedback,.is-valid~.valid-tooltip{display:block}.was-validated .form-control:valid,.form-control.is-valid{border-color:var(--bs-form-valid-border-color);padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:valid:focus,.form-control.is-valid:focus{border-color:var(--bs-form-valid-border-color);-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:valid,.form-select.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size=\"1\"],.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size=\"1\"]{--bs-form-select-bg-icon:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%280%25,50.588235%25,22.745098%25%29;fill-opacity:1;' d='M 9.5 18.398438 L 3.800781 12.699219 L 5.199219 11.300781 L 9.5 15.597656 L 18.800781 6.300781 L 20.199219 7.699219 Z M 9.5 18.398438 '/%3E%3C/g%3E%3C/svg%3E%0A\");padding-right:6.1875rem;background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:valid:focus,.form-select.is-valid:focus{border-color:var(--bs-form-valid-border-color);-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-control-color:valid,.form-control-color.is-valid{width:6.25rem}.was-validated .form-check-input:valid,.form-check-input.is-valid{border-color:var(--bs-form-valid-border-color)}.was-validated .form-check-input:valid:checked,.form-check-input.is-valid:checked{background-color:var(--bs-form-valid-color)}.was-validated .form-check-input:valid:focus,.form-check-input.is-valid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-success-rgb), 0.25)}.was-validated .form-check-input:valid~.form-check-label,.form-check-input.is-valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):valid,.input-group>.form-control:not(:focus).is-valid,.was-validated .input-group>.form-select:not(:focus):valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.input-group>.form-floating:not(:focus-within).is-valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:0;font-size:1rem;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:0.25rem 0.5rem;margin-top:0.1rem;font-size:1rem;color:#fff;background-color:var(--bs-danger);border-radius:0}.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip,.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip{display:block}.was-validated .form-control:invalid,.form-control.is-invalid{border-color:var(--bs-form-invalid-border-color);padding-right:3.25rem;background-image:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");background-repeat:no-repeat;background-position:right calc(0.375em + 0.4375rem) center;background-size:calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-control:invalid:focus,.form-control.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:3.25rem;background-position:top calc(0.375em + 0.4375rem) right calc(0.375em + 0.4375rem)}.was-validated .form-select:invalid,.form-select.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size=\"1\"],.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size=\"1\"]{--bs-form-select-bg-icon:url(\"data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='24pt' height='24pt' viewBox='0 0 24 24' version='1.1'%3E%3Cg id='surface1'%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 3 L 13 3 L 13 17 L 11 17 Z M 11 3 '/%3E%3Cpath style=' stroke:none;fill-rule:nonzero;fill:rgb%2864.705882%25,9.019608%25,15.686275%25%29;fill-opacity:1;' d='M 11 19 L 13 19 L 13 21 L 11 21 Z M 11 19 '/%3E%3C/g%3E%3C/svg%3E%0A\");padding-right:6.1875rem;background-position:right 1.125rem center, center right 3.375rem;background-size:14px 14px, calc(0.75em + 0.875rem) calc(0.75em + 0.875rem)}.was-validated .form-select:invalid:focus,.form-select.is-invalid:focus{border-color:var(--bs-form-invalid-border-color);-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-control-color:invalid,.form-control-color.is-invalid{width:6.25rem}.was-validated .form-check-input:invalid,.form-check-input.is-invalid{border-color:var(--bs-form-invalid-border-color)}.was-validated .form-check-input:invalid:checked,.form-check-input.is-invalid:checked{background-color:var(--bs-form-invalid-color)}.was-validated .form-check-input:invalid:focus,.form-check-input.is-invalid:focus{-webkit-box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25);box-shadow:0 0 0 0.125rem rgba(var(--bs-danger-rgb), 0.25)}.was-validated .form-check-input:invalid~.form-check-label,.form-check-input.is-invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:0.5em}.was-validated .input-group>.form-control:not(:focus):invalid,.input-group>.form-control:not(:focus).is-invalid,.was-validated .input-group>.form-select:not(:focus):invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.input-group>.form-floating:not(:focus-within).is-invalid{z-index:4}.form-control-rg{height:calc(2.75rem + 4px);padding:0.625rem 0.875rem;font-size:1rem;line-height:1.5}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control{position:relative}.form-control:disabled{color:hsl(0, 0%, 40%)}.form-control[readonly]:not(:disabled){border-color:hsl(0, 0%, 40%);background-color:#fff}.form-control[type=file]{position:relative;min-height:calc(3.25rem + 4px)}.form-control[type=file]::-webkit-file-upload-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file]::file-selector-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file].form-control-sm{min-height:calc(2.25rem + 4px)}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-lg{min-height:calc(4rem + 4px)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-control:hover:not(:disabled),.form-control:focus:not(:disabled){border-color:Highlight}.form-control:hover:not(:disabled)::-webkit-file-upload-button,.form-control:focus:not(:disabled)::-webkit-file-upload-button{border-left-color:Highlight}.form-control:hover:not(:disabled)::file-selector-button,.form-control:focus:not(:disabled)::file-selector-button{border-left-color:Highlight}}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-top:calc(\n 2px + 2.1875rem - 0.796875rem\n );padding-bottom:0;border:0;color:hsl(0, 0%, 40%);font-size:1.0625rem;width:auto;height:auto;max-width:calc(100% - 4px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:1.375rem 0;transform-origin:1.375rem 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms linear;transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms linear}.form-floating>.form-control{}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-moz-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-ms-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control[type=file]:not(:-moz-placeholder-shown){padding-top:1.995rem}.form-floating>.form-control[type=file]:not(:-ms-input-placeholder){padding-top:1.995rem}.form-floating>.form-control[type=file]:focus,.form-floating>.form-control[type=file]:not(:placeholder-shown){padding-top:1.995rem}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select~label{padding-top:0.7rem;max-width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px);-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1), width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-select:empty{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select:empty~label{padding-top:1.25rem;max-width:calc(100% - 4px);-webkit-transform:none;transform:none}.form-floating>.form-select[multiple]{padding-top:2.25rem;padding-bottom:0;height:auto}.form-floating>.form-select[multiple]~label{padding-top:0.9558823529rem;padding-bottom:0;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);height:auto;background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:1.25rem;padding-bottom:1.25rem;width:calc(100% - 4px - 1.375rem);height:4.375rem}.form-floating>textarea.form-control{padding-top:1.875rem;padding-bottom:1.25rem;height:auto}.form-floating>textarea.form-control~label{padding-bottom:0;width:calc(100% - 4px);max-width:none;height:unset}.form-floating>textarea.form-control:not(:-moz-placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-ms-input-placeholder){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-moz-placeholder-shown)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:0.9558823529rem;width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem);max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(100% - 4px - 1.375rem - 0.5rem - 2rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):focus~label,.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:placeholder-shown)~label{width:calc(130.7692307692% - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem)}@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black){.form-floating>input,.form-floating>textarea{}.form-floating>input::-webkit-input-placeholder,.form-floating>textarea::-webkit-input-placeholder{opacity:0}.form-floating>input::-moz-placeholder,.form-floating>textarea::-moz-placeholder{opacity:0}.form-floating>input:-ms-input-placeholder,.form-floating>textarea:-ms-input-placeholder{opacity:0}.form-floating>input::-ms-input-placeholder,.form-floating>textarea::-ms-input-placeholder{opacity:0}.form-floating>input::placeholder,.form-floating>textarea::placeholder{opacity:0}.form-floating>input::input-placeholder,.form-floating>textarea::input-placeholder{opacity:0}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:400px;--bs-breakpoint-rg:600px;--bs-breakpoint-md:780px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-xxl:1441px}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-0.5 * var(--bs-gutter-x));margin-left:calc(-0.5 * var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.3333333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.6666666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xs{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * 0.5);padding-left:calc(var(--bs-gutter-x) * 0.5);margin-right:auto;margin-left:auto}.container{max-width:1440px}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container{padding-right:12px;padding-left:12px}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px) and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 600px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 600px){.container-reset-left{margin-left:-32px}}@media (min-width: 600px){.container-reset-right{margin-right:-32px}}@media (min-width: 600px) and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px) and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1024px){.container-reset-left{margin-left:-40px}}@media (min-width: 1024px){.container-reset-right{margin-right:-40px}}@media (min-width: 1024px) and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container{padding-right:128px;padding-left:128px}}@media (min-width: 1280px){.container-reset{margin-right:-128px;margin-left:-128px}}@media (min-width: 1280px){.container-reset-left{margin-left:-128px}}@media (min-width: 1280px){.container-reset-right{margin-right:-128px}}@media (min-width: 1280px) and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:700;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:400;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff\") format(\"woff\")}@font-face{font-display:swap;font-family:\"Frutiger Neue For Post\";font-weight:300;src:url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2\") format(\"woff2\"), url(\"https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff\") format(\"woff\")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link,.search-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.search-button:hover,.nav-link:focus,.search-button:focus{color:black}.nav-link:focus-visible,.search-button:focus-visible{z-index:1;position:relative}.nav-link>svg,.search-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.search-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:3px;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:3px;position:relative;z-index:1}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}:host{display:block}.search,:host{height:100%}.search-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){.search-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.search-button{padding:0 calc(1.5rem - 1px)}}.search-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px) and (max-width: 1023.98px){.search-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:0.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:white;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-top:3.25rem;padding-bottom:3.25rem;z-index:-1;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:-webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:-webkit-transform 0.35s, -webkit-box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s;transition:transform 0.35s, box-shadow 0.35s, -webkit-transform 0.35s, -webkit-box-shadow 0.35s}@media (prefers-reduced-motion: reduce){.flyout{-webkit-transition:none;transition:none}}@media (min-width: 1024px){.flyout{max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);-webkit-box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 1px 0 rgba(0, 0, 0, 0.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4);box-shadow:0 0 8px 0 rgba(0, 0, 0, 0.4)}}@media (max-width: 1023.98px){.flyout{height:calc(100vh - var(--header-height) - 1px)}}.flyout.open{-webkit-transform:translateY(0);transform:translateY(0)}.form-floating .form-control,.form-floating .form-control+label{padding-right:3.375rem}.start-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:1rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer}.start-search-button svg{width:1.5rem;height:1.5rem}.suggestions{margin:1.5rem 0}.suggestions a{padding:0.75rem 1rem}.suggestions a:hover,.suggestions a:focus,.suggestions a.selected{background:#f4f3f1}.suggestions a.parcel-suggestion{-ms-flex-wrap:wrap;flex-wrap:wrap}.search-recommendation__icon{height:1.5em;width:1.5em}";var D=o("post_search",function(){function o(o){t(this,o);this.dropdownToggled=r(this,"dropdownToggled",7);this.searchDropdownOpen=false;this.coveoSuggestions=[];this.placeSuggestions=[];this.parcelSuggestion=null}o.prototype.connectedCallback=function(){var o=this;this.throttledResize=a(300,(function(){return o.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true})};o.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);l()};o.prototype.componentWillUpdate=function(){var o=this;if(this.searchFlyout&&!this.searchDropdownOpen){this.searchFlyout.classList.remove("open");if(f(this.searchFlyout,"transform")&&!m()){return new Promise((function(e){if(o.searchFlyout===undefined){return e(true)}o.searchFlyout.addEventListener("transitionend",(function(o){if(o.propertyName==="transform"){e(true)}}))}))}}};o.prototype.componentDidUpdate=function(){if(this.searchFlyout&&this.searchDropdownOpen){this.searchFlyout.getBoundingClientRect();this.searchFlyout.classList.add("open")}if(this.searchDropdownOpen&&this.searchBox){this.searchBox.focus({preventScroll:true})}};o.prototype.toggleDropdown=function(o){return __awaiter(this,void 0,void 0,(function(){var e,t;return __generator(this,(function(r){switch(r.label){case 0:this.searchDropdownOpen=o===undefined||typeof o!=="boolean"?!this.searchDropdownOpen:o;this.dropdownToggled.emit({open:this.searchDropdownOpen,element:this.host});if(!!this.searchDropdownOpen)return[3,1];this.coveoSuggestions=[];this.placeSuggestions=[];if(this.searchBox)this.searchBox.value="";this.setFocus();return[3,4];case 1:r.trys.push([1,3,,4]);e=this;return[4,F("")];case 2:e.coveoSuggestions=r.sent();return[3,4];case 3:t=r.sent();return[3,4];case 4:this.setBodyScroll();return[2,this.searchDropdownOpen]}}))}))};o.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var o,e;return __generator(this,(function(t){o=this.host.shadowRoot;if(o===null){return[2]}e=o.querySelector(".search-button");if(e){e.focus()}return[2]}))}))};o.prototype.handleResize=function(){if(this.searchDropdownOpen){this.setBodyScroll()}};o.prototype.setBodyScroll=function(){if(this.searchDropdownOpen&&window.innerWidth<1024){s(this.searchFlyout)}else{c(this.searchFlyout)}};o.prototype.handleSearchInput=function(){return __awaiter(this,void 0,void 0,(function(){var o,e,t,r,i,n;var a;return __generator(this,(function(l){switch(l.label){case 0:if(this.searchBox===undefined||((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)===undefined){return[2]}e=this.searchBox.value.trim();return[4,Promise.all([_(e),F(e),y(e,d.localizedConfig.header.search)])];case 1:t=l.sent(),r=t[0],i=t[1],n=t[2];this.parcelSuggestion=n;if(n){this.placeSuggestions=[];this.coveoSuggestions=[]}else{a=S(i,r,7),this.coveoSuggestions=a[0],this.placeSuggestions=a[1]}this.deselectSuggestion();return[2]}}))}))};o.prototype.handleKeyDown=function(o){var e,t,r,i,n;if(this.searchFlyout===undefined){return}var a=this.searchFlyout.querySelector(".suggestions > li > a.selected");var l=(e=a===null||a===void 0?void 0:a.getAttribute("href"))!==null&&e!==void 0?e:null;var s=this.searchFlyout.querySelectorAll(".suggestions > li > a");switch(o.key.toLowerCase()){case"enter":if(l!==null){window.location.href=l}else{this.startSearch()}break;case"arrowdown":this.deselectSuggestion();if((r=(t=a===null||a===void 0?void 0:a.parentElement)===null||t===void 0?void 0:t.nextElementSibling)===null||r===void 0?void 0:r.firstElementChild){a.parentElement.nextElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[0].classList.add("selected")}this.updateSearchBoxWithSuggestion();break;case"arrowup":this.deselectSuggestion();if((n=(i=a===null||a===void 0?void 0:a.parentElement)===null||i===void 0?void 0:i.previousElementSibling)===null||n===void 0?void 0:n.firstElementChild){a.parentElement.previousElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[s.length-1].classList.add("selected")}this.updateSearchBoxWithSuggestion();break}};o.prototype.handleMouseEnterSuggestion=function(o){this.deselectSuggestion();o.target.classList.add("selected")};o.prototype.handleMouseLeaveSuggestions=function(){this.deselectSuggestion()};o.prototype.deselectSuggestion=function(){if(this.searchFlyout===undefined)return;var o=this.searchFlyout.querySelector(".suggestions .selected");if(o){o.classList.remove("selected")}};o.prototype.updateSearchBoxWithSuggestion=function(){if(this.searchFlyout===undefined)return;var o=this.searchFlyout.querySelector(".suggestions > li > a.selected");var e=o===null||o===void 0?void 0:o.dataset.suggestionText;if(e!==undefined&&this.searchBox){this.searchBox.value=e}};o.prototype.startSearch=function(){return __awaiter(this,void 0,void 0,(function(){var o,e;return __generator(this,(function(t){switch(t.label){case 0:if(!(this.searchBox&&((o=d.localizedConfig)===null||o===void 0?void 0:o.header.search)))return[3,2];return[4,z(this.searchBox.value.trim(),d.localizedConfig.header.search)];case 1:e=t.sent();if(!e)return[2];window.location.href=e;t.label=2;case 2:return[2]}}))}))};o.prototype.render=function(){var o=this;var t,r,n,a,l,s,c,f,m,p,x,b,w,v;if(((t=d.localizedConfig)===null||t===void 0?void 0:t.header)===undefined){return}var k=d.localizedConfig.header,y=k.translations,z=k.search;var E=((r=this.searchBox)===null||r===void 0?void 0:r.value)===""&&((n=z.searchRecommendations)===null||n===void 0?void 0:n.links.length)>0;return e(i,{role:"search"},e(g,null),e("div",{class:"search"},e("button",{id:"post-internet-header-search-button",class:"search-button",type:"button","aria-expanded":"".concat(this.searchDropdownOpen),onClick:function(e){return o.toggleDropdown(e)}},e("span",{class:"visually-hidden"},this.searchDropdownOpen?y.searchToggleExpanded:y.searchToggle),e(u,{name:this.searchDropdownOpen?"pi-close":"pi-search"})),e(h,{condition:this.searchDropdownOpen},e("div",{class:"flyout",ref:function(e){return o.searchFlyout=e}},e("div",{class:"container box"},e("div",{class:"row"},e("div",{class:"col-xs-12 col-md-10 col-lg-8"},e("div",{class:"form-group form-floating"},e("input",{type:"text",role:"searchbox",id:"searchBox",class:"form-control form-control-lg",placeholder:y.flyoutSearchBoxFloatingLabel,autocomplete:"off",ref:function(e){return o.searchBox=e},onInput:function(){return o.handleSearchInput()},onKeyDown:function(e){return o.handleKeyDown(e)}}),e("label",{htmlFor:"searchBox"},y.flyoutSearchBoxFloatingLabel),e("button",{onClick:function(){return o.startSearch()},class:"nav-link start-search-button"},e("span",{class:"visually-hidden"},y.searchSubmit),e(u,{name:"pi-search"}))),E&&e("h2",{id:"post-internet-header-search-recommendations-title",class:"bold"},z.searchRecommendations.title),e("ul",{class:"suggestions no-list",onMouseLeave:function(){return o.handleMouseLeaveSuggestions()},"aria-labelledby":E?"post-internet-header-search-recommendations-title":undefined},E&&z.searchRecommendations.links.map((function(t){return e("li",{key:t.href},e("a",{class:"nav-link search-recommendation",href:new URL(t.href,"https://post.ch").href,"data-suggestion-text":t.label,onMouseEnter:function(e){return o.handleMouseEnterSuggestion(e)}},e("span",{class:"search-recommendation__icon",innerHTML:t.inlineSvg}),e("span",null,t.label)))})),this.parcelSuggestion&&this.parcelSuggestion.ok&&e("li",null,e("a",{class:"nav-link parcel-suggestion",href:this.parcelSuggestion.url,"data-suggestion-text":(a=this.searchBox)===null||a===void 0?void 0:a.value,onMouseEnter:function(e){return o.handleMouseEnterSuggestion(e)}},e(u,{name:"pi-letter-parcel"}),e("span",{class:"bold"},(s=(l=this.parcelSuggestion)===null||l===void 0?void 0:l.sending)===null||s===void 0?void 0:s.id,": "),e("span",null,(f=(c=this.parcelSuggestion)===null||c===void 0?void 0:c.sending)===null||f===void 0?void 0:f.product,","," ",(p=(m=this.parcelSuggestion)===null||m===void 0?void 0:m.sending)===null||p===void 0?void 0:p.recipient.zipcode," ",(b=(x=this.parcelSuggestion)===null||x===void 0?void 0:x.sending)===null||b===void 0?void 0:b.recipient.city,","," ",(v=(w=this.parcelSuggestion)===null||w===void 0?void 0:w.sending)===null||v===void 0?void 0:v.state))),!E&&this.coveoSuggestions&&this.coveoSuggestions.map((function(t){return e("li",{key:t.objectId},e("a",{class:"nav-link",href:t.redirectUrl,"data-suggestion-text":t.expression,onMouseEnter:function(e){return o.handleMouseEnterSuggestion(e)}},e(u,{name:"pi-search"}),e(A,{text:t.highlighted})))})),!E&&this.placeSuggestions&&this.placeSuggestions.map((function(t){var r,i;return e("li",{key:t.id},e("a",{class:"nav-link",href:N(t),"data-suggestion-text":t.name,onMouseEnter:function(e){return o.handleMouseEnterSuggestion(e)}},e(u,{name:"pi-place"}),e(A,{text:B((i=(r=o.searchBox)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.trim(),t.name)})))}))))))))))};Object.defineProperty(o.prototype,"host",{get:function(){return n(this)},enumerable:false,configurable:true});return o}());D.style=M}}}));
|
|
2
|
-
//# sourceMappingURL=p-981fab9d.system.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["parcelController","getTrackAndTraceApiUrl","id","lang","state","currentLanguage","concat","encodeURIComponent","getTrackAndTraceRedirectUrl","query","_q","packageTrackingRedirectUrl","replace","isParcel","searchConfig","__awaiter","_this","getParcelInfo","parcelInfo","sent","ok","redirectPattern","trackingNrPattern","RegExp","test","url_1","abort","AbortController","Promise","resolve","reject","fetch","signal","then","response","json","trackAndTraceResult","Object","assign","catch","error","name","console","message","timestamp","Date","toDateString","getParcelSuggestion","url","getSearchRedirectUrl","isTrackTraceId","getSearchPageUrl","_a","localizedConfig","header","search","undefined","searchPageUrl","searchParam","equalizeArrays","arrayA","arrayB","maxLength","coveoSliced","slice","Math","max","length","coveo","environment","prod","organisation","token","int01","int02","dev01","dev02","devs1","suggestionsController","getCoveoSuggestions","_b","config","searchHubName","searchPipelineName","method","headers","Authorization","coveoJSON","completions","map","completion","redirectUrl","expression","gisAPIUrl","placesUrl","hardNormalize","str","toLowerCase","normalize","placesController","queryPlaces","searchParameters","entries","limit","reduce","s","i","k","v","geocodeJSON","Error","info","locations","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","exports","class_1","prototype","connectedCallback","this","throttledResize","throttle","handleResize","window","addEventListener","passive","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","componentWillUpdate","searchFlyout","searchDropdownOpen","classList","remove","elementHasTransition","userPrefersReducedMotion","event","propertyName","componentDidUpdate","getBoundingClientRect","add","searchBox","focus","preventScroll","toggleDropdown","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","value","setFocus","_r","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","all","_s","trackAndTraceInfo","parcelSuggestion","deselectSuggestion","handleKeyDown","selectedSuggestion","selectedHref","getAttribute","suggestions","querySelectorAll","key","href","startSearch","_c","parentElement","nextElementSibling","firstElementChild","updateSearchBoxWithSuggestion","_e","_d","previousElementSibling","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","suggestedText","dataset","suggestionText","render","translations","showPortalRecommendations","searchRecommendations","links","Host","role","SvgSprite","class","type","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","searchSubmit","title","onMouseLeave","recommendation","URL","label","onMouseEnter","inlineSvg","_f","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","suggestion","objectId","highlighted"],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\nlet parcelController: AbortController;\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n const url = getTrackAndTraceApiUrl(query);\n\n if (parcelController) parcelController.abort();\n parcelController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: parcelController.signal })\n .then(response => response.json())\n .then((trackAndTraceResult: TrackAndTraceInfo) => {\n resolve({ ...trackAndTraceResult, ok: trackAndTraceResult.ok });\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(`Could not check track and trace API due to error: ${error.message}`);\n reject(error);\n }\n });\n });\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n","import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 7): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\nlet suggestionsController: AbortController;\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (state.localizedConfig?.header?.search === undefined) return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n\n if (suggestionsController) suggestionsController.abort();\n suggestionsController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n signal: suggestionsController.signal,\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n .then(response => response.json())\n .then((coveoJSON: CoveoResponse) => {\n resolve(\n coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n })),\n );\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching coveo suggestions failed, ${error}\\nDid you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?`,\n );\n reject(error);\n }\n });\n });\n};\n","// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n","/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\nlet placesController: AbortController;\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const url = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n if (placesController) placesController.abort();\n placesController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: placesController.signal })\n .then(response => response.json())\n .then((geocodeJSON: GeocodeResponse) => {\n if (!geocodeJSON.ok) throw new Error(geocodeJSON.info);\n resolve(geocodeJSON.locations);\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching places failed, ${error}\\nDid you add \"places.post.ch\" to your connect-src content security policy?`,\n );\n reject(error);\n }\n });\n });\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id) {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","@use '@swisspost/design-system-styles/core' as post;\n@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/forms';\n@use '@swisspost/design-system-styles/components/floating-label';\n@use '@swisspost/design-system-styles/components/grid';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-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.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control,\n .form-control + label {\n padding-right: post.$input-padding-x * 3;\n }\n}\n\n.start-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Host, h, State, Event, EventEmitter, Method, Element } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { disableBodyScroll, enableBodyScroll, clearAllBodyScrollLocks } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n} from '../../models/header.model';\nimport { getSearchRedirectUrl, equalizeArrays } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { userPrefersReducedMotion, elementHasTransition } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n role=\"searchbox\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.startSearch()}\n class=\"nav-link start-search-button\"\n >\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {this.parcelSuggestion && this.parcelSuggestion.ok && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}: </span>\n <span>\n {this.parcelSuggestion?.sending?.product},{' '}\n {this.parcelSuggestion?.sending?.recipient.zipcode}{' '}\n {this.parcelSuggestion?.sending?.recipient.city},{' '}\n {this.parcelSuggestion?.sending?.state}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as n,g as o}from"./p-d8b954a1.js";import{t as s,d as a}from"./p-a74b380d.js";import{g as r,p as l,t as d}from"./p-99eafc12.js";import{u as c}from"./p-8bf099a8.js";import{s as h,d as u}from"./p-b7feee8d.js";import{S as p}from"./p-9a8f9281.js";import{S as f}from"./p-e75bba89.js";import{I as g}from"./p-a2f9d462.js";const m=(t,e)=>{if(e===false){return t}let i;t=b(t);if(e==="auto"||e==="exact"){if(w(t)){return v(t)}i=new URL(window.location.href)}else{try{i=new URL(e,document.location.origin)}catch(i){console.warn(`Active Route: ${e} is not a valid URL. Navigation highlighting has been disabled.`);return t}}const n=y(t,i,e);if(n.length===0){return t}const o=n[0];o.main.isActiveOverride=true;if(o.sub)o.sub.isActiveOverride=true;return t};const w=t=>t.filter((t=>t.isActive)).length>0;const v=t=>t.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:t.isActive,flyout:t.flyout.map((t=>Object.assign(Object.assign({},t),{linkList:t.linkList.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:t.isActive})))})))})));const b=t=>t.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:false,flyout:t.flyout.map((t=>Object.assign(Object.assign({},t),{linkList:t.linkList.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:false})))})))})));const y=(t,e,i)=>{let n=false;const o=[];t.filter((t=>!n&&t)).forEach((t=>{try{const s=k(e,new URL(t.url),i);n=x(o,s,{main:t,score:s},n)}catch(t){}t.flyout.forEach((s=>{var a;(a=s.linkList)===null||a===void 0?void 0:a.forEach((s=>{if(s.isActive&&(i==="auto"||i==="exact")){n=true;return}try{const a=new URL(s.url);const r=k(e,a,i);n=x(o,r,{main:t,sub:s,score:r},n)}catch(t){}}))}))}));return o.sort(((t,e)=>e.score-t.score))};function x(t,e,i,n){let o=n;if(e>0){if(e===Infinity)o=true;t.push(i)}return o}const k=(t,e,i)=>{if(!t||!e||t.origin!==e.origin){return 0}const n=t.pathname.toLocaleLowerCase();const o=e.pathname.toLocaleLowerCase();if(n===o){return Infinity}if(t.pathname.length<e.pathname.length){return 0}if(i==="auto"){const i=[t.origin.toLocaleLowerCase(),...n.split("/").filter((t=>!!t))];const s=[e.origin.toLocaleLowerCase(),...o.split("/").filter((t=>!!t))];const a=j(i,s);return Math.min(i.length,s.length)===a?a:0}return 0};const j=(t,e)=>{if(!(t===null||t===void 0?void 0:t.length)||!(e===null||e===void 0?void 0:e.length)){return 0}let i=0;for(;i<Math.min(t.length,e.length);i++){if(t[i]!==e[i]){return 0}}return i};let O=null;let C=null;const F=()=>{const t=document.querySelector("#PPM_HEADER_DATA");if(t===null||t===void 0?void 0:t.textContent){return JSON.parse(t.textContent)}return null};const N=async({projectId:t,environment:e,language:i,cookieKey:n,localStorageKey:o,activeRouteProp:s,localizedCustomConfig:a,osFlyoutOverrides:d})=>{var c,h;const u=F();let p;let f=null;let g;if(u){p=u;g=document.documentElement.lang}else{if(!O){O=L(t,e)}f=await O;g=r(Object.keys(f),i,o,n);if(g===undefined){throw new Error("Internet Header: unable to determine current language")}p=Object.assign({},f[g])}if(a){const t=((c=a===null||a===void 0?void 0:a.header)===null||c===void 0?void 0:c.navMain)?Object.assign(Object.assign({},p.header),{navMain:[...p.header.navMain,...a.header.navMain]}):p.header;p=Object.assign(Object.assign({},p),{header:t})}if(d)p.header.navMain=z(p,d);if(s)p.header.navMain=m(p.header.navMain,s);I((h=p===null||p===void 0?void 0:p.header)===null||h===void 0?void 0:h.navMain);l(g,n,o);return p};const z=(t,e)=>{if(!e)return t.header.navMain;return t.header.navMain.map((t=>{var i,n;if(t.id!=="flyout_os")return t;if(C===null){C=JSON.parse(JSON.stringify(t))}const o=(i=e.text)!==null&&i!==void 0?i:C.text;const s=(n=e.title)!==null&&n!==void 0?n:C.title;if(!C.flyout||C.flyout.length===0||!e.flyout||e.flyout.length===0)return Object.assign(Object.assign({},t),{title:s,text:o});const a=[...C.flyout.map(((t,i)=>{var n;const o=e.flyout[i];const s=(n=o.title)!==null&&n!==void 0?n:t.title;const a=o.linkList?e.flyout[i].linkList:[];return{title:s,linkList:[...t.linkList,...a]}})),...e.flyout.slice(C.flyout.length)];return Object.assign(Object.assign({},t),{text:o,title:s,flyout:a})}))};const L=async(t,e)=>{if(!R(t)){throw new Error(`Internet Header: invalid project id "${t}"`)}if(t==="test"){e="int01"}let i=S(t,e);try{const t=await fetch(i);return await t.json()}catch(t){throw new Error(`Internet Header: fetching config failed. ${t.message}`)}};const S=(t,e)=>{if(t==="test")return"assets/config/test-configuration.json";const i=e.toLowerCase();const n=i==="prod";const o=`https://${n?"www":"int"}.post.ch`;try{return new URL(`${o}/api/headerjs/Json?serviceid=${encodeURIComponent(t)}${!n?"&environment="+i:""}`).toString()}catch(t){throw new Error(`Internet Header: Config URL is invalid.`)}};const R=t=>t!==""&&t.length>0&&/^[a-zA-Z][\w-]*[a-zA-Z0-9]$/.test(t);const P=(t,e)=>{var i;let n;try{n=typeof t==="string"?JSON.parse(t):t}catch(t){throw new Error(`Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `)}let o=n[e];if((i=o===null||o===void 0?void 0:o.header)===null||i===void 0?void 0:i.navMain)I(o.header.navMain);return o};const I=t=>{t.forEach((t=>{t.id=t.id==="flyout_os"?t.id:c("main-nav-")}))};const A="@swisspost/internet-header";const K="1.7.3";const E="The header for client facing applications.";const $="Swiss Post <oss@post.ch>";const T="Apache-2.0";const D={type:"git",url:"https://github.com/swisspost/design-system.git"};const J="https://next.design-system.post.ch";const M={url:"https://github.com/swisspost/design-system/issues"};const H="loader/index.cjs.js";const U="loader/index.js";const W="loader/index.es2017.js";const _="loader/index.es2017.js";const q="loader/index.d.ts";const B="dist/collection/collection-manifest.json";const X="loader/cdn.js";const Z={access:"public"};const G=["dist/","loader/"];const V={start:"stencil build --docs --watch",dev:"stencil build --watch --serve --docs",build:"stencil build --docs",test:"npm run unit",unit:"jest","unit:watch":"jest --watch",e2e:"cypress run","e2e:watch":"cypress open",clean:"rimraf www dist loader storybook-static",lint:"eslint src/**/*{.ts,.tsx}","lint:fix":"eslint src/**/*{.ts,.tsx} --fix",generate:"stencil generate"};const Q={"@stencil/core":"3.3.1","@stencil/store":"2.0.8","@swisspost/design-system-styles":"workspace:6.2.2","body-scroll-lock":"4.0.0-beta.0","iframe-resizer":"4.3.6",jquery:"3.7.0",tabbable:"6.1.2","throttle-debounce":"5.0.0","url-polyfill":"1.1.12"};const Y={"@babel/core":"7.22.5","@percy/cli":"1.25.0","@percy/cypress":"3.1.2","@stencil/eslint-plugin":"0.4.0","@stencil/sass":"3.0.4","@types/iframe-resizer":"3.5.9","@types/jest":"27.5.2","@types/jquery":"3.5.16","@types/node":"18.16.17","@types/throttle-debounce":"5.0.0","babel-loader":"9.1.2",bootstrap:"5.3.0",cypress:"12.14.0","cypress-each":"1.13.3","cypress-storybook":"0.5.1","eslint-plugin-react":"7.32.2",globby:"13.1.4",jest:"27.5.1",rimraf:"5.0.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-scss":"4.0.0","rollup-plugin-visualizer":"5.9.2",sass:"1.63.3","start-server-and-test":"2.0.0","ts-jest":"27.1.5",typescript:"4.9.5"};const tt={name:A,version:K,description:E,author:$,license:T,repository:D,homepage:J,bugs:M,main:H,module:U,es2015:W,es2017:_,"jsnext:main":"loader/index.es2017.js",types:q,collection:B,"collection:main":"dist/collection/index.js",unpkg:X,publishConfig:Z,files:G,scripts:V,dependencies:Q,devDependencies:Y};const et='@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"), url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:transparent;border:none;border-radius:0;padding:0}.nav-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0, 0, 0, 0.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:transparent;-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:0.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.nav-link:focus{color:black}.nav-link:focus-visible{z-index:1;position:relative}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.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:3px;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:3px;position:relative;z-index:1}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:white}}.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}}:host{display:block;position:relative;font-size:1rem;font-weight:300;z-index:var(--header-z-index, 10);--header-height:3.5rem;--meta-header-height:0px;--language-dropdown-margin-top:0px}@media (min-width: 1024px){:host{--meta-header-height:3rem;--header-height:4rem}}@media (min-width: 1280px){:host{--header-height:4.5rem}}:host([meta=false]){--meta-header-height:0px;--language-dropdown-margin-top:1px}@supports ((position: -webkit-sticky) or (position: sticky)){:host(:not(.stickyness-none)){position:-webkit-sticky;position:sticky}:host(.stickyness-full){top:0}:host(.stickyness-main){top:calc(var(--meta-header-height, 0px) * -1)}:host(.stickyness-minimal){top:calc((var(--header-height, 0px) + var(--meta-header-height, 0px)) * -1);-webkit-transition:top 200ms ease-in;transition:top 200ms ease-in}:host(.stickyness-minimal.scrolling-up),:host(.stickyness-minimal.dropdown-open){top:calc(var(--meta-header-height, 0px) * -1);-webkit-transition:top 200ms ease-out;transition:top 200ms ease-out}}.post-internet-header{border-bottom:1px solid hsl(0, 0%, 90%);background-color:white}.main-navigation-container{display:-ms-flexbox;display:flex}.main-navigation-container>.main-navigation-controls{-ms-flex:0 0 auto;flex:0 0 auto}.main-navigation{display:-ms-flexbox;display:flex}.sub-navigation-container{position:absolute;top:100%;left:0;width:100%;display:-ms-flexbox;display:flex;background:white;visibility:hidden}.main-navigation-item:hover .sub-navigation-container{visibility:visible}.main-navigation-controls{display:-ms-flexbox;display:flex;margin-left:auto}@media (max-width: 1023.98px){.main-navigation-controls{font-weight:400}}@media (min-width: 1024px){.main-navigation-controls{font-size:1.0625rem}}.main-navigation-controls>*{border-left:1px solid hsl(0, 0%, 90%)}.menu-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 calc(1rem - 1px);font-weight:300;cursor:pointer;border-left:1px solid hsl(0, 0%, 90%);-ms-flex-order:1;order:1;}@media (min-width: 1024px){.menu-button{display:none}}@media (min-width: 600px) and (max-width: 1023.98px){.menu-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;margin-right:0.5rem}}.menu-button svg{width:1.5rem;height:1.5rem}.full-width .wide-container{max-width:none}';const it=class{async getCurrentLanguage(){var t;return(t=h.currentLanguage)!==null&&t!==void 0?t:"de"}constructor(i){t(this,i);this.headerLoaded=e(this,"headerLoaded",7);this.lastScrollTop=window.scrollY||document.documentElement.scrollTop;this.lastWindowWidth=window.innerWidth;this.handleClickOutsideBound=this.handleClickOutside.bind(this);this.project=undefined;this.stickyness="minimal";this.language=undefined;this.meta=true;this.login=true;this.search=true;this.skiplinks=true;this.configProxy=undefined;this.environment="prod";this.languageSwitchOverrides=undefined;this.customConfig=undefined;this.languageCookieKey=undefined;this.languageLocalStorageKey="swisspost-internet-header-language";this.activeRoute="auto";this.osFlyoutOverrides=undefined;this.fullWidth=false;this.activeFlyout=null;this.activeDropdownElement=null;if(this.project===undefined||this.project===""||!R(this.project)){throw new Error(`Internet Header project key is "${this.project}". Please provide a valid project key.`)}}connectedCallback(){this.throttledScroll=s(300,(()=>this.handleScrollEvent()));this.debouncedResize=a(200,(()=>this.handleResize()));window.addEventListener("scroll",this.throttledScroll,{passive:true});window.addEventListener("resize",this.debouncedResize,{passive:true})}disconnectedCallback(){window.removeEventListener("scroll",this.throttledScroll);window.removeEventListener("resize",this.debouncedResize);u()}async componentWillLoad(){try{h.projectId=this.project;h.environment=this.environment;if(this.language!==undefined)h.currentLanguage=this.language;h.languageSwitchOverrides=typeof this.languageSwitchOverrides==="string"?JSON.parse(this.languageSwitchOverrides):this.languageSwitchOverrides;h.osFlyoutOverrides=typeof this.osFlyoutOverrides==="string"?JSON.parse(this.osFlyoutOverrides):this.osFlyoutOverrides;if(this.customConfig!==undefined&&h.currentLanguage!==null){h.localizedCustomConfig=P(this.customConfig,h.currentLanguage)}h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}catch(t){console.error(t)}}componentDidLoad(){window.requestAnimationFrame((()=>{this.handleResize();this.headerLoaded.emit();this.host.classList.add("header-loaded")}))}async handleLanguageChange(t){h.currentLanguage=t;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:t,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides});if(this.customConfig)h.localizedCustomConfig=P(this.customConfig,t)}handleAvailableLanguagesChage(t){h.languageSwitchOverrides=typeof t==="string"?JSON.parse(t):t}async handleOsFlyoutOverrides(t){h.osFlyoutOverrides=typeof t==="string"?JSON.parse(t):t;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}async handleActiveRouteChange(t){h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:t,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}async handleCustomConfigChange(t){if(this.language===undefined)return;const e=P(t,this.language);h.localizedCustomConfig=e;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:e,osFlyoutOverrides:h.osFlyoutOverrides})}handleSearchChange(t){h.search=t}handleLoginChange(t){h.login=t}handleMetaChange(t){h.meta=t}handleLanguageChangeEvent(t){this.handleLanguageChange(t.detail)}handleClickOutside(t){if(this.activeDropdownElement&&!t.composedPath().includes(this.activeDropdownElement)){this.activeDropdownElement.toggleDropdown(false)}}handleKeyUp(t){if(t.key==="Escape"){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.toggleDropdown(false)}}}handleScrollEvent(){const t=window.scrollY||document.documentElement.scrollTop;if(this.stickyness==="minimal"){this.host.classList.toggle("scrolling-up",t<=this.lastScrollTop)}this.lastScrollTop=t<=0?0:t}handleResize(){var t;if(this.isMainNavOpen()&&this.lastWindowWidth<1024&&window.innerWidth>=1024){(t=this.activeDropdownElement)===null||t===void 0?void 0:t.toggleDropdown(false)}this.lastWindowWidth=window.innerWidth}handleDropdownToggled(t){if(!t.detail.open&&this.activeDropdownElement!==t.detail.element){return}if(t.detail.open===true){if(this.activeDropdownElement){this.activeDropdownElement.toggleDropdown(false)}this.activeDropdownElement=t.detail.element;if(window.innerWidth>=1024){window.setTimeout((()=>{window.addEventListener("click",this.handleClickOutsideBound)}),10)}if(this.activeFlyout!==null&&this.mainNav){this.mainNav.setActiveFlyout(null)}}else{this.activeDropdownElement=null;window.removeEventListener("click",this.handleClickOutsideBound)}}handleFlyoutToggled(t){this.activeFlyout=t.detail;if(this.activeDropdownElement&&t.detail&&!this.isMainNavOpen()){this.activeDropdownElement.toggleDropdown(false)}}toggleMobileDropdown(){var t;(t=this.mainNav)===null||t===void 0?void 0:t.toggleDropdown()}isMainNavOpen(){return this.activeDropdownElement&&this.activeDropdownElement.tagName==="POST-MAIN-NAVIGATION"}render(){var t,e,o;if(!((t=h.localizedConfig)===null||t===void 0?void 0:t.header)){console.error(new Error("Internet Header: Config cannot be loaded"));return}const s=h.localizedConfig;const a=this.meta&&s.header.navMeta!==undefined&&((e=s.header.navMeta)===null||e===void 0?void 0:e.filter((t=>!t.isHomeLink)).length)>0;const r=((o=this.login)!==null&&o!==void 0?o:!s.header.isLoginWidgetHidden)&&s.header.loginWidgetOptions;const l=s.header.navLang.length>1;return i(n,{class:`stickyness-${this.stickyness} ${this.activeDropdownElement||this.activeFlyout?"dropdown-open":""}`,"data-version":tt.version,onKeyup:t=>this.handleKeyUp(t)},i("header",{class:`post-internet-header${this.fullWidth?" full-width":""}`},i(p,null),i("h1",{class:"visually-hidden"},d("Navigate on post.ch")),i(g,{condition:this.skiplinks===true},i("post-skiplinks",null)),i(g,{condition:a===true},i("post-meta-navigation",{orientation:"horizontal",class:"hidden-lg","full-width":this.fullWidth},i(g,{condition:l===true},i("post-language-switch",{id:"post-language-switch-desktop",mode:"dropdown",onDropdownToggled:t=>this.handleDropdownToggled(t)})))),i("div",{class:"main-navigation-container wide-container"},i("post-logo",null),i("button",{class:"menu-button nav-link",onClick:()=>this.toggleMobileDropdown(),"aria-haspopup":"menu","aria-controls":"post-internet-header-main-navigation","aria-expanded":this.activeDropdownElement?"true":"false"},i("span",{class:"menu-button-text visually-hidden"},s.header.mobileMenu.text),i(f,{name:this.isMainNavOpen()?"pi-close":"pi-menu"})),i("post-main-navigation",{onDropdownToggled:t=>this.handleDropdownToggled(t),onFlyoutToggled:t=>this.handleFlyoutToggled(t),ref:t=>this.mainNav=t},i(g,{condition:a===true},i("post-meta-navigation",{orientation:"vertical"},i(g,{condition:l===true},i("post-language-switch",{id:"post-language-switch-mobile",mode:"list"}))))),i("div",{class:"main-navigation-controls"},i(g,{condition:this.search!==false},i("post-search",{onDropdownToggled:t=>this.handleDropdownToggled(t)})),i(g,{condition:!!r},i("post-klp-login-widget",null,i("slot",{name:"login-widget"}))),i(g,{condition:a===false&&l===true},i("post-language-switch",{id:"post-language-switch-no-meta",onDropdownToggled:t=>this.handleDropdownToggled(t),mode:"dropdown"})),i("slot",{name:"main"})))))}get host(){return o(this)}static get watchers(){return{language:["handleLanguageChange"],languageSwitchOverrides:["handleAvailableLanguagesChage"],osFlyoutOverrides:["handleOsFlyoutOverrides"],activeRoute:["handleActiveRouteChange"],customConfig:["handleCustomConfigChange"],search:["handleSearchChange"],login:["handleLoginChange"],meta:["handleMetaChange"]}}};it.style=et;export{it as swisspost_internet_header};
|
|
2
|
-
//# sourceMappingURL=p-98767123.entry.js.map
|