@swisspost/internet-header 1.13.4 → 1.13.5
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-f082854e.js → index-cab594bc.js} +13 -2
- package/dist/cjs/index-cab594bc.js.map +1 -0
- package/dist/cjs/index.cjs.js +15 -15
- package/dist/cjs/{language.service-126b64f9.js → language.service-8d541626.js} +2 -2
- package/dist/cjs/{language.service-126b64f9.js.map → language.service-8d541626.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{post-internet-breadcrumbs-3734600f.js → post-internet-breadcrumbs-ca62acb9.js} +6 -6
- package/dist/cjs/{post-internet-breadcrumbs-3734600f.js.map → post-internet-breadcrumbs-ca62acb9.js.map} +1 -1
- package/dist/cjs/{post-internet-footer-b517b51d.js → post-internet-footer-a9ce4a24.js} +5 -5
- package/dist/cjs/{post-internet-footer-b517b51d.js.map → post-internet-footer-a9ce4a24.js.map} +1 -1
- package/dist/cjs/{post-internet-header-3c7fcb36.js → post-internet-header-83724799.js} +48 -28
- package/dist/cjs/post-internet-header-83724799.js.map +1 -0
- package/dist/cjs/{post-klp-login-widget-cf74cffe.js → post-klp-login-widget-f4a6698f.js} +6 -6
- package/dist/cjs/{post-klp-login-widget-cf74cffe.js.map → post-klp-login-widget-f4a6698f.js.map} +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +5 -5
- package/dist/cjs/{post-language-switch-e8b5524b.js → post-language-switch-51cbcb84.js} +6 -6
- package/dist/cjs/{post-language-switch-e8b5524b.js.map → post-language-switch-51cbcb84.js.map} +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +6 -6
- package/dist/cjs/{post-logo-0a680f8a.js → post-logo-4720a646.js} +3 -3
- package/dist/cjs/{post-logo-0a680f8a.js.map → post-logo-4720a646.js.map} +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +3 -3
- package/dist/cjs/{post-main-navigation-47a7bfa8.js → post-main-navigation-c9be2641.js} +6 -6
- package/dist/cjs/{post-main-navigation-47a7bfa8.js.map → post-main-navigation-c9be2641.js.map} +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +6 -6
- package/dist/cjs/{post-meta-navigation-e5da62e3.js → post-meta-navigation-829b5afe.js} +3 -3
- package/dist/cjs/{post-meta-navigation-e5da62e3.js.map → post-meta-navigation-829b5afe.js.map} +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +3 -3
- package/dist/cjs/post-search-b96b8da5.js +598 -0
- package/dist/cjs/{post-search-0b908d72.js.map → post-search-b96b8da5.js.map} +1 -1
- package/dist/cjs/post-search.cjs.entry.js +6 -6
- package/dist/cjs/{post-skiplinks-4c494b09.js → post-skiplinks-72a46892.js} +5 -5
- package/dist/cjs/{post-skiplinks-4c494b09.js.map → post-skiplinks-72a46892.js.map} +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +5 -5
- package/dist/cjs/{store-409eabd1.js → store-9f3cc50a.js} +2 -2
- package/dist/cjs/{store-409eabd1.js.map → store-9f3cc50a.js.map} +1 -1
- package/dist/cjs/{svg-icon.component-6731b1e1.js → svg-icon.component-980da2bc.js} +2 -2
- package/dist/cjs/{svg-icon.component-6731b1e1.js.map → svg-icon.component-980da2bc.js.map} +1 -1
- package/dist/cjs/{svg-sprite.component-b7d7ef20.js → svg-sprite.component-6d4865e1.js} +2 -2
- package/dist/cjs/{svg-sprite.component-b7d7ef20.js.map → svg-sprite.component-6d4865e1.js.map} +1 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +6 -6
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +5 -5
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +6 -6
- package/dist/cjs/swisspost-internet-header.cjs.js +2 -2
- package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +2 -13
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +1 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-scale.js +32 -0
- package/dist/collection/components/post-internet-header/logo-animation/logo-scale.js.map +1 -0
- package/dist/collection/components/post-internet-header/post-internet-header.js +3 -1
- 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 +1 -1
- package/dist/collection/components/post-search/post-search.css +5 -11
- package/dist/components/post-klp-login-widget2.js +1 -1
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-search2.js +1 -1
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/store.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +42 -22
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/docs.json +2 -2
- package/dist/esm/{index-f796221a.js → index-a2152ff5.js} +13 -2
- package/dist/esm/index-a2152ff5.js.map +1 -0
- package/dist/esm/index.js +15 -15
- package/dist/esm/{language.service-278970d4.js → language.service-e10417e6.js} +2 -2
- package/dist/esm/{language.service-278970d4.js.map → language.service-e10417e6.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/{post-internet-breadcrumbs-14cd1ab2.js → post-internet-breadcrumbs-e0490c32.js} +6 -6
- package/dist/esm/{post-internet-breadcrumbs-14cd1ab2.js.map → post-internet-breadcrumbs-e0490c32.js.map} +1 -1
- package/dist/esm/{post-internet-footer-5cec06ad.js → post-internet-footer-d22179a6.js} +5 -5
- package/dist/esm/{post-internet-footer-5cec06ad.js.map → post-internet-footer-d22179a6.js.map} +1 -1
- package/dist/esm/{post-internet-header-a1b1e981.js → post-internet-header-a57b1101.js} +48 -28
- package/dist/esm/post-internet-header-a57b1101.js.map +1 -0
- package/dist/esm/{post-klp-login-widget-2ba2331a.js → post-klp-login-widget-d10825d0.js} +6 -6
- package/dist/esm/{post-klp-login-widget-2ba2331a.js.map → post-klp-login-widget-d10825d0.js.map} +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +5 -5
- package/dist/esm/{post-language-switch-a7461ffa.js → post-language-switch-8eb4e9ed.js} +6 -6
- package/dist/esm/{post-language-switch-a7461ffa.js.map → post-language-switch-8eb4e9ed.js.map} +1 -1
- package/dist/esm/post-language-switch.entry.js +6 -6
- package/dist/esm/{post-logo-ad2a0fbe.js → post-logo-319224f0.js} +3 -3
- package/dist/esm/{post-logo-ad2a0fbe.js.map → post-logo-319224f0.js.map} +1 -1
- package/dist/esm/post-logo.entry.js +3 -3
- package/dist/esm/{post-main-navigation-6fc9a1eb.js → post-main-navigation-cc9da7b1.js} +6 -6
- package/dist/esm/{post-main-navigation-6fc9a1eb.js.map → post-main-navigation-cc9da7b1.js.map} +1 -1
- package/dist/esm/post-main-navigation.entry.js +6 -6
- package/dist/esm/{post-meta-navigation-f231a663.js → post-meta-navigation-6fd33a79.js} +3 -3
- package/dist/esm/{post-meta-navigation-f231a663.js.map → post-meta-navigation-6fd33a79.js.map} +1 -1
- package/dist/esm/post-meta-navigation.entry.js +3 -3
- package/dist/esm/post-search-dbf07842.js +596 -0
- package/dist/esm/{post-search-f41e3841.js.map → post-search-dbf07842.js.map} +1 -1
- package/dist/esm/post-search.entry.js +6 -6
- package/dist/esm/{post-skiplinks-250a922c.js → post-skiplinks-caa68a25.js} +5 -5
- package/dist/esm/{post-skiplinks-250a922c.js.map → post-skiplinks-caa68a25.js.map} +1 -1
- package/dist/esm/post-skiplinks.entry.js +5 -5
- package/dist/esm/{store-2e4643fc.js → store-d0d3a586.js} +2 -2
- package/dist/esm/{store-2e4643fc.js.map → store-d0d3a586.js.map} +1 -1
- package/dist/esm/{svg-icon.component-811cf43a.js → svg-icon.component-bf11f33c.js} +2 -2
- package/dist/esm/{svg-icon.component-811cf43a.js.map → svg-icon.component-bf11f33c.js.map} +1 -1
- package/dist/esm/{svg-sprite.component-65ce87dc.js → svg-sprite.component-bc8c39ee.js} +2 -2
- package/dist/esm/{svg-sprite.component-65ce87dc.js.map → svg-sprite.component-bc8c39ee.js.map} +1 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +6 -6
- package/dist/esm/swisspost-internet-footer.entry.js +5 -5
- package/dist/esm/swisspost-internet-header.entry.js +6 -6
- package/dist/esm/swisspost-internet-header.js +3 -3
- package/dist/esm/swisspost-internet-header.js.map +1 -1
- package/dist/esm-es5/{index-f796221a.js → index-a2152ff5.js} +1 -1
- package/dist/esm-es5/{index-f796221a.js.map → index-a2152ff5.js.map} +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/{language.service-278970d4.js → language.service-e10417e6.js} +2 -2
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{post-internet-breadcrumbs-14cd1ab2.js → post-internet-breadcrumbs-e0490c32.js} +2 -2
- package/dist/esm-es5/{post-internet-footer-5cec06ad.js → post-internet-footer-d22179a6.js} +2 -2
- package/dist/esm-es5/post-internet-header-a57b1101.js +2 -0
- package/dist/esm-es5/post-internet-header-a57b1101.js.map +1 -0
- package/dist/esm-es5/{post-klp-login-widget-2ba2331a.js → post-klp-login-widget-d10825d0.js} +2 -2
- package/dist/esm-es5/{post-klp-login-widget-2ba2331a.js.map → post-klp-login-widget-d10825d0.js.map} +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/{post-language-switch-a7461ffa.js → post-language-switch-8eb4e9ed.js} +2 -2
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/{post-logo-ad2a0fbe.js → post-logo-319224f0.js} +2 -2
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/{post-main-navigation-6fc9a1eb.js → post-main-navigation-cc9da7b1.js} +2 -2
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/{post-meta-navigation-f231a663.js → post-meta-navigation-6fd33a79.js} +2 -2
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-search-dbf07842.js +2 -0
- package/dist/esm-es5/{post-search-f41e3841.js.map → post-search-dbf07842.js.map} +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/{post-skiplinks-250a922c.js → post-skiplinks-caa68a25.js} +2 -2
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/{store-2e4643fc.js → store-d0d3a586.js} +2 -2
- package/dist/esm-es5/{store-2e4643fc.js.map → store-d0d3a586.js.map} +1 -1
- package/dist/esm-es5/{svg-icon.component-811cf43a.js → svg-icon.component-bf11f33c.js} +2 -2
- package/dist/esm-es5/{svg-sprite.component-65ce87dc.js → svg-sprite.component-bc8c39ee.js} +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +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/index.esm.js +1 -1
- package/dist/swisspost-internet-header/{p-d7a5b1c5.system.js → p-06b24818.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-d7a5b1c5.system.js.map → p-06b24818.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-19771ee8.system.js → p-101fc026.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-9d84e280.js → p-15b7f849.js} +2 -2
- package/dist/swisspost-internet-header/{p-271ed32d.js → p-1e0c73ba.js} +2 -2
- package/dist/swisspost-internet-header/{p-237918ac.system.js → p-1e8226df.system.js} +2 -2
- package/dist/swisspost-internet-header/p-240ae9b0.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-31171eac.js +2 -0
- package/dist/swisspost-internet-header/{p-5c30b6e5.system.js → p-3503bc8d.system.js} +2 -2
- package/dist/swisspost-internet-header/p-395c3737.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-c34a0ce2.js → p-4703a3df.js} +2 -2
- package/dist/swisspost-internet-header/p-48af8686.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-f956d443.js → p-4ebec8fe.js} +2 -2
- package/dist/swisspost-internet-header/{p-f956d443.js.map → p-4ebec8fe.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-1d369fcc.system.js → p-520ce5c4.system.js} +2 -2
- package/dist/swisspost-internet-header/p-61eca4db.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-20c7d029.system.js → p-62693134.system.js} +2 -2
- package/dist/swisspost-internet-header/p-6cb25884.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-6f44c74a.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7253bc45.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-ee278b43.js → p-7c1b1c28.js} +2 -2
- package/dist/swisspost-internet-header/p-7ccd3ade.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-83151762.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-197bbbde.js → p-833cd107.js} +1 -1
- package/dist/swisspost-internet-header/{p-197bbbde.js.map → p-833cd107.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-636b0d26.system.js → p-863f792c.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-501b0f06.js → p-8a1e8d50.js} +2 -2
- package/dist/swisspost-internet-header/{p-237ac2bd.system.js → p-8a6c2961.system.js} +2 -2
- package/dist/swisspost-internet-header/p-8f014e72.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-94c5c08e.js → p-90808312.js} +2 -2
- package/dist/swisspost-internet-header/{p-b978f6df.system.js → p-9246a004.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-88424db0.system.js → p-941fb537.system.js} +2 -2
- package/dist/swisspost-internet-header/p-9b9a57fe.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-cb0d43c6.system.js → p-a7405b55.system.js} +2 -2
- package/dist/swisspost-internet-header/p-aa41c50e.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-1fcd0f72.system.js → p-af355dbc.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-1fcd0f72.system.js.map → p-af355dbc.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-b0447498.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b261a78e.system.js +2 -0
- package/dist/swisspost-internet-header/p-b261a78e.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-b3910061.system.js +2 -0
- package/dist/swisspost-internet-header/{p-e6b6ae72.system.js.map → p-b3910061.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-d83602cb.system.js → p-b5c47ef8.system.js} +1 -1
- package/dist/swisspost-internet-header/{p-d83602cb.system.js.map → p-b5c47ef8.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-c1fdbc33.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-914ada58.js → p-c3a2dbaf.js} +2 -2
- package/dist/swisspost-internet-header/p-c6e9209d.js +2 -0
- package/dist/swisspost-internet-header/p-c6e9209d.js.map +1 -0
- package/dist/swisspost-internet-header/{p-b8380f66.js → p-c9391554.js} +2 -2
- package/dist/swisspost-internet-header/p-cb106742.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-d4781a7f.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-7c655950.js → p-dab1f2dd.js} +2 -2
- package/dist/swisspost-internet-header/{p-7c655950.js.map → p-dab1f2dd.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-a9256af7.js → p-dba0041e.js} +2 -2
- package/dist/swisspost-internet-header/p-ded05f0c.js +2 -0
- package/dist/swisspost-internet-header/{p-9d2502ca.js.map → p-ded05f0c.js.map} +1 -1
- package/dist/swisspost-internet-header/p-e5408b13.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-edde6c7b.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-332e638f.system.js → p-ef26af95.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-332e638f.system.js.map → p-ef26af95.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-f1f14a7f.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-d0246e04.system.js → p-f63740ff.system.js} +2 -2
- package/dist/swisspost-internet-header/p-f7f9d451.entry.js +2 -0
- 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-internet-header/logo-animation/logo-scale.d.ts +4 -0
- package/package.json +9 -9
- package/dist/cjs/index-f082854e.js.map +0 -1
- package/dist/cjs/post-internet-header-3c7fcb36.js.map +0 -1
- package/dist/cjs/post-search-0b908d72.js +0 -598
- package/dist/esm/index-f796221a.js.map +0 -1
- package/dist/esm/post-internet-header-a1b1e981.js.map +0 -1
- package/dist/esm/post-search-f41e3841.js +0 -596
- package/dist/esm-es5/post-internet-header-a1b1e981.js +0 -2
- package/dist/esm-es5/post-internet-header-a1b1e981.js.map +0 -1
- package/dist/esm-es5/post-search-f41e3841.js +0 -2
- package/dist/swisspost-internet-header/p-0a6b234b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-0ff6f7f4.entry.js +0 -2
- package/dist/swisspost-internet-header/p-1097010e.js +0 -2
- package/dist/swisspost-internet-header/p-1097010e.js.map +0 -1
- package/dist/swisspost-internet-header/p-20f7e2b6.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-23b26931.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-2e38e01e.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-2f9df702.entry.js +0 -2
- package/dist/swisspost-internet-header/p-303b0b53.entry.js +0 -2
- package/dist/swisspost-internet-header/p-4363cd22.entry.js +0 -2
- package/dist/swisspost-internet-header/p-451d3317.js +0 -2
- package/dist/swisspost-internet-header/p-51260a1f.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-6892caee.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-9d2502ca.js +0 -2
- package/dist/swisspost-internet-header/p-a9bfbac2.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-b645daf7.system.js +0 -2
- package/dist/swisspost-internet-header/p-b645daf7.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-c1b1ec14.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c98c5063.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-cff98d1f.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d03e7d05.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d8b3d18d.entry.js +0 -2
- package/dist/swisspost-internet-header/p-dff42a0c.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-e6b6ae72.system.js +0 -2
- package/dist/swisspost-internet-header/p-edc198dc.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fcf86039.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fe7f6fc9.system.entry.js +0 -2
- /package/dist/esm-es5/{language.service-278970d4.js.map → language.service-e10417e6.js.map} +0 -0
- /package/dist/esm-es5/{post-internet-breadcrumbs-14cd1ab2.js.map → post-internet-breadcrumbs-e0490c32.js.map} +0 -0
- /package/dist/esm-es5/{post-internet-footer-5cec06ad.js.map → post-internet-footer-d22179a6.js.map} +0 -0
- /package/dist/esm-es5/{post-language-switch-a7461ffa.js.map → post-language-switch-8eb4e9ed.js.map} +0 -0
- /package/dist/esm-es5/{post-logo-ad2a0fbe.js.map → post-logo-319224f0.js.map} +0 -0
- /package/dist/esm-es5/{post-main-navigation-6fc9a1eb.js.map → post-main-navigation-cc9da7b1.js.map} +0 -0
- /package/dist/esm-es5/{post-meta-navigation-f231a663.js.map → post-meta-navigation-6fd33a79.js.map} +0 -0
- /package/dist/esm-es5/{post-skiplinks-250a922c.js.map → post-skiplinks-caa68a25.js.map} +0 -0
- /package/dist/esm-es5/{svg-icon.component-811cf43a.js.map → svg-icon.component-bf11f33c.js.map} +0 -0
- /package/dist/esm-es5/{svg-sprite.component-65ce87dc.js.map → svg-sprite.component-bc8c39ee.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-19771ee8.system.js.map → p-101fc026.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-9d84e280.js.map → p-15b7f849.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-271ed32d.js.map → p-1e0c73ba.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-237918ac.system.js.map → p-1e8226df.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0a6b234b.entry.js.map → p-240ae9b0.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-451d3317.js.map → p-31171eac.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-5c30b6e5.system.js.map → p-3503bc8d.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0ff6f7f4.entry.js.map → p-395c3737.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c34a0ce2.js.map → p-4703a3df.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-20f7e2b6.system.entry.js.map → p-48af8686.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-1d369fcc.system.js.map → p-520ce5c4.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-23b26931.system.entry.js.map → p-61eca4db.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-20c7d029.system.js.map → p-62693134.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-2e38e01e.system.entry.js.map → p-6cb25884.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-2f9df702.entry.js.map → p-6f44c74a.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-303b0b53.entry.js.map → p-7253bc45.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-ee278b43.js.map → p-7c1b1c28.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-4363cd22.entry.js.map → p-7ccd3ade.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-51260a1f.system.entry.js.map → p-83151762.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-636b0d26.system.js.map → p-863f792c.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-501b0f06.js.map → p-8a1e8d50.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-237ac2bd.system.js.map → p-8a6c2961.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-6892caee.system.entry.js.map → p-8f014e72.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-94c5c08e.js.map → p-90808312.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-a9bfbac2.system.entry.js.map → p-9246a004.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-88424db0.system.js.map → p-941fb537.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-b978f6df.system.js.map → p-9b9a57fe.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-cb0d43c6.system.js.map → p-a7405b55.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c1b1ec14.entry.js.map → p-aa41c50e.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c98c5063.system.entry.js.map → p-b0447498.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-cff98d1f.entry.js.map → p-c1fdbc33.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-914ada58.js.map → p-c3a2dbaf.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-b8380f66.js.map → p-c9391554.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-d03e7d05.entry.js.map → p-cb106742.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-d8b3d18d.entry.js.map → p-d4781a7f.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-a9256af7.js.map → p-dba0041e.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-dff42a0c.system.entry.js.map → p-e5408b13.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-edc198dc.entry.js.map → p-edde6c7b.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fcf86039.system.entry.js.map → p-f1f14a7f.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-d0246e04.system.js.map → p-f63740ff.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fe7f6fc9.system.entry.js.map → p-f7f9d451.entry.js.map} +0 -0
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{h as i,r as t,c as e,H as n,g as o}from"./p-197bbbde.js";import{t as s}from"./p-a74b380d.js";import{s as a}from"./p-f956d443.js";import{u as r}from"./p-dc2f1d20.js";import{t as l}from"./p-94c5c08e.js";import{S as f}from"./p-914ada58.js";import{S as d}from"./p-451d3317.js";const u=t=>{var e,n,o;const s=t.level.url?"a":"button";return i(s,{class:{"main-link":true,active:!!t.level.isActiveOverride,focus:t.isOpen},href:t.level.url,title:((e=t.level.title)===null||e===void 0?void 0:e.trim())&&((n=t.level.title)===null||n===void 0?void 0:n.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"},l("Active navigation element")):null,i("svg",{"aria-hidden":"true"},i("use",{href:"#pi-pointy-arrow-right"})))};const c='.flyout-nav,.flyout-column h3{font-size:.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:700;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.main-link,.flyout-close-button,.flyout-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.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:#000}.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){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:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}: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);-ms-flex-negative:0;flex-shrink:0}: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 .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:#fff;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 .35s,-webkit-transform .35s;transition:visibility .35s,-webkit-transform .35s;transition:transform .35s,visibility .35s;transition:transform .35s,visibility .35s,-webkit-transform .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 #e6e6e6}}@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:.75rem;padding-left:.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:.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:#000}.main-link::after,.flyout-link::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:4px;background-color:rgba(0,0,0,0);opacity:0;-webkit-transform:scaleX(0.8);transform:scaleX(0.8);-webkit-transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .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:#ccc;opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .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)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.main-link:hover,.main-link.focus,.main-link.active,.flyout-link:hover,.flyout-link.focus,.flyout-link.active{background-color:Highlight}}.flyout{left:0;width:100%;background:#fff;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,.4);box-shadow:0 0 1px 0 rgba(0,0,0,.4);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.4);box-shadow:0 0 8px 0 rgba(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 .35s,-webkit-transform .35s,-webkit-box-shadow .35s;transition:visibility .35s,-webkit-transform .35s,-webkit-box-shadow .35s;transition:transform .35s,visibility .35s,box-shadow .35s;transition:transform .35s,visibility .35s,box-shadow .35s,-webkit-transform .35s,-webkit-box-shadow .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 #e6e6e6}.flyout-linklist:first-child>li{border-top-color:rgba(0,0,0,0)}.flyout-link{display:block;padding:.75rem 0}.flyout-title{margin:2.5rem 0 1.5rem 0}@media (min-width: 1024px){.flyout-title{display:none}}';const m=c;const h=class{constructor(i){t(this,i);this.dropdownToggled=e(this,"dropdownToggled",7);this.flyoutToggled=e(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}connectedCallback(){this.throttledResize=s(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 e=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.getElementById(i);if(e&&this.activeFlyout!==""){this.addFlyoutAnimation(e,"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 e;if(i===undefined)return;const n=(e=this.host.shadowRoot)===null||e===void 0?void 0:e.getElementById(i);if(n){this.addFlyoutAnimation(n,"collapse",t)}this.activeFlyout=null;this.flyoutToggled.emit()}addFlyoutAnimation(i,t,e=true){if(!r()){i.classList.add("animate");i.addEventListener("transitionend",(()=>{var n,o,s;if(e){if(t==="expand"){(n=i.querySelector("button.flyout-back-button"))===null||n===void 0?void 0:n.focus()}else if(t==="collapse"){(s=(o=i.parentElement)===null||o===void 0?void 0:o.querySelector("a.main-link"))===null||s===void 0?void 0:s.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=a.localizedConfig)===null||t===void 0?void 0:t.header)===undefined)return;const e=a.localizedConfig.header;return i(n,null,i(f,null),i("nav",{"aria-label":e.translations.navMainAriaLabel,id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},role:"menu"},i("ul",{class:"main-container container"},e.navMain.map((t=>i("li",{key:t.text,onMouseLeave:()=>this.handleMouseLeave(t),onMouseEnter:()=>this.handleMouseEnter(t)},i(u,{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(d,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),i("span",null,e.translations.backButtonText)),i("button",{class:"flyout-close-button",onClick:()=>this.closeFlyout(t.id)},i("span",{class:"visually-hidden"},t.text,", ",e.translations.mobileNavToggleClose),i(d,{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(((e,n)=>i("div",{key:e.title,class:"flyout-column"},e.title?i("h3",{id:`${t.id}-column-${n}`},e.title):null,i("ul",{class:"flyout-linklist","aria-labelledby":e.title?`${t.id}-column-${n}`:undefined},e.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"},", ",l("Active navigation element")):null)))))))))))}}get host(){return o(this)}};h.style=m;export{h as P};
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
import{h as i,r as t,c as e,H as n,g as o}from"./p-833cd107.js";import{t as s}from"./p-a74b380d.js";import{s as a}from"./p-4ebec8fe.js";import{u as r}from"./p-dc2f1d20.js";import{t as l}from"./p-90808312.js";import{S as f}from"./p-c3a2dbaf.js";import{S as d}from"./p-31171eac.js";const u=t=>{var e,n,o;const s=t.level.url?"a":"button";return i(s,{class:{"main-link":true,active:!!t.level.isActiveOverride,focus:t.isOpen},href:t.level.url,title:((e=t.level.title)===null||e===void 0?void 0:e.trim())&&((n=t.level.title)===null||n===void 0?void 0:n.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"},l("Active navigation element")):null,i("svg",{"aria-hidden":"true"},i("use",{href:"#pi-pointy-arrow-right"})))};const c='.flyout-nav,.flyout-column h3{font-size:.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:700;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.main-link,.flyout-close-button,.flyout-link{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.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:#000}.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){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:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}: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);-ms-flex-negative:0;flex-shrink:0}: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 .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:#fff;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 .35s,-webkit-transform .35s;transition:visibility .35s,-webkit-transform .35s;transition:transform .35s,visibility .35s;transition:transform .35s,visibility .35s,-webkit-transform .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 #e6e6e6}}@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:.75rem;padding-left:.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:.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:#000}.main-link::after,.flyout-link::after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:4px;background-color:rgba(0,0,0,0);opacity:0;-webkit-transform:scaleX(0.8);transform:scaleX(0.8);-webkit-transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .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:#ccc;opacity:1;-webkit-transform:scale(1);transform:scale(1);-webkit-transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1);transition:opacity .25s cubic-bezier(0.4, 0, 0.2, 1),transform .25s cubic-bezier(0.4, 0, 0.2, 1),-webkit-transform .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)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.main-link:hover,.main-link.focus,.main-link.active,.flyout-link:hover,.flyout-link.focus,.flyout-link.active{background-color:Highlight}}.flyout{left:0;width:100%;background:#fff;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,.4);box-shadow:0 0 1px 0 rgba(0,0,0,.4);-webkit-transform:translateY(-100%);transform:translateY(-100%)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.4);box-shadow:0 0 8px 0 rgba(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 .35s,-webkit-transform .35s,-webkit-box-shadow .35s;transition:visibility .35s,-webkit-transform .35s,-webkit-box-shadow .35s;transition:transform .35s,visibility .35s,box-shadow .35s;transition:transform .35s,visibility .35s,box-shadow .35s,-webkit-transform .35s,-webkit-box-shadow .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 #e6e6e6}.flyout-linklist:first-child>li{border-top-color:rgba(0,0,0,0)}.flyout-link{display:block;padding:.75rem 0}.flyout-title{margin:2.5rem 0 1.5rem 0}@media (min-width: 1024px){.flyout-title{display:none}}';const m=c;const h=class{constructor(i){t(this,i);this.dropdownToggled=e(this,"dropdownToggled",7);this.flyoutToggled=e(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}connectedCallback(){this.throttledResize=s(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 e=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.getElementById(i);if(e&&this.activeFlyout!==""){this.addFlyoutAnimation(e,"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 e;if(i===undefined)return;const n=(e=this.host.shadowRoot)===null||e===void 0?void 0:e.getElementById(i);if(n){this.addFlyoutAnimation(n,"collapse",t)}this.activeFlyout=null;this.flyoutToggled.emit()}addFlyoutAnimation(i,t,e=true){if(!r()){i.classList.add("animate");i.addEventListener("transitionend",(()=>{var n,o,s;if(e){if(t==="expand"){(n=i.querySelector("button.flyout-back-button"))===null||n===void 0?void 0:n.focus()}else if(t==="collapse"){(s=(o=i.parentElement)===null||o===void 0?void 0:o.querySelector("a.main-link"))===null||s===void 0?void 0:s.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=a.localizedConfig)===null||t===void 0?void 0:t.header)===undefined)return;const e=a.localizedConfig.header;return i(n,null,i(f,null),i("nav",{"aria-label":e.translations.navMainAriaLabel,id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},role:"menu"},i("ul",{class:"main-container container"},e.navMain.map((t=>i("li",{key:t.text,onMouseLeave:()=>this.handleMouseLeave(t),onMouseEnter:()=>this.handleMouseEnter(t)},i(u,{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(d,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),i("span",null,e.translations.backButtonText)),i("button",{class:"flyout-close-button",onClick:()=>this.closeFlyout(t.id)},i("span",{class:"visually-hidden"},t.text,", ",e.translations.mobileNavToggleClose),i(d,{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(((e,n)=>i("div",{key:e.title,class:"flyout-column"},e.title?i("h3",{id:`${t.id}-column-${n}`},e.title):null,i("ul",{class:"flyout-linklist","aria-labelledby":e.title?`${t.id}-column-${n}`:undefined},e.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"},", ",l("Active navigation element")):null)))))))))))}}get host(){return o(this)}};h.style=m;export{h as P};
|
|
2
|
+
//# sourceMappingURL=p-dba0041e.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{h as t,r as o,c as e,H as r,g as i}from"./p-833cd107.js";import{t as l}from"./p-a74b380d.js";import{c as n,d as a,e as s}from"./p-a119b38d.js";import{s as m}from"./p-4ebec8fe.js";import{e as f,u as d}from"./p-dc2f1d20.js";import{S as g}from"./p-c3a2dbaf.js";import{S as c}from"./p-31171eac.js";import{I as x}from"./p-840aa5c6.js";import{t as u}from"./p-90808312.js";let p;const h=t=>{const o=m.currentLanguage;return`https://www.post.ch/${o}/api/trackandtrace?id=${encodeURIComponent(t)}`};const b=(t,{packageTrackingRedirectUrl:o})=>o.replace("{trackingNumber}",encodeURIComponent(t));const w=async(t,o)=>{const e=await y(t,o);return"sending"in e};const y=async(t,{redirectPattern:o})=>{const e=new RegExp(o);if(e.test(t)){const o=h(t);if(p)p.abort();p=new AbortController;return new Promise(((t,e)=>{fetch(o,{signal:p.signal}).then((t=>t.json())).then((o=>{t(Object.assign(Object.assign({},o),{ok:o.ok}))})).catch((t=>{if(t.name!=="AbortError"){console.error(`Could not check track and trace API due to error: ${t.message}`);e(t)}}))}))}return{ok:false,timestamp:(new Date).toDateString()}};const v=async(t,o)=>{const e=await y(t,o);return e.ok?Object.assign(Object.assign({},e),{url:b(t,o)}):null};const k=async(t,o)=>{const e=await w(t,o);return e?b(t,o):z(t)};const z=t=>{var o;if(((o=m.localizedConfig)===null||o===void 0?void 0:o.header.search)===undefined){return}const{searchPageUrl:e}=m.localizedConfig.header.search;const r=`#q=${encodeURIComponent(t)}`;return`${e}${r}&t=AllTab`};const I=(t,o,e=7)=>{const r=t.slice(0,Math.max(e/2,e-o.length));return[r,o.slice(0,e-r.length)]};const T={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"}}};let N;const E=async t=>{var o,e,r,i;if(((e=(o=m.localizedConfig)===null||o===void 0?void 0:o.header)===null||e===void 0?void 0:e.search)===undefined||((i=(r=m.localizedConfig)===null||r===void 0?void 0:r.header)===null||i===void 0?void 0:i.search.isCustomSuggestionHidden)===true)return[];const l=m.localizedConfig.header.search;const{token:n,organisation:a}=T.environment[m.environment];const s=`${T.url}?q=${t}&locale=${m.currentLanguage}&searchHub=${l.searchHubName}&pipeline=${l.searchPipelineName}&organizationId=${a}`;if(N)N.abort();N=new AbortController;return new Promise(((t,o)=>{fetch(s,{signal:N.signal,method:"GET",headers:{Authorization:`Bearer ${n}`}}).then((t=>t.json())).then((o=>{t(o.completions.map((t=>Object.assign(Object.assign({},t),{redirectUrl:z(t.expression)}))))})).catch((t=>{if(t.name!=="AbortError"){console.error(`Fetching coveo suggestions failed, ${t}\nDid you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?`);o(t)}}))}))};const R="https://places.post.ch/StandortSuche/StaoCacheService";const F="https://places.post.ch";const S=t=>t.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"");let O;const A=async t=>{if(t.length===0){return[]}const o=Object.entries({query:encodeURIComponent(t),lang:m.currentLanguage,limit:7}).reduce(((t,[o,e],r)=>`${t}${r===0?"?":"&"}${o}=${e}`),"");const e=`${R}/Geocode${o}`;if(O)O.abort();O=new AbortController;return new Promise(((t,o)=>{fetch(e,{signal:O.signal}).then((t=>t.json())).then((o=>{if(!o.ok)throw new Error(o.info);t(o.locations)})).catch((t=>{if(t.name!=="AbortError"){console.error(`Fetching places failed, ${t}\nDid you add "places.post.ch" to your connect-src content security policy?`);o(t)}}))}))};const C=(t,o)=>{if(t===undefined)return o;const e=S(o);const r=S(t);const i=e.indexOf(r);if(i<0){return o}return`${o.substring(0,i)}{${o.substring(i,i+t.length)}}${o.substring(i+t.length,o.length)}`};const P=t=>{let o;if(t.id){o=`${F}/${m.currentLanguage}/${t.id}/detail`}else{o=`${F}?preselecttext=${encodeURIComponent(t.name)}`}return o};const $=o=>{var e;const r=(e=o.highlightClass)!==null&&e!==void 0?e:"bold";const i=o.text.replace(/[{(]/g,`<span class="${r}">`).replace(/[})]/g,"</span>").replace(/[\[\]]/g,"");return t("span",{innerHTML:i})};const L='/*!\n * Copyright 2021 by Swiss Post, Information Technology\n *//*!\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:.5rem;color:var(--post-contrast-color)}.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:var(--post-contrast-color)}.col-form-label-lg{padding-top:calc(0.6875rem + 2px);padding-bottom:calc(0.6875rem + 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:.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-clip:padding-box;border:2px solid #666;border-radius:0;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .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:var(--post-contrast-color-rgb);outline:0;-webkit-box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 0.25);box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 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:#666;opacity:1}.form-control::-moz-placeholder{color:#666;opacity:1}.form-control:-ms-input-placeholder{color:#666;opacity:1}.form-control::-ms-input-placeholder{color:#666;opacity:1}.form-control::placeholder{color:#666;opacity:1}.form-control:disabled{color:#999;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:#999;opacity:1}.form-control::-webkit-file-upload-button{padding:.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:.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:.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);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:2rem;padding:.375rem .75rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.form-control-sm::file-selector-button{padding:.375rem .75rem;margin:-0.375rem -0.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem}.form-control-lg,.form-floating>.form-control,.form-floating>.form-select{min-height:3rem;padding:.6875rem 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:.6875rem 1.375rem;margin:-0.6875rem -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:.6875rem 1.375rem;margin:-0.6875rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}textarea.form-control{min-height:3.5rem}textarea.form-control-sm{min-height:2rem}textarea.form-control-lg,.form-floating>textarea.form-control,.form-floating>textarea.form-select{min-height:3rem}.form-control-color{width:3rem;height:3.5rem;padding:.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:2rem}.form-control-color.form-control-lg,.form-floating>.form-control-color.form-control,.form-floating>.form-control-color.form-select{height:3rem}.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:.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 #666;border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:.6875rem 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:.375rem .75rem;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}.form-control-rg{padding:.625rem .875rem;font-size:1rem;line-height:1.5}.form-control-sm{font-size:.875rem;line-height:1.2;min-height:2rem;padding-block:.375rem;padding-inline:.75rem}.form-control-lg{font-size:1rem;line-height:1.5;min-height:3rem}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control{position:relative}.form-control:disabled{color:#999}.form-control[readonly]:not(:disabled){border-color:#666;background-color:#fff}.form-control[type=file]{position:relative}.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}@supports (background: -webkit-named-image(i)){.form-control[type=file]::-webkit-file-upload-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::file-selector-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::after{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;content:"Choose File";position:absolute;top:0;bottom:0;right:0;z-index:2;padding-inline:.875rem;background-color:inherit;border-left:inherit;text-align:center}[lang=de] .form-control[type=file]::after{content:"Datei auswählen"}[lang=fr] .form-control[type=file]::after{content:"Choisir un fichier"}[lang=it] .form-control[type=file]::after{content:"Scegli file"}.form-control[type=file][multiple]::after{content:"Choose Files"}[lang=de] .form-control[type=file][multiple]::after{content:"Dateien auswählen"}[lang=fr] .form-control[type=file][multiple]::after{content:"Choisir des fichiers"}}.form-control[type=file].form-control-sm::after{padding-inline:.375rem}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-rg::after{padding-inline:.625rem}.form-control[type=file].form-control-lg::after{padding-inline:.6875rem}@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{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:4.5rem;min-height:4.5rem;line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:.6875rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid rgba(0,0,0,0);-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:.6875rem 1.375rem}.form-floating>.form-control::-webkit-input-placeholder,.form-floating>.form-control-plaintext::-webkit-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.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:.6875rem .6875rem;z-index:-1;height:4.5rem;content:"";background-color:#fff;border-radius:0}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:.6875rem .6875rem;z-index:-1;height:4.5rem;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:.6875rem .6875rem;z-index:-1;height:4.5rem;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,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6)}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-top:1.453125rem;padding-bottom:0;border:0;color:#666;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:focus::-webkit-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-moz-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus:-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.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{color:#666;padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-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{color:#666;padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-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{color:#666;padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-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-control[type=week],.form-floating>.form-control[type=month],.form-floating>.form-control[type=date],.form-floating>.form-control[type=time]{background-position:right calc(0.375em + 0.4375rem) bottom .5rem}.form-floating>.form-control.form-control-sm{font-size:.875rem;height:3rem;min-height:3rem;padding-inline:1rem}.form-floating>.form-control.form-control-sm[type=date]::-webkit-calendar-picker-indicator{margin-top:-0.75rem}.form-floating>.form-control.form-control-sm~label{font-size:.875rem;padding-top:.75rem;padding-inline:calc(1rem - 2px)}.form-floating>.form-control.form-control-sm:not(:-moz-placeholder-shown){padding-top:.75rem}.form-floating>.form-control.form-control-sm:not(:-ms-input-placeholder){padding-top:.75rem}.form-floating>.form-control.form-control-sm:focus,.form-floating>.form-control.form-control-sm:not(:placeholder-shown){padding-top:.75rem}.form-floating>.form-control.form-control-sm:not(:-moz-placeholder-shown)~label{padding-top:.375rem;font-size:.75rem}.form-floating>.form-control.form-control-sm:not(:-ms-input-placeholder)~label{padding-top:.375rem;font-size:.75rem}.form-floating>.form-control.form-control-sm:focus~label,.form-floating>.form-control.form-control-sm:not(:placeholder-shown)~label{padding-top:.375rem;font-size:.75rem}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select~label{color:#666;padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-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:disabled~label{color:#999}.form-floating>.form-select:empty,.form-floating>.form-select.form-select-empty{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select:empty~label,.form-floating>.form-select.form-select-empty~label{padding-top:1.453125rem;max-width:calc(100% - (4px));-webkit-transform:none;transform:none}.form-floating>.form-select.form-select-sm{padding-inline:1rem;padding-top:.75rem;font-size:.875rem;height:3rem;min-height:3rem}.form-floating>.form-select.form-select-sm~label{padding-top:.375rem;font-size:.75rem;padding-inline:1rem}.form-floating>.form-select.form-select-sm:empty~label,.form-floating>.form-select.form-select-sm.form-select-empty~label{padding-top:.75rem;font-size:.875rem}.form-floating>.form-select[multiple]{padding-top:2rem;padding-bottom:0;height:auto}.form-floating>.form-select[multiple]~label{padding-top:.5257352941rem;padding-bottom:0;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );height:auto;left:6px}.form-floating>.form-select[multiple].form-select-sm{padding-top:1.5rem}.form-floating>.form-select[multiple].form-select-sm~label{left:4px}.form-floating>.form-select[multiple]:not(:disabled)~label{background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:.6875rem;padding-bottom:.6875rem;width:calc(\n 100% - (4px) - 1.375rem\n );height:4.5rem}.form-floating>textarea.form-control{padding-top:1.375rem;padding-bottom:.6875rem;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.375rem;padding-bottom:.6875rem}.form-floating>textarea.form-control:not(:-ms-input-placeholder){padding-top:1.375rem;padding-bottom:.6875rem}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.375rem;padding-bottom:.6875rem}.form-floating>textarea.form-control:not(:-moz-placeholder-shown)~label{padding-top:.5257352941rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:.5257352941rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:.5257352941rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(\n 100% - (4px) - 1.375rem - 0.5rem -\n 2rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.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(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.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)*.5);padding-left:calc(var(--bs-gutter-x)*.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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.33333333%}.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.66666667%}.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-xxl,.container-xl{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media (min-width: 1280px){.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1280px}}@media (min-width: 1441px){.container-xxl,.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1440px}}.container{padding-inline:var(--post-container-padding-x)}.container-fluid{padding-inline:var(--post-container-fluid-padding-x)}.container{--post-container-padding-x:12px}.container-fluid{--post-container-fluid-padding-x:12px}.row{--bs-gutter-x:12px}@media (min-width: 400px){.container{--post-container-padding-x:16px}}@media (min-width: 400px){.container-fluid{--post-container-fluid-padding-x:16px}}@media (min-width: 400px){.row{--bs-gutter-x:16px}}@media (min-width: 780px){.container{--post-container-padding-x:32px}}@media (min-width: 780px){.container-fluid{--post-container-fluid-padding-x:32px}}@media (min-width: 1280px){.container{--post-container-padding-x:40px}}@media (min-width: 1441px){.container{--post-container-padding-x:120px}}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}@media (min-width: 400px){.g-sm-0,.gx-sm-0{--bs-gutter-x:0}}@media (min-width: 400px){.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}}@media (min-width: 400px){.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}}@media (min-width: 400px){.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}}@media (min-width: 400px){.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}}@media (min-width: 400px){.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}}@media (min-width: 600px){.g-rg-0,.gx-rg-0{--bs-gutter-x:0}}@media (min-width: 600px){.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}}@media (min-width: 600px){.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}}@media (min-width: 600px){.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}}@media (min-width: 600px){.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}}@media (min-width: 600px){.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}}@media (min-width: 780px){.g-md-0,.gx-md-0{--bs-gutter-x:0}}@media (min-width: 780px){.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}}@media (min-width: 780px){.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}}@media (min-width: 780px){.g-md-3,.gx-md-3{--bs-gutter-x:1rem}}@media (min-width: 780px){.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}}@media (min-width: 780px){.g-md-5,.gx-md-5{--bs-gutter-x:3rem}}@media (min-width: 1024px){.g-lg-0,.gx-lg-0{--bs-gutter-x:0}}@media (min-width: 1024px){.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}}@media (min-width: 1024px){.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}}@media (min-width: 1024px){.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}}@media (min-width: 1024px){.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}}@media (min-width: 1024px){.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}}@media (min-width: 1280px){.g-xl-0,.gx-xl-0{--bs-gutter-x:0}}@media (min-width: 1280px){.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1280px){.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1280px){.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}}@media (min-width: 1280px){.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1280px){.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}}@media (min-width: 1441px){.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}}@media (min-width: 1441px){.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1441px){.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1441px){.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}}@media (min-width: 1441px){.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1441px){.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}}.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-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-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)and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 780px){.container-reset-left{margin-left:-32px}}@media (min-width: 780px){.container-reset-right{margin-right:-32px}}@media (min-width: 780px)and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px)and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1280px){.container-reset-left{margin-left:-40px}}@media (min-width: 1280px){.container-reset-right{margin-right:-40px}}@media (min-width: 1280px)and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-reset{margin-right:-120px;margin-left:-120px}}@media (min-width: 1441px){.container-reset-left{margin-left:-120px}}@media (min-width: 1441px){.container-reset-right{margin-right:-120px}}@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:700;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.search-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.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:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){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:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}: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:.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:#fff;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 .35s,-webkit-box-shadow .35s;transition:-webkit-transform .35s,-webkit-box-shadow .35s;transition:transform .35s,box-shadow .35s;transition:transform .35s,box-shadow .35s,-webkit-transform .35s,-webkit-box-shadow .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,.4);box-shadow:0 0 1px 0 rgba(0,0,0,.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.4);box-shadow:0 0 8px 0 rgba(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:5.625rem}.start-search-button,.clear-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;background:none;border:0;-webkit-box-shadow:none;box-shadow:none}.start-search-button svg,.clear-search-button svg{width:1.5rem;height:1.5rem}.clear-search-button{right:3rem;padding-right:.5rem;visibility:hidden}.suggestions{margin:1.5rem 0}.suggestions a{padding:.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}';const H=L;const W=class{constructor(t){o(this,t);this.dropdownToggled=e(this,"dropdownToggled",7);this.searchDropdownOpen=false;this.coveoSuggestions=[];this.placeSuggestions=[];this.parcelSuggestion=null}connectedCallback(){this.throttledResize=l(300,(()=>this.handleResize()));window.addEventListener("resize",this.throttledResize,{passive:true})}disconnectedCallback(){window.removeEventListener("resize",this.throttledResize);n()}componentWillUpdate(){if(this.searchFlyout&&!this.searchDropdownOpen){this.searchFlyout.classList.remove("open");if(f(this.searchFlyout,"transform")&&!d()){return new Promise((t=>{if(this.searchFlyout===undefined){return t(true)}this.searchFlyout.addEventListener("transitionend",(o=>{if(o.propertyName==="transform"){t(true)}}))}))}}}componentDidUpdate(){if(this.searchFlyout&&this.searchDropdownOpen){this.searchFlyout.getBoundingClientRect();this.searchFlyout.classList.add("open")}if(this.searchDropdownOpen&&this.searchBox){this.searchBox.focus({preventScroll:true})}}async toggleDropdown(t){this.searchDropdownOpen=t===undefined||typeof t!=="boolean"?!this.searchDropdownOpen:t;this.dropdownToggled.emit({open:this.searchDropdownOpen,element:this.host});if(!this.searchDropdownOpen){this.coveoSuggestions=[];this.placeSuggestions=[];if(this.searchBox)this.searchBox.value="";void this.setFocus()}else{try{this.coveoSuggestions=await E("")}catch(t){}}this.setBodyScroll();return this.searchDropdownOpen}async setFocus(){const t=this.host.shadowRoot;if(t===null){return}const o=t.querySelector(".search-button");if(o){o.focus()}}handleResize(){if(this.searchDropdownOpen){this.setBodyScroll()}}setBodyScroll(){if(!this.searchFlyout){return}if(this.searchDropdownOpen&&window.innerWidth<1024){a(this.searchFlyout)}else{s(this.searchFlyout)}}async handleSearchInput(){var t;if(this.searchBox===undefined||((t=m.localizedConfig)===null||t===void 0?void 0:t.header.search)===undefined){return}const o=this.searchBox.value.trim();if(this.clearButton){if(o!==""){this.clearButton.style.visibility="visible"}else{this.clearButton.style.visibility="hidden"}}const[e,r,i]=await Promise.all([A(o),E(o),v(o,m.localizedConfig.header.search)]);this.parcelSuggestion=i;if(i){this.placeSuggestions=[];this.coveoSuggestions=[]}else{[this.coveoSuggestions,this.placeSuggestions]=I(r,e,7)}this.deselectSuggestion()}handleClearSearchBox(){if(this.searchBox!==undefined){this.searchBox.value="";this.handleSearchInput()}}handleKeyDown(t){var o,e,r,i,l;if(this.searchFlyout===undefined){return}const n=this.searchFlyout.querySelector(".suggestions > li > a.selected");const a=(o=n===null||n===void 0?void 0:n.getAttribute("href"))!==null&&o!==void 0?o:null;const s=this.searchFlyout.querySelectorAll(".suggestions > li > a");switch(t.key.toLowerCase()){case"enter":if(a!==null){window.location.href=a}else{void this.startSearch()}break;case"arrowdown":this.deselectSuggestion();if((r=(e=n===null||n===void 0?void 0:n.parentElement)===null||e===void 0?void 0:e.nextElementSibling)===null||r===void 0?void 0:r.firstElementChild){n.parentElement.nextElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[0].classList.add("selected")}this.updateSearchBoxWithSuggestion();break;case"arrowup":this.deselectSuggestion();if((l=(i=n===null||n===void 0?void 0:n.parentElement)===null||i===void 0?void 0:i.previousElementSibling)===null||l===void 0?void 0:l.firstElementChild){n.parentElement.previousElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[s.length-1].classList.add("selected")}this.updateSearchBoxWithSuggestion();break}}handleMouseEnterSuggestion(t){this.deselectSuggestion();t.target.classList.add("selected")}handleMouseLeaveSuggestions(){this.deselectSuggestion()}deselectSuggestion(){if(this.searchFlyout===undefined)return;const t=this.searchFlyout.querySelector(".suggestions .selected");if(t){t.classList.remove("selected")}}updateSearchBoxWithSuggestion(){if(this.searchFlyout===undefined)return;const t=this.searchFlyout.querySelector(".suggestions > li > a.selected");const o=t===null||t===void 0?void 0:t.dataset.suggestionText;if(o!==undefined&&this.searchBox){this.searchBox.value=o}}async startSearch(){var t;if(this.searchBox&&((t=m.localizedConfig)===null||t===void 0?void 0:t.header.search)){const t=await k(this.searchBox.value.trim(),m.localizedConfig.header.search);if(!t)return;window.location.href=t}}trackRecommendationClick(t){if(!("dataLayer"in window))return;const o=t.additionalAttributes.reduce(((t,o)=>{t[o.name]=o.value;return t}),{});window.dataLayer.push({event:o["data-event"],text:o["data-text"],link_url:o["data-linkurl"],label:o["data-label"],type:o["data-type"]})}render(){var o,e,i,l,n,a,s,f,d,p,h,b,w,y;if(((o=m.localizedConfig)===null||o===void 0?void 0:o.header)===undefined){return}const{translations:v,search:k}=m.localizedConfig.header;const z=this.parcelSuggestion&&"sending"in this.parcelSuggestion;const I=((e=this.searchBox)===null||e===void 0?void 0:e.value)===""&&((i=k.searchRecommendations)===null||i===void 0?void 0:i.links.length)>0;return t(r,{role:"search"},t(g,null),t("div",{class:"search"},t("button",{id:"post-internet-header-search-button",class:"search-button",type:"button","aria-expanded":`${this.searchDropdownOpen}`,onClick:t=>void this.toggleDropdown(t)},t("span",{class:"visually-hidden"},this.searchDropdownOpen?v.searchToggleExpanded:v.searchToggle),t(c,{name:this.searchDropdownOpen?"pi-close":"pi-search"})),t(x,{condition:this.searchDropdownOpen},t("div",{class:"flyout",ref:t=>this.searchFlyout=t},t("div",{class:"container box"},t("div",{class:"row"},t("div",{class:"col-xs-12 col-md-10 col-lg-8"},t("div",{class:"form-group form-floating"},t("input",{type:"text",role:"searchbox",id:"searchBox",class:"form-control form-control-lg",placeholder:v.flyoutSearchBoxFloatingLabel,autocomplete:"off",ref:t=>this.searchBox=t,onInput:()=>void this.handleSearchInput(),onKeyDown:t=>this.handleKeyDown(t)}),t("label",{htmlFor:"searchBox"},v.flyoutSearchBoxFloatingLabel),t("button",{onClick:()=>this.handleClearSearchBox(),class:"clear-search-button",type:"reset",id:"clearButton",ref:t=>this.clearButton=t},t("span",{class:"visually-hidden"},u("Delete search term")),t(c,{name:"pi-close"})),t("button",{onClick:()=>void this.startSearch(),class:"start-search-button"},t("span",{class:"visually-hidden"},v.searchSubmit),t(c,{name:"pi-search"}))),I&&t("h2",{id:"post-internet-header-search-recommendations-title",class:"bold"},k.searchRecommendations.title),t("ul",{class:"suggestions no-list",onMouseLeave:()=>this.handleMouseLeaveSuggestions(),"aria-labelledby":I?"post-internet-header-search-recommendations-title":undefined},I&&k.searchRecommendations.links.map((o=>t("li",{key:o.href},t("a",{class:"nav-link search-recommendation",href:new URL(o.href,"https://post.ch").href,"data-suggestion-text":o.label,onMouseEnter:t=>this.handleMouseEnterSuggestion(t),onClick:()=>this.trackRecommendationClick(o)},t("span",{class:"search-recommendation__icon",innerHTML:o.inlineSvg}),t("span",null,o.label))))),z&&t("li",null,t("a",{class:"nav-link parcel-suggestion",href:this.parcelSuggestion.url,"data-suggestion-text":(l=this.searchBox)===null||l===void 0?void 0:l.value,onMouseEnter:t=>this.handleMouseEnterSuggestion(t)},t(c,{name:"pi-letter-parcel"}),t("span",{class:"bold"},(a=(n=this.parcelSuggestion)===null||n===void 0?void 0:n.sending)===null||a===void 0?void 0:a.id,": "),t("span",null,[(f=(s=this.parcelSuggestion)===null||s===void 0?void 0:s.sending)===null||f===void 0?void 0:f.product," "+((p=(d=this.parcelSuggestion)===null||d===void 0?void 0:d.sending)===null||p===void 0?void 0:p.recipient.zipcode)," "+((b=(h=this.parcelSuggestion)===null||h===void 0?void 0:h.sending)===null||b===void 0?void 0:b.recipient.city),", "+((y=(w=this.parcelSuggestion)===null||w===void 0?void 0:w.sending)===null||y===void 0?void 0:y.state)].filter((t=>t!==""&&t!==" ")).join("")))),!I&&this.coveoSuggestions&&this.coveoSuggestions.map((o=>t("li",{key:o.objectId},t("a",{class:"nav-link",href:o.redirectUrl,"data-suggestion-text":o.expression,onMouseEnter:t=>this.handleMouseEnterSuggestion(t)},t(c,{name:"pi-search"}),t($,{text:o.highlighted}))))),!I&&this.placeSuggestions&&this.placeSuggestions.map((o=>{var e,r;return t("li",{key:o.id},t("a",{class:"nav-link",href:P(o),"data-suggestion-text":o.name,onMouseEnter:t=>this.handleMouseEnterSuggestion(t)},t(c,{name:"pi-place"}),t($,{text:C((r=(e=this.searchBox)===null||e===void 0?void 0:e.value)===null||r===void 0?void 0:r.trim(),o.name)})))}))))))))))}get host(){return i(this)}};W.style=H;export{W as P};
|
|
2
|
+
//# sourceMappingURL=p-ded05f0c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["parcelController","getTrackAndTraceApiUrl","id","lang","state","currentLanguage","encodeURIComponent","getTrackAndTraceRedirectUrl","query","packageTrackingRedirectUrl","replace","isParcel","async","searchConfig","parcelInfo","getParcelInfo","redirectPattern","trackingNrPattern","RegExp","test","url","abort","AbortController","Promise","resolve","reject","fetch","signal","then","response","json","trackAndTraceResult","Object","assign","ok","catch","error","name","console","message","timestamp","Date","toDateString","getParcelSuggestion","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","_d","_c","isCustomSuggestionHidden","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","k","v","i","geocodeJSON","Error","info","locations","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearchStyle0","PostSearch","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","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","clearButton","style","visibility","trackAndTraceInfo","all","parcelSuggestion","deselectSuggestion","handleClearSearchBox","handleKeyDown","selectedSuggestion","selectedHref","getAttribute","suggestions","querySelectorAll","key","href","startSearch","parentElement","nextElementSibling","firstElementChild","updateSearchBoxWithSuggestion","_e","previousElementSibling","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","suggestedText","dataset","suggestionText","trackRecommendationClick","recommendation","trackingAttributes","additionalAttributes","acc","curr","dataLayer","push","link_url","label","type","render","translations","isParcelTrackingNr","showPortalRecommendations","searchRecommendations","links","Host","role","SvgSprite","class","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","translate","searchSubmit","title","onMouseLeave","URL","onMouseEnter","inlineSvg","_f","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","filter","join","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 'sending' in parcelInfo;\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 (\n state.localizedConfig?.header?.search === undefined ||\n state.localizedConfig?.header?.search.isCustomSuggestionHidden === true\n )\n 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 * 5;\n }\n}\n\n.start-search-button,\n.clear-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 0.5rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: none;\n border: 0;\n box-shadow: none;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.clear-search-button {\n right: 3rem;\n padding-right: 0.5rem;\n visibility: hidden;\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, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\n IsFocusable,\n} from '../../models/header.model';\nimport { equalizeArrays, getSearchRedirectUrl } 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 { elementHasTransition, userPrefersReducedMotion } 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';\nimport { translate } from '../../services/language.service';\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 private clearButton?: HTMLButtonElement;\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 void 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.searchFlyout) {\n return;\n }\n\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 // shows or hides clearButton depending on the content of the searchbar\n if (this.clearButton) {\n if (query !== '') {\n this.clearButton.style.visibility = 'visible';\n } else {\n this.clearButton.style.visibility = 'hidden';\n }\n }\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 * clear Search box\n * calls handleSearchInput to update/remove suggestions\n */\n private handleClearSearchBox() {\n if (this.searchBox !== undefined) {\n this.searchBox.value = '';\n this.handleSearchInput();\n }\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 void 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 private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\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 => void 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={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.handleClearSearchBox()}\n class=\"clear-search-button\"\n type=\"reset\"\n id=\"clearButton\"\n ref={el => (this.clearButton = el)}\n >\n <span class=\"visually-hidden\">{translate('Delete search term')}</span>\n <SvgIcon name=\"pi-close\" />\n </button>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\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 onClick={() => this.trackRecommendationClick(recommendation)}\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 {isParcelTrackingNr && (\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 {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\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
|
+
{"version":3,"names":["parcelController","getTrackAndTraceApiUrl","id","lang","state","currentLanguage","encodeURIComponent","getTrackAndTraceRedirectUrl","query","packageTrackingRedirectUrl","replace","isParcel","async","searchConfig","parcelInfo","getParcelInfo","redirectPattern","trackingNrPattern","RegExp","test","url","abort","AbortController","Promise","resolve","reject","fetch","signal","then","response","json","trackAndTraceResult","Object","assign","ok","catch","error","name","console","message","timestamp","Date","toDateString","getParcelSuggestion","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","_d","_c","isCustomSuggestionHidden","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","k","v","i","geocodeJSON","Error","info","locations","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearchStyle0","PostSearch","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","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","clearButton","style","visibility","trackAndTraceInfo","all","parcelSuggestion","deselectSuggestion","handleClearSearchBox","handleKeyDown","selectedSuggestion","selectedHref","getAttribute","suggestions","querySelectorAll","key","href","startSearch","parentElement","nextElementSibling","firstElementChild","updateSearchBoxWithSuggestion","_e","previousElementSibling","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","suggestedText","dataset","suggestionText","trackRecommendationClick","recommendation","trackingAttributes","additionalAttributes","acc","curr","dataLayer","push","link_url","label","type","render","translations","isParcelTrackingNr","showPortalRecommendations","searchRecommendations","links","Host","role","SvgSprite","class","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","translate","searchSubmit","title","onMouseLeave","URL","onMouseEnter","inlineSvg","_f","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","filter","join","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 'sending' in parcelInfo;\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 (\n state.localizedConfig?.header?.search === undefined ||\n state.localizedConfig?.header?.search.isCustomSuggestionHidden === true\n )\n 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 * 5;\n }\n}\n\n.start-search-button,\n.clear-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 0.5rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: none;\n border: 0;\n box-shadow: none;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.clear-search-button {\n right: 3rem;\n padding-right: 0.5rem;\n visibility: hidden;\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, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\n IsFocusable,\n} from '../../models/header.model';\nimport { equalizeArrays, getSearchRedirectUrl } 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 { elementHasTransition, userPrefersReducedMotion } 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';\nimport { translate } from '../../services/language.service';\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 private clearButton?: HTMLButtonElement;\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 void 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.searchFlyout) {\n return;\n }\n\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 // shows or hides clearButton depending on the content of the searchbar\n if (this.clearButton) {\n if (query !== '') {\n this.clearButton.style.visibility = 'visible';\n } else {\n this.clearButton.style.visibility = 'hidden';\n }\n }\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 * clear Search box\n * calls handleSearchInput to update/remove suggestions\n */\n private handleClearSearchBox() {\n if (this.searchBox !== undefined) {\n this.searchBox.value = '';\n this.handleSearchInput();\n }\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 void 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 private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\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 => void 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={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.handleClearSearchBox()}\n class=\"clear-search-button\"\n type=\"reset\"\n id=\"clearButton\"\n ref={el => (this.clearButton = el)}\n >\n <span class=\"visually-hidden\">{translate('Delete search term')}</span>\n <SvgIcon name=\"pi-close\" />\n </button>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\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 onClick={() => this.trackRecommendationClick(recommendation)}\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 {isParcelTrackingNr && (\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 {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\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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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./p-3503bc8d.system.js","./p-b5c47ef8.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-1e8226df.system.js","./p-ef26af95.system.js","./p-941fb537.system.js","./p-f63740ff.system.js","./p-d7e221af.system.js"],(function(s){"use strict";return{setters:[function(t){s("swisspost_internet_breadcrumbs",t.P)},function(){},function(){},function(){},function(){},function(){},function(){},function(){},function(){}],execute:function(){}}}));
|
|
2
|
+
//# sourceMappingURL=p-e5408b13.system.entry.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["./p-
|
|
2
|
-
//# sourceMappingURL=p-
|
|
1
|
+
System.register(["./p-b5c47ef8.system.js"],(function(n){"use strict";var r,t;return{setters:[function(n){r=n.a;t=n.f}],execute:function(){var e=function(n,r,t){var e=n.get(r);if(!e){n.set(r,[t])}else if(!e.includes(t)){e.push(t)}};var u=function(n,r){var t;return function(){var e=[];for(var u=0;u<arguments.length;u++){e[u]=arguments[u]}if(t){clearTimeout(t)}t=setTimeout((function(){t=0;n.apply(void 0,e)}),r)}};var i=function(n){return!("isConnected"in n)||n.isConnected};var o=u((function(n){for(var r=0,t=n.keys();r<t.length;r++){var e=t[r];n.set(e,n.get(e).filter(i))}}),2e3);var f=function(){if(typeof r!=="function"){return{}}var n=new Map;return{dispose:function(){return n.clear()},get:function(t){var u=r();if(u){e(n,t,u)}},set:function(r){var e=n.get(r);if(e){n.set(r,e.filter(t))}o(n)},reset:function(){n.forEach((function(n){return n.forEach(t)}));o(n)}}};var c=function(n){return typeof n==="function"?n():n};var a=function(n,r){if(r===void 0){r=function(n,r){return n!==r}}var t=c(n);var e=new Map(Object.entries(t!==null&&t!==void 0?t:{}));var u={dispose:[],get:[],set:[],reset:[]};var i=function(){var r;e=new Map(Object.entries((r=c(n))!==null&&r!==void 0?r:{}));u.reset.forEach((function(n){return n()}))};var o=function(){u.dispose.forEach((function(n){return n()}));i()};var f=function(n){u.get.forEach((function(r){return r(n)}));return e.get(n)};var a=function(n,t){var i=e.get(n);if(r(t,i,n)){e.set(n,t);u.set.forEach((function(r){return r(n,t,i)}))}};var s=typeof Proxy==="undefined"?{}:new Proxy(t,{get:function(n,r){return f(r)},ownKeys:function(n){return Array.from(e.keys())},getOwnPropertyDescriptor:function(){return{enumerable:true,configurable:true}},has:function(n,r){return e.has(r)},set:function(n,r,t){a(r,t);return true}});var l=function(n,r){u[n].push(r);return function(){v(u[n],r)}};var d=function(r,t){var e=l("set",(function(n,e){if(n===r){t(e)}}));var u=l("reset",(function(){return t(c(n)[r])}));return function(){e();u()}};var p=function(){var n=[];for(var r=0;r<arguments.length;r++){n[r]=arguments[r]}var t=n.reduce((function(n,r){if(r.set){n.push(l("set",r.set))}if(r.get){n.push(l("get",r.get))}if(r.reset){n.push(l("reset",r.reset))}if(r.dispose){n.push(l("dispose",r.dispose))}return n}),[]);return function(){return t.forEach((function(n){return n()}))}};var g=function(n){var r=e.get(n);u.set.forEach((function(t){return t(n,r,r)}))};return{state:s,get:f,set:a,on:l,onChange:d,use:p,dispose:o,reset:i,forceUpdate:g}};var v=function(n,r){var t=n.indexOf(r);if(t>=0){n[t]=n[n.length-1];n.length--}};var s=function(n,r){var t=a(n,r);t.use(f());return t};var l=s({projectId:null,currentLanguage:null,localizedConfig:null,environment:"prod",search:true,login:true,meta:true,stickyness:"minimal"}),d=l.state,p=l.reset,g=l.dispose;n({s:d,d:g})}}}));
|
|
2
|
+
//# sourceMappingURL=p-ef26af95.system.js.map
|