@swisspost/internet-header 1.12.0 → 1.12.1
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.cjs.js +0 -36
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +56 -6
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +99 -8
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +18 -4
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +233 -9
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +19 -4
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +590 -11
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +45 -6
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +3609 -11
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +154 -6
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +824 -10
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/collection/collection-manifest.json +4 -4
- package/dist/collection/index.js +1 -11
- package/dist/collection/index.js.map +1 -1
- package/dist/components/index.js +0 -10
- package/dist/components/index.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +1 -1
- package/dist/components/swisspost-internet-footer.js +1 -1
- package/dist/components/swisspost-internet-header.js +10 -7
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/docs.json +11 -11
- package/dist/esm/index.js +1 -21
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +59 -5
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +102 -7
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +21 -3
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +236 -8
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +22 -3
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +593 -10
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +48 -5
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +3612 -10
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +157 -5
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +827 -9
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +6 -1
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/swisspost-internet-header/index.esm.js +1 -1
- package/dist/swisspost-internet-header/{p-05eea2be.js → p-04b1cab7.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-c8d9cc8c.js → p-069dbe32.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-61528220.js → p-21d8e5bc.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-aab6679b.js → p-2e334cfc.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-c7945779.system.js → p-50da051d.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-c7945779.system.js.map → p-50da051d.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-50ea2036.system.js +2 -0
- package/dist/swisspost-internet-header/p-5adcdd91.system.js +1 -1
- package/dist/swisspost-internet-header/{p-96618f42.system.js → p-5ec6e2de.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-96618f42.system.js.map → p-5ec6e2de.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-78e8a405.js → p-61074cb4.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-2fb1a3ce.system.js → p-62ae68ad.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-2fb1a3ce.system.js.map → p-62ae68ad.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-fc2417e7.system.js → p-64b3fabe.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-fc2417e7.system.js.map → p-64b3fabe.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-65cd41a6.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-771114f0.system.js.map → p-65cd41a6.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-f2f69ff4.system.js → p-6b18b251.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-f2f69ff4.system.js.map → p-6b18b251.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-e187ba33.js → p-76e3cd9c.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-ee5e0cc6.system.js → p-9acc06ba.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-ee5e0cc6.system.js.map → p-9acc06ba.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-7a94a2d7.system.js → p-9d827167.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-7a94a2d7.system.js.map → p-9d827167.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-56764f7d.system.js → p-a097e677.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-56764f7d.system.js.map → p-a097e677.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-b3ad4f8a.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-f5876cc8.js.map → p-b3ad4f8a.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-70df9137.js → p-b8368eca.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-c201f1b3.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-18e9ce89.system.js.map → p-c201f1b3.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-dee824b8.js → p-d2fd2ff6.entry.js} +2 -2
- package/dist/swisspost-internet-header/{p-0096509c.js → p-f5a1e4a6.entry.js} +2 -2
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/types/index.d.ts +0 -10
- package/package.json +8 -6
- package/dist/cjs/post-internet-breadcrumbs-09754c05.js +0 -3616
- package/dist/cjs/post-internet-breadcrumbs-09754c05.js.map +0 -1
- package/dist/cjs/post-internet-footer-b51276d8.js +0 -161
- package/dist/cjs/post-internet-footer-b51276d8.js.map +0 -1
- package/dist/cjs/post-internet-header-5962d752.js +0 -828
- package/dist/cjs/post-internet-header-5962d752.js.map +0 -1
- package/dist/cjs/post-klp-login-widget-d03de512.js +0 -63
- package/dist/cjs/post-klp-login-widget-d03de512.js.map +0 -1
- package/dist/cjs/post-language-switch-9cd31034.js +0 -106
- package/dist/cjs/post-language-switch-9cd31034.js.map +0 -1
- package/dist/cjs/post-logo-5867ad55.js +0 -25
- package/dist/cjs/post-logo-5867ad55.js.map +0 -1
- package/dist/cjs/post-main-navigation-ab81aac6.js +0 -240
- package/dist/cjs/post-main-navigation-ab81aac6.js.map +0 -1
- package/dist/cjs/post-meta-navigation-0b73779f.js +0 -26
- package/dist/cjs/post-meta-navigation-0b73779f.js.map +0 -1
- package/dist/cjs/post-search-2232c291.js +0 -597
- package/dist/cjs/post-search-2232c291.js.map +0 -1
- package/dist/cjs/post-skiplinks-3db1d214.js +0 -52
- package/dist/cjs/post-skiplinks-3db1d214.js.map +0 -1
- package/dist/esm/post-internet-breadcrumbs-474f625e.js +0 -3614
- package/dist/esm/post-internet-breadcrumbs-474f625e.js.map +0 -1
- package/dist/esm/post-internet-footer-273b0d8d.js +0 -159
- package/dist/esm/post-internet-footer-273b0d8d.js.map +0 -1
- package/dist/esm/post-internet-header-a825bfd6.js +0 -826
- package/dist/esm/post-internet-header-a825bfd6.js.map +0 -1
- package/dist/esm/post-klp-login-widget-b1306336.js +0 -61
- package/dist/esm/post-klp-login-widget-b1306336.js.map +0 -1
- package/dist/esm/post-language-switch-fd570b9d.js +0 -104
- package/dist/esm/post-language-switch-fd570b9d.js.map +0 -1
- package/dist/esm/post-logo-cde3c44d.js +0 -23
- package/dist/esm/post-logo-cde3c44d.js.map +0 -1
- package/dist/esm/post-main-navigation-12eaef9f.js +0 -238
- package/dist/esm/post-main-navigation-12eaef9f.js.map +0 -1
- package/dist/esm/post-meta-navigation-09e9bdc8.js +0 -24
- package/dist/esm/post-meta-navigation-09e9bdc8.js.map +0 -1
- package/dist/esm/post-search-5c3a10ac.js +0 -595
- package/dist/esm/post-search-5c3a10ac.js.map +0 -1
- package/dist/esm/post-skiplinks-b3c32a77.js +0 -50
- package/dist/esm/post-skiplinks-b3c32a77.js.map +0 -1
- package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js +0 -7
- package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js.map +0 -1
- package/dist/esm-es5/post-internet-footer-273b0d8d.js +0 -2
- package/dist/esm-es5/post-internet-footer-273b0d8d.js.map +0 -1
- package/dist/esm-es5/post-internet-header-a825bfd6.js +0 -2
- package/dist/esm-es5/post-internet-header-a825bfd6.js.map +0 -1
- package/dist/esm-es5/post-klp-login-widget-b1306336.js +0 -2
- package/dist/esm-es5/post-klp-login-widget-b1306336.js.map +0 -1
- package/dist/esm-es5/post-language-switch-fd570b9d.js +0 -2
- package/dist/esm-es5/post-language-switch-fd570b9d.js.map +0 -1
- package/dist/esm-es5/post-logo-cde3c44d.js +0 -2
- package/dist/esm-es5/post-logo-cde3c44d.js.map +0 -1
- package/dist/esm-es5/post-main-navigation-12eaef9f.js +0 -2
- package/dist/esm-es5/post-main-navigation-12eaef9f.js.map +0 -1
- package/dist/esm-es5/post-meta-navigation-09e9bdc8.js +0 -2
- package/dist/esm-es5/post-meta-navigation-09e9bdc8.js.map +0 -1
- package/dist/esm-es5/post-search-5c3a10ac.js +0 -2
- package/dist/esm-es5/post-search-5c3a10ac.js.map +0 -1
- package/dist/esm-es5/post-skiplinks-b3c32a77.js +0 -2
- package/dist/esm-es5/post-skiplinks-b3c32a77.js.map +0 -1
- package/dist/swisspost-internet-header/p-0d61ca4e.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-18e9ce89.system.js +0 -2
- package/dist/swisspost-internet-header/p-1a9fcba5.entry.js +0 -2
- package/dist/swisspost-internet-header/p-1a9fcba5.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-237a408c.entry.js +0 -2
- package/dist/swisspost-internet-header/p-237a408c.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-2eb179a7.entry.js +0 -2
- package/dist/swisspost-internet-header/p-2eb179a7.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-3672587a.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3672587a.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-39785e3d.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-39785e3d.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4248f499.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-4248f499.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-6145b5f1.system.js +0 -2
- package/dist/swisspost-internet-header/p-6145b5f1.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-65ce36ba.entry.js +0 -2
- package/dist/swisspost-internet-header/p-65ce36ba.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-771114f0.system.js +0 -2
- package/dist/swisspost-internet-header/p-7e78b029.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-7e78b029.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-a58fc500.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a58fc500.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-aeaa2c26.entry.js +0 -2
- package/dist/swisspost-internet-header/p-aeaa2c26.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-c99a43b0.entry.js +0 -2
- package/dist/swisspost-internet-header/p-c99a43b0.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-d9f67b45.entry.js +0 -2
- package/dist/swisspost-internet-header/p-d9f67b45.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-de27fab4.entry.js +0 -2
- package/dist/swisspost-internet-header/p-de27fab4.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-f25c234f.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f25c234f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-f5876cc8.js +0 -2
- package/dist/swisspost-internet-header/p-fef30370.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-fef30370.system.entry.js.map +0 -1
- /package/dist/swisspost-internet-header/{p-05eea2be.js.map → p-04b1cab7.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-c8d9cc8c.js.map → p-069dbe32.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-61528220.js.map → p-21d8e5bc.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-aab6679b.js.map → p-2e334cfc.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0d61ca4e.system.entry.js.map → p-50ea2036.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-78e8a405.js.map → p-61074cb4.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-e187ba33.js.map → p-76e3cd9c.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-70df9137.js.map → p-b8368eca.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-dee824b8.js.map → p-d2fd2ff6.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0096509c.js.map → p-f5a1e4a6.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"swisspost-internet-header.entry.js","mappings":";;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
1
|
+
{"file":"swisspost-internet-header.entry.js","mappings":"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","names":[],"sources":["src/services/route.service.ts","src/services/config.service.ts","src/utils/scrollparent.ts","src/components/post-internet-header/logo-animation/logo-animation.ts","src/components/post-internet-header/post-internet-header.scss?tag=swisspost-internet-header&encapsulation=shadow","src/components/post-internet-header/post-internet-header.tsx"],"sourcesContent":["import { ActiveRouteProp } from '../models/general.model';\nimport { NavMainEntity, MainNavScoreList } from '../models/header.model';\n\n/**\n * Activate the current route based on the config and the match mode\n * @param config Main Navigation Config\n * @param activeRouteProp Match mode\n * @returns Modified Main Navigation Config\n */\nexport const markActiveRoute = (\n config: NavMainEntity[],\n activeRouteProp: ActiveRouteProp,\n): NavMainEntity[] => {\n // Don't highlight any route\n if (activeRouteProp === false) {\n return config;\n }\n\n // Set compare URL and check if activeRouteProp is valid\n let compareUrl: URL;\n config = resetOverrideConfig(config);\n\n if (activeRouteProp === 'auto' || activeRouteProp === 'exact') {\n // Check if an active route is already configured, set override to that and return\n if (hasActivePortalRoute(config)) {\n return resetActiveStateToPortalConfig(config);\n }\n\n compareUrl = new URL(window.location.href);\n } else {\n try {\n compareUrl = new URL(activeRouteProp, document.location.origin);\n } catch (error) {\n console.warn(\n `Active Route: ${activeRouteProp} is not a valid URL. Navigation highlighting has been disabled.`,\n );\n return config;\n }\n }\n\n const scoreList = compileScoreList(config, compareUrl, activeRouteProp);\n\n if (scoreList.length === 0) {\n // No match found or already active links defined\n return config;\n }\n\n const winnerPair = scoreList[0];\n winnerPair.main.isActiveOverride = true;\n if (winnerPair.sub) winnerPair.sub.isActiveOverride = true;\n\n return config;\n};\n\n/**\n * Check if the portal config set any active route\n * @param config Main navigation config\n * @returns True if portal set any route as active\n */\nexport const hasActivePortalRoute = (config: NavMainEntity[]): boolean => {\n return config.filter(nav => nav.isActive).length > 0;\n};\n\nexport const resetActiveStateToPortalConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: nav.isActive,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: link.isActive })),\n })),\n }));\n};\n\nconst resetOverrideConfig = (config: NavMainEntity[]): NavMainEntity[] => {\n return config.map(nav => ({\n ...nav,\n isActiveOverride: false,\n flyout: nav.flyout.map(flyout => ({\n ...flyout,\n linkList: flyout.linkList.map(link => ({ ...link, isActiveOverride: false })),\n })),\n }));\n};\n\n/**\n * Compile a list of scores based on the map mode, sorted in descending order\n * @param config Main Nav Config\n * @param compareUrl Current Browser URL or a custom URL\n * @param activeRouteProp Match mode\n * @returns A list of scored URLs if any matched\n */\nexport const compileScoreList = (\n config: NavMainEntity[],\n compareUrl: URL,\n activeRouteProp: ActiveRouteProp,\n): MainNavScoreList => {\n // Flag to check if the Portal set any active links or if there are any exact matches\n let hadAnyActiveLink = false;\n const scoreList: MainNavScoreList = [];\n\n config\n .filter(mainNav => !hadAnyActiveLink && mainNav)\n .forEach(mainNav => {\n try {\n const score = compareRoutes(\n compareUrl,\n new URL(mainNav.url),\n activeRouteProp as 'auto' | 'exact',\n );\n\n hadAnyActiveLink = updateScoreList(\n scoreList,\n score,\n { main: mainNav, score },\n hadAnyActiveLink,\n );\n } catch {\n // Not a valid url, continue\n }\n\n // Loop through flyout links 2nd level\n mainNav.flyout.forEach(flyout => {\n flyout.linkList?.forEach(linklist => {\n // Don't override if any link is already active\n if (linklist.isActive && (activeRouteProp === 'auto' || activeRouteProp === 'exact')) {\n hadAnyActiveLink = true;\n return;\n }\n\n try {\n const url = new URL(linklist.url);\n const score = compareRoutes(compareUrl, url, activeRouteProp as 'auto' | 'exact');\n\n hadAnyActiveLink = updateScoreList(\n scoreList,\n score,\n { main: mainNav, sub: linklist, score },\n hadAnyActiveLink,\n );\n } catch {\n // Not a valid URL, continue\n }\n });\n });\n });\n\n return scoreList.sort((a, b) => b.score - a.score);\n};\n\n/**\n * Update score list\n */\nfunction updateScoreList(\n scoreList: MainNavScoreList,\n score: number,\n scoreListItem: any,\n hadAnyActiveLink: boolean,\n) {\n let hadActiveLink = hadAnyActiveLink;\n\n if (score > 0) {\n if (score === Infinity) hadActiveLink = true;\n // Push score\n scoreList.push(scoreListItem);\n }\n\n return hadActiveLink;\n}\n\n/**\n * Compare two URLs for similarity based on a match mode\n * @param baseUrl Browser URL\n * @param compareUrl Navigatgion URL\n * @param matchMode exact or auto matching\n * @returns Score\n */\nexport const compareRoutes = (\n baseUrl: URL,\n compareUrl: URL,\n matchMode?: 'auto' | 'exact',\n): number => {\n // One url is not defined or they don't share the same orign\n if (baseUrl === null || compareUrl === null || baseUrl.origin !== compareUrl.origin) {\n return 0;\n }\n\n const baseUrlPath = baseUrl.pathname.toLocaleLowerCase();\n const compareUrlPath = compareUrl.pathname.toLocaleLowerCase();\n\n // Exact match, origin and pathname are the same\n if (baseUrlPath === compareUrlPath) {\n return Infinity;\n }\n\n // The basepath is longer than the comparison, a match is impossible\n if (baseUrl.pathname.length < compareUrl.pathname.length) {\n return 0;\n }\n\n if (matchMode === 'auto') {\n const baseSegments = [\n baseUrl.origin.toLocaleLowerCase(),\n ...baseUrlPath.split('/').filter(x => x !== null && x !== ''),\n ];\n const compareSegments = [\n compareUrl.origin.toLocaleLowerCase(),\n ...compareUrlPath.split('/').filter(x => x !== null && x !== ''),\n ];\n\n const score = getSimilarityScore(baseSegments, compareSegments);\n\n // If only some segments match, but not the whole smaller array, it's not a match\n return Math.min(baseSegments.length, compareSegments.length) === score ? score : 0;\n }\n\n return 0;\n};\n\n/**\n * Check how many items in an array match\n * @param a Base array\n * @param b Compare array\n * @returns Score\n */\nexport const getSimilarityScore = (a: string[], b: string[]): number => {\n if (a == null || b == null || a.length === 0 || b.length === 0) {\n return 0;\n }\n\n let i = 0;\n for (; i < Math.min(a.length, b.length); i++) {\n if (a[i] !== b[i]) {\n return 0;\n }\n }\n\n return i;\n};\n","import {\n Environment,\n IPortalConfig,\n ILocalizedConfig,\n ICustomConfig,\n ILocalizedCustomConfig,\n LocalizedConfigParameters,\n} from '../models/general.model';\nimport { NavMainEntity } from '../models/header.model';\nimport { getUserLang, persistLanguageChoice } from './language.service';\nimport { uniqueId } from '../utils/utils';\nimport { markActiveRoute } from './route.service';\n\n// Prevent double requests\nlet request: Promise<IPortalConfig> | null = null;\n\n// Cache the original os flyout to use it for updates\nlet osFlyoutCache: NavMainEntity | null = null;\n\nconst getPPMConfig = (): ILocalizedConfig | null => {\n const ppmConfigScript = document.querySelector('#PPM_HEADER_DATA');\n\n if (ppmConfigScript?.textContent != null) {\n return JSON.parse(ppmConfigScript.textContent);\n }\n\n return null;\n};\n\n/**\n * Get a localized config object\n *\n * @param projectId String identifying the project\n * @param language [optional] Preferred language\n * @returns Localized config object\n */\nexport const getLocalizedConfig = async ({\n projectId,\n environment,\n language,\n cookieKey,\n localStorageKey,\n activeRouteProp,\n localizedCustomConfig,\n osFlyoutOverrides,\n}: LocalizedConfigParameters): Promise<ILocalizedConfig> => {\n const ppmConfig = getPPMConfig();\n let localizedConfig: ILocalizedConfig;\n let config: IPortalConfig | null = null;\n let lang: string | undefined;\n\n if (ppmConfig) {\n localizedConfig = ppmConfig;\n lang = document.documentElement.lang;\n } else {\n if (request == null) {\n request = fetchConfig(projectId, environment);\n }\n\n config = await request;\n lang = getUserLang(Object.keys(config), language, localStorageKey, cookieKey);\n\n if (lang === undefined) {\n throw new Error('Internet Header: unable to determine current language');\n }\n\n // Clone config for more predictable state updates\n localizedConfig = { ...config[lang] };\n }\n\n // Merge custom config with portal config\n if (localizedCustomConfig) {\n const header = localizedCustomConfig?.header?.navMain\n ? {\n ...localizedConfig.header,\n navMain: [...localizedConfig.header.navMain, ...localizedCustomConfig.header.navMain],\n }\n : localizedConfig.header;\n localizedConfig = {\n ...localizedConfig,\n header,\n };\n }\n\n // Add entries to flyout_os\n if (osFlyoutOverrides)\n localizedConfig.header.navMain = mergeOsFlyoutOverrides(localizedConfig, osFlyoutOverrides);\n\n // Mark active route\n if (activeRouteProp != null)\n localizedConfig.header.navMain = markActiveRoute(\n localizedConfig.header.navMain,\n activeRouteProp,\n );\n\n setMainNavigationIds(localizedConfig?.header?.navMain);\n\n // Set the new language choice\n persistLanguageChoice(lang, cookieKey, localStorageKey);\n\n return localizedConfig;\n};\n\n/**\n * Merge portal config with custom os flyout overrides\n * @param config Localized config\n * @param osFlyoutOverrides Overrides for the flyout\n * @returns Merged localized config\n */\nexport const mergeOsFlyoutOverrides = (\n config: ILocalizedConfig,\n osFlyoutOverrides: NavMainEntity,\n): NavMainEntity[] => {\n if (osFlyoutOverrides == null) return config.header.navMain;\n\n return config.header.navMain.map(mainNav => {\n if (mainNav.id !== 'flyout_os') return mainNav;\n\n if (osFlyoutCache === null) {\n osFlyoutCache = JSON.parse(JSON.stringify(mainNav)) as NavMainEntity;\n }\n\n const mainNavText = osFlyoutOverrides.text ?? osFlyoutCache.text;\n const mainNavTitle = osFlyoutOverrides.title ?? osFlyoutCache.title;\n\n if (\n osFlyoutCache.flyout == null ||\n osFlyoutCache.flyout.length === 0 ||\n osFlyoutOverrides.flyout == null ||\n osFlyoutOverrides.flyout.length === 0\n )\n return {\n ...mainNav,\n title: mainNavTitle,\n text: mainNavText,\n };\n\n // Add entries for os flyout columns without overriding existing config\n const mainNavFlyout = [\n ...osFlyoutCache.flyout.map((col, index) => {\n const overrides = osFlyoutOverrides.flyout[index];\n const title = overrides.title ?? col.title;\n\n const linkList = overrides.linkList != null ? osFlyoutOverrides.flyout[index].linkList : [];\n\n return {\n title,\n linkList: [...col.linkList, ...linkList],\n };\n }),\n ...osFlyoutOverrides.flyout.slice(osFlyoutCache.flyout.length),\n ];\n\n return {\n ...mainNav,\n text: mainNavText,\n title: mainNavTitle,\n flyout: mainNavFlyout,\n } as NavMainEntity;\n });\n};\n\n/**\n * Fetch the general config based on project id\n *\n * @returns Promise for Post Portal general config\n */\nexport const fetchConfig = async (\n projectId: string,\n environment: Environment,\n): Promise<IPortalConfig> => {\n // Check if project id is sanitized\n if (!isValidProjectId(projectId)) {\n throw new Error(`Internet Header: invalid project id \"${projectId}\"`);\n }\n\n if (projectId === 'test') {\n environment = 'int01';\n }\n\n let url = generateConfigUrl(projectId, environment);\n\n // Get the config if cache is invalid\n try {\n const res = await fetch(url);\n return (await res.json()) as IPortalConfig;\n } catch (error) {\n throw new Error(`Internet Header: fetching config failed. ${error.message}`);\n }\n};\n\n/**\n * Generate an URL with all necessary query params to get the configuration.\n * Project id \"test\" will return a test configuration\n * @param projectId string\n * @param environment int01, int02 or prod\n * @returns URL pointing to the project config\n */\nexport const generateConfigUrl = (projectId: string, environment: Environment): string => {\n if (projectId === 'test') return 'assets/config/test-configuration.json';\n\n const parsedEnvironment = environment.toLowerCase();\n const isProd = parsedEnvironment === 'prod';\n const host = `https://${isProd ? 'www' : 'int'}.post.ch`;\n try {\n // Use URL to validate the generated URL\n return new URL(\n `${host}/api/headerjs/Json?serviceid=${encodeURIComponent(projectId)}${\n !isProd ? '&environment=' + parsedEnvironment : ''\n }`,\n ).toString();\n } catch (error) {\n throw new Error(`Internet Header: Config URL is invalid.`);\n }\n};\n\n/**\n * Check if project id contains only URL safe characters\n *\n * @param projectId Project Id string\n * @returns The valid project id\n */\nexport const isValidProjectId = (projectId: string): boolean => {\n return projectId !== '' && projectId.length > 0 && /^[a-zA-Z][\\w-]*[a-zA-Z0-9]$/.test(projectId);\n};\n\n/**\n * Get the localized config object from a custom config\n *\n * @param config String or json object of the custom config\n * @param language Specific language\n * @returns Localized custom config object\n */\nexport const getLocalizedCustomConfig = (\n config: string | ICustomConfig,\n language: string,\n): ILocalizedCustomConfig | undefined => {\n let customConfig: ICustomConfig;\n try {\n customConfig = typeof config === 'string' ? JSON.parse(config) : config;\n } catch (error) {\n throw new Error(\n `Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `,\n );\n }\n let localizedCustomConfig: ILocalizedCustomConfig | undefined = customConfig[language];\n if (localizedCustomConfig?.header?.navMain)\n setMainNavigationIds(localizedCustomConfig.header.navMain);\n return localizedCustomConfig;\n};\n\n/**\n * Check if mobile header styles are applied or not\n * @returns True if browser is smaller than 1024px\n */\nexport const isMobile = () => window.innerWidth < 1024;\n\n/**\n * Set unique ID's on main navigation entities but conserve flyout_os to be able to\n * identify the online-service flyout, which can be configured by osFlyoutOverrides\n */\nexport const setMainNavigationIds = (navMainEntities: NavMainEntity[]): void => {\n navMainEntities.forEach(navMainEntity => {\n navMainEntity.id = navMainEntity.id === 'flyout_os' ? navMainEntity.id : uniqueId('main-nav-');\n });\n};\n","const isScrollable = (node: Element) => {\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) {\n return false;\n }\n const style = getComputedStyle(node);\n return ['overflow', 'overflow-x', 'overflow-y'].some(propertyName => {\n const value = style.getPropertyValue(propertyName);\n return value === 'auto' || value === 'scroll';\n });\n};\n\nexport const getScrollParent = (node: Element): Element | Document => {\n let currentParent = node.parentElement;\n while (currentParent) {\n if (isScrollable(currentParent)) {\n return currentParent;\n }\n currentParent = currentParent.parentElement;\n }\n return document;\n};\n","import { debounce } from 'throttle-debounce';\nimport { state } from '../../../data/store';\nimport { getScrollParent } from '../../../utils/scrollparent';\n\nexport const registerLogoAnimationObserver = (\n target: HTMLElement,\n headerRef: HTMLSwisspostInternetHeaderElement,\n) => {\n const scrollParent = getScrollParent(headerRef);\n\n /**\n * Set intersection ratio as CSS custom property\n */\n const handleScroll = () => {\n const fullStickyness = state.stickyness === 'full';\n let scale = 1;\n // Minus 1px border at the bottom that the logo is not covering\n const adjustedHeaderHeight = headerRef.clientHeight - 1;\n const scrollDistance = scrollParent instanceof Element ? scrollParent.scrollTop : scrollParent.documentElement.scrollTop;\n const scrollY = fullStickyness ? 0 : scrollDistance;\n\n // If meta navigation is not visible (mobile, not configured), scale should just be 1\n if (target.clientHeight > 0) {\n scale = Math.max(\n (adjustedHeaderHeight - Math.max(scrollY, 0)) /\n (adjustedHeaderHeight - target.clientHeight),\n 1,\n );\n }\n headerRef.style.setProperty('--logo-scale', scale.toString());\n };\n\n const debounced = debounce(150, handleScroll);\n\n /**\n * Observe the meta navigation in order to not track scroll events throughout the whole page.\n * This ensures that the scroll listener is only active while the meta navigation is visible.\n */\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting && entry.intersectionRatio > 0) {\n scrollParent.addEventListener('scroll', handleScroll, { passive: true });\n window.addEventListener('resize', debounced);\n\n // Ensure callback is called at least once in case main thread is too busy while scrolling up\n window.requestAnimationFrame(handleScroll);\n } else {\n scrollParent.removeEventListener('scroll', handleScroll);\n window.removeEventListener('resize', debounced);\n window.requestAnimationFrame(handleScroll);\n }\n });\n },\n {\n // Fires when element leaves viewport (0) and when it just about enters it (0.001)\n threshold: [0, 0.001],\n },\n );\n observer.observe(target);\n\n return handleScroll;\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n@use './logo-animation/logo-animation.scss';\n\n:host {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 300;\n z-index: var(--header-z-index, 10);\n\n --header-height: 3.5rem; // 56px\n --meta-header-height: 0px; // Not visible on mobile\n --language-dropdown-margin-top: 0px;\n\n @include mixins.min(lg) {\n --meta-header-height: 3rem; // 48px\n --header-height: 4rem; // 64px\n }\n\n @include mixins.min(xl) {\n --header-height: 4.5rem; // 72px\n }\n}\n\n// Set height to 0 if meta is never visible\n:host([meta='false']) {\n --meta-header-height: 0px;\n // Compensation for header border-bottom, when language dropdown is displayed within main navigation controls\n --language-dropdown-margin-top: 1px;\n}\n\n// Support different kinds of stickyness modes\n// Works only in combination with setting header heights dynamically\n@supports (position: sticky) {\n // If stickyness is none, simply apply no styles, all others are sticky\n :host(:not(.stickyness-none)) {\n position: sticky;\n }\n\n // Everything is always sticky\n :host(.stickyness-full) {\n top: 0;\n }\n\n // Only main nav is sticky\n :host(.stickyness-main) {\n top: calc(var(--meta-header-height, 0px) * -1);\n }\n\n // Hide everything\n :host(.stickyness-minimal) {\n top: calc((var(--header-height, 0px) + var(--meta-header-height, 0px) + 1px) * -1);\n transition: top 200ms ease-in;\n }\n\n // Show main when scrolling up or any of the menus are open\n :host(.stickyness-minimal.scrolling-up),\n :host(.stickyness-minimal.dropdown-open) {\n top: calc(var(--meta-header-height, 0px) * -1);\n transition: top 200ms ease-out;\n }\n}\n\n.post-internet-header {\n border-bottom: 1px solid color.$gray-10;\n background-color: white;\n}\n\n.main-navigation-container {\n display: flex;\n\n & > .main-navigation-controls {\n flex: 0 0 auto;\n }\n}\n\n.main-navigation {\n display: flex;\n}\n\n.sub-navigation-container {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n display: flex;\n background: white;\n visibility: hidden;\n}\n\n.main-navigation-item:hover .sub-navigation-container {\n visibility: visible;\n}\n\n.main-navigation-controls {\n display: flex;\n margin-left: auto;\n\n @include mixins.max(lg) {\n font-weight: 400;\n }\n\n @include mixins.min(lg) {\n font-size: 1.0625rem;\n }\n\n & > * {\n border-left: 1px solid color.$gray-10;\n }\n}\n\n.menu-button {\n display: flex;\n align-items: center;\n padding: 0 calc(1rem - 1px);\n font-weight: 300;\n cursor: pointer;\n border-left: 1px solid color.$gray-10;\n order: 1; /* Display on the far right because of tab order */\n\n @include mixins.min(lg) {\n display: none;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n margin-right: 0.5rem;\n }\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.full-width {\n .wide-container {\n max-width: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { dispose, state } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { getUserLang, translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\nimport { registerLogoAnimationObserver } from './logo-animation/logo-animation';\nimport { getScrollParent } from '../../utils/scrollparent';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: 'de' | 'fr' | 'it' | 'en';\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages, and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLSwisspostInternetHeaderElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private metaNav?: HTMLPostMetaNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n private updateLogoAnimation: () => void;\n private scrollParent: Element | Document;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n }\n\n disconnectedCallback() {\n this.scrollParent.removeEventListener('scroll', this.throttledScroll);\n this.scrollParent.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n this.scrollParent = getScrollParent(this.host);\n this.scrollParent.addEventListener('scroll', this.throttledScroll, { passive: true });\n this.scrollParent.addEventListener('resize', this.debouncedResize, { passive: true });\n\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.stickyness = this.stickyness;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined) {\n const langs = Object.keys(\n typeof this.customConfig === 'string' ? JSON.parse(this.customConfig) : this.customConfig,\n );\n const lang = state.currentLanguage || getUserLang(langs, this.language);\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, lang);\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n if (this.meta && this.metaNav) {\n this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);\n }\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChange(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n void this.handleLanguageChange(event.detail);\n }\n\n @Watch('stickyness')\n handleStickynessChange(newValue: StickynessOptions) {\n state.stickyness = newValue;\n if (typeof this.updateLogoAnimation === 'function') this.updateLogoAnimation();\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st =\n this.scrollParent instanceof Document\n ? this.scrollParent.documentElement.scrollTop\n : this.scrollParent.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open) {\n if (this.activeDropdownElement) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outside of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n void this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n void this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n Boolean(this.activeDropdownElement) || Boolean(this.activeFlyout) ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n ref={el => (this.metaNav = el)}\n >\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget logout-url={this.logoutUrl}>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={!renderMetaNavigation && renderLanguageSwitch}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"],"version":3}
|
package/dist/esm-es5/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{P as post_klp_login_widget}from"./post-klp-login-widget-b1306336.js";import"./index-2b83f5e9.js";import"./store-80b19c12.js";import"./svg-sprite.component-29439a18.js";import"./svg-icon.component-7295f7cc.js";
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,i,e,o){function n(t){return t instanceof e?t:new e((function(i){i(t)}))}return new(e||(e=Promise))((function(e,r){function g(t){try{l(o.next(t))}catch(t){r(t)}}function a(t){try{l(o["throw"](t))}catch(t){r(t)}}function l(t){t.done?e(t.value):n(t.value).then(g,a)}l((o=o.apply(t,i||[])).next())}))};var __generator=this&&this.__generator||function(t,i){var e={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,n,r,g;return g={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(g[Symbol.iterator]=function(){return this}),g;function a(t){return function(i){return l([t,i])}}function l(a){if(o)throw new TypeError("Generator is already executing.");while(g&&(g=0,a[0]&&(e=0)),e)try{if(o=1,n&&(r=a[0]&2?n["return"]:a[0]?n["throw"]||((r=n["return"])&&r.call(n),0):n.next)&&!(r=r.call(n,a[1])).done)return r;if(n=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:e.label++;return{value:a[1],done:false};case 5:e.label++;n=a[1];a=[0];continue;case 7:a=e.ops.pop();e.trys.pop();continue;default:if(!(r=e.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){e=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){e.label=a[1];break}if(a[0]===6&&e.label<r[1]){e.label=r[1];r=a;break}if(r&&e.label<r[2]){e.label=r[2];e.ops.push(a);break}if(r[2])e.ops.pop();e.trys.pop();continue}a=i.call(t,e)}catch(t){a=[6,t];n=0}finally{o=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{r as registerInstance,h,H as Host,g as getElement}from"./index-2b83f5e9.js";import{s as state}from"./store-80b19c12.js";import{S as SvgSprite}from"./svg-sprite.component-29439a18.js";import{S as SvgIcon}from"./svg-icon.component-7295f7cc.js";var postKlpLoginWidgetCss='.btn-default,.btn-secondary{border:2px solid var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary{border-color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-default,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .pretend-hover.btn-secondary{border-color:var(--post-gray-40)}.btn-default:disabled,.btn-secondary:disabled{border-color:var(--post-gray-40);color:var(--post-gray-60)}.btn-default:focus,.btn-secondary:focus,.btn-link:focus,.btn-tertiary:focus,.btn-default:not(:disabled):hover,.btn-secondary:not(:disabled):hover,.btn-link:not(:disabled):hover,.btn-tertiary:not(:disabled):hover,.pretend-hover.btn-default,.pretend-hover.btn-secondary,.pretend-hover.btn-link,.pretend-hover.btn-tertiary{color:var(--post-contrast-color)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-default .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-secondary .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-link .pi,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-tertiary .pi{-webkit-filter:invert(1);filter:invert(1)}.btn{min-height:3rem;font-size:1rem;gap:.625rem;outline:none;outline-offset:2px;display:-ms-inline-flexbox;display:inline-flex;position:relative;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;max-width:100%;overflow:hidden;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;border-width:2px;border-style:solid;border-radius:4px;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;color:var(--post-gray-80);font-family:inherit;font-weight:400;text-decoration:none !important;white-space:nowrap}.btn:where(:not(.btn-link,.btn-tertiary)){padding:0 1rem}.btn>.pi,.btn>post-icon{width:1.25rem;height:1.25rem}.btn:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.btn-primary{border-color:rgba(0,0,0,0);background-color:var(--post-gray-80);color:var(--post-contrast-color-inverted)}.btn-primary:focus,.btn-primary:not(:disabled):hover,.btn-primary.pretend-hover{background-color:var(--post-contrast-color);color:var(--post-contrast-color-inverted)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary{background-color:var(--post-contrast-color);color:var(--post-gray-10)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:focus,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:not(:disabled):hover,:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary.pretend-hover{background-color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary:disabled{color:var(--post-gray-80)}:is(.bg-dark,.bg-primary,.bg-black,.bg-danger,.bg-nightblue,.bg-nightblue-bright,.bg-petrol,.bg-coral,.bg-olive,.bg-purple,.bg-purple-bright,.bg-aubergine,.bg-aubergine-bright) .btn-primary .pi{-webkit-filter:invert(0);filter:invert(0)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-primary{border-color:var(--post-contrast-color);background-color:ButtonFace}.btn-primary:not(:disabled,.disabled):hover,.btn-primary:not(:disabled,.disabled):focus-visible{border-color:highlight}.btn-primary .pi{-webkit-filter:invert(1) !important;filter:invert(1) !important}}.btn-primary:disabled{background-color:var(--post-gray-40)}.btn-primary .pi{-webkit-filter:invert(1);filter:invert(1);forced-color-adjust:none}.btn-link,.btn-tertiary{border:0;padding-inline:.25rem}.btn-link:disabled,.btn-tertiary:disabled{color:var(--post-gray-60)}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.btn-link,.btn-tertiary{color:linktext;text-decoration:underline !important}}.btn-icon{min-width:3rem;padding-right:.75rem;padding-left:.75rem}.btn-icon.btn-sm{min-width:2rem;padding-right:.375rem;padding-left:.375rem}.btn-icon.btn-rg{min-width:2.5rem;padding-right:.5625rem;padding-left:.5625rem}.btn-icon.btn-lg{min-width:3.5rem;padding-right:.9375rem;padding-left:.9375rem}.btn-animated:not(.btn-link,.btn-tertiary)::after{content:"";position:absolute;right:.5rem;width:.625em;height:.625em;-webkit-transform:rotateZ(315deg) translate(-2px, -2px);transform:rotateZ(315deg) translate(-2px, -2px);-webkit-transform-origin:center center;transform-origin:center center;-webkit-transition:opacity 250ms,-webkit-transform 250ms;transition:opacity 250ms,-webkit-transform 250ms;transition:opacity 250ms,transform 250ms;transition:opacity 250ms,transform 250ms,-webkit-transform 250ms;border-right:2px solid currentColor;border-bottom:2px solid currentColor;opacity:0}.btn-animated:not(.btn-link,.btn-tertiary).btn-sm::after{right:.25rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-rg::after{right:.375rem}.btn-animated:not(.btn-link,.btn-tertiary).btn-lg::after{right:.625rem}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}@media (prefers-reduced-motion: no-preference){.btn-animated:not(.btn-link,.btn-tertiary):focus>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-sm>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-sm>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-rg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-rg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover.btn-lg>span,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover.btn-lg>span{-webkit-transform:translateX(-0.5rem);transform:translateX(-0.5rem)}.btn-animated:not(.btn-link,.btn-tertiary):focus::after,.btn-animated:not(.btn-link,.btn-tertiary):not(:disabled):hover::after,.btn-animated:not(.btn-link,.btn-tertiary).pretend-hover::after{-webkit-transform:rotateZ(315deg) translate(0, 0);transform:rotateZ(315deg) translate(0, 0);opacity:1}.btn-animated:not(.btn-link,.btn-tertiary)>span{-webkit-transform:translateX(0);transform:translateX(0)}}.btn-sm{min-height:2rem;font-size:.75rem;gap:.375rem}.btn-sm:where(:not(.btn-link,.btn-tertiary)){padding:0 .75rem}.btn-sm>.pi,.btn-sm>post-icon{width:1rem;height:1rem}.btn-rg{min-height:2.5rem;font-size:.875rem;gap:.5rem}.btn-rg:where(:not(.btn-link,.btn-tertiary)){padding:0 .875rem}.btn-rg>.pi,.btn-rg>post-icon{width:1.125rem;height:1.125rem}.btn-lg{min-height:3.5rem;font-size:1.125rem;gap:.75rem}.btn-lg:where(:not(.btn-link,.btn-tertiary)){padding:0 1.125rem}.btn-lg>.pi,.btn-lg>post-icon{width:1.375rem;height:1.375rem}.btn-nightblue{border-color:rgba(0,0,0,0);background-color:#004976;color:#fff}.btn-nightblue:focus,.btn-nightblue:not(:disabled):hover,.btn-nightblue.pretend-hover{background-color:#002943;color:#fff}.btn-nightblue-bright{border-color:rgba(0,0,0,0);background-color:#0076a8;color:#fff}.btn-nightblue-bright:focus,.btn-nightblue-bright:not(:disabled):hover,.btn-nightblue-bright.pretend-hover{background-color:#005275;color:#fff}.btn-petrol{border-color:rgba(0,0,0,0);background-color:#006d68;color:#fff}.btn-petrol:focus,.btn-petrol:not(:disabled):hover,.btn-petrol.pretend-hover{background-color:#003a37;color:#fff}.btn-petrol-bright{border-color:rgba(0,0,0,0);background-color:#00968f;color:#000}.btn-petrol-bright:focus,.btn-petrol-bright:not(:disabled):hover,.btn-petrol-bright.pretend-hover{background-color:#00635e;color:#fff}.btn-coral{border-color:rgba(0,0,0,0);background-color:#9e2a2f;color:#fff}.btn-coral:focus,.btn-coral:not(:disabled):hover,.btn-coral.pretend-hover{background-color:#761f23;color:#fff}.btn-coral-bright{border-color:rgba(0,0,0,0);background-color:#e03c31;color:#000}.btn-coral-bright:focus,.btn-coral-bright:not(:disabled):hover,.btn-coral-bright.pretend-hover{background-color:#c1271d;color:#fff}.btn-olive{border-color:rgba(0,0,0,0);background-color:#716135;color:#fff}.btn-olive:focus,.btn-olive:not(:disabled):hover,.btn-olive.pretend-hover{background-color:#4e4325;color:#fff}.btn-olive-bright{border-color:rgba(0,0,0,0);background-color:#aa9d2e;color:#000}.btn-olive-bright:focus,.btn-olive-bright:not(:disabled):hover,.btn-olive-bright.pretend-hover{background-color:#827823;color:#000}.btn-purple{border-color:rgba(0,0,0,0);background-color:#80276c;color:#fff}.btn-purple:focus,.btn-purple:not(:disabled):hover,.btn-purple.pretend-hover{background-color:#591b4b;color:#fff}.btn-purple-bright{border-color:rgba(0,0,0,0);background-color:#c5299b;color:#fff}.btn-purple-bright:focus,.btn-purple-bright:not(:disabled):hover,.btn-purple-bright.pretend-hover{background-color:#9b207a;color:#fff}.btn-aubergine{border-color:rgba(0,0,0,0);background-color:#523178;color:#fff}.btn-aubergine:focus,.btn-aubergine:not(:disabled):hover,.btn-aubergine.pretend-hover{background-color:#392254;color:#fff}.btn-aubergine-bright{border-color:rgba(0,0,0,0);background-color:#7566a0;color:#fff}.btn-aubergine-bright:focus,.btn-aubergine-bright:not(:disabled):hover,.btn-aubergine-bright.pretend-hover{background-color:#5e5182;color:#fff}.btn-success{border-color:rgba(0,0,0,0);background-color:#2c911c;color:#000}.btn-success:focus,.btn-success:not(:disabled):hover,.btn-success.pretend-hover{background-color:#1f6614;color:#fff}.btn-info{border-color:rgba(0,0,0,0);background-color:#cce4ee;color:#000}.btn-info:focus,.btn-info:not(:disabled):hover,.btn-info.pretend-hover{background-color:#a6d0e1;color:#000}.btn-warning{border-color:rgba(0,0,0,0);background-color:#f49e00;color:#000}.btn-warning:focus,.btn-warning:not(:disabled):hover,.btn-warning.pretend-hover{background-color:#c17d00;color:#000}.btn-danger{border-color:rgba(0,0,0,0);background-color:#a51728;color:#fff}.btn-danger:focus,.btn-danger:not(:disabled):hover,.btn-danger.pretend-hover{background-color:#78111d;color:#fff}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff") format("woff")}.visually-hidden,.klp-widget-anonymous__text{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.login-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.login-button:hover,.nav-link:focus,.login-button:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.login-button:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.login-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.login-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post",system-ui,sans-serif}button{font:inherit;padding:0}a,button{border-radius:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}/*!\n * ------------------------------------------------------------------------------------------------\n * Copyright 2014 by Swiss Post, Information Technology Services\n * ------------------------------------------------------------------------------------------------\n * $Id$\n * ------------------------------------------------------------------------------------------------\n */.klp-widget-support{background-color:#f49e00 !important}.klp-widget-authenticated-session-link{display:block;padding:12px 10px;text-decoration:none;outline:none}@media (min-width: 600px)and (max-width: 1279px){.klp-widget-authenticated-session-link{padding:12px 12px}}@media (min-width: 1280px){.klp-widget-authenticated-session-link{padding:16px 16px}}.klp-widget-authenticated-menu li{position:relative;display:-ms-inline-flexbox;display:inline-flex;width:296px;height:40px;margin:0;padding:0;list-style-type:none;background-color:#fff;border-top:none}.notification-link:active{background-color:#fc0 !important}.notification-link:hover,.notification-link:focus{background-color:#f4f3f1}.klp-widget-authenticated-menu li:hover>a{color:#000}.klp-widget-authenticated-session-name{position:relative;display:table-cell;width:117px;height:55px;overflow:hidden;color:#000;font-weight:normal;font-size:15px;font-style:normal;font-stretch:normal;line-height:1;letter-spacing:normal;white-space:nowrap;text-indent:1em;text-overflow:ellipsis;vertical-align:middle}.klp-widget-authenticated-menu a{color:rgba(0,0,0,.6);font-weight:normal;font-size:17px;font-style:normal;font-stretch:normal;line-height:17px;letter-spacing:normal}.klp-widget-authenticated-menu ul{padding-bottom:8px;padding-left:0;background-color:#fff;-webkit-box-shadow:0 0 3px 0 rgba(0,0,0,.4);box-shadow:0 0 3px 0 rgba(0,0,0,.4)}.klp-widget-authenticated-menu li:nth-child(2){margin:9px 0 0 0}.klp-widget-authenticated-menu li.name-and-surname:active{background-color:#fff}.klp-widget-authenticated-menu li.name-and-surname:hover{background-color:#fff}.klp-widget-anonymous{height:100%;color:rgba(0,0,0,.6)}.klp-widget-anonymous__wrapper{height:100%}.klp-widget-anonymous a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:100%;padding:0 16px;color:rgba(0,0,0,.6);font-weight:300;font-size:1rem;text-decoration:none;background-color:#fff}.klp-widget-anonymous a:hover{color:#000}.notification-number-detail{position:relative;width:25px;height:20px;margin-left:23px;padding:2px 6px;color:#fff;font-size:13px;text-align:center;background-color:#a51728;border-radius:10px}li.name-and-surname{display:-ms-flexbox;display:flex;min-width:296px;height:78px;padding-top:0;vertical-align:middle;border-bottom:1px solid rgba(0,0,0,.2)}.initials-circle{position:relative;display:table;width:40px;height:40px;margin:19px 16px;overflow:hidden;color:#fff;background-color:#004976;border-radius:40px}.initials-container{display:table-cell;font-weight:300;font-size:17px;line-height:1.65;letter-spacing:normal;text-align:center;vertical-align:middle}.initials-mobile{display:none;visibility:hidden}.notification-link{display:-ms-flexbox;display:flex;-ms-flex:0 0 100%;flex:0 0 100%;text-decoration:none}.klp-widget-notification-link-text{overflow:hidden;font-weight:normal;font-size:17px;white-space:nowrap;text-overflow:ellipsis}li.name-and-surname span.name{position:relative;display:block;width:12em;overflow:hidden;color:#000;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.nameCentered{position:relative;display:block;-ms-flex-item-align:center;align-self:center;width:12em;padding:0;overflow:hidden;color:#000;font-weight:bold;font-size:17px;line-height:24px}li.name-and-surname span.info{position:relative;display:block;width:12em;overflow:hidden;color:#000;font-weight:normal;font-size:15px;line-height:22px}li.name-and-surname span.infoHidden{position:relative;display:none;width:12em;overflow:hidden;color:#000;font-weight:normal;font-size:15px;line-height:22px}.nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;width:224px;height:78px;padding:16px 0;line-height:46px}.widget_icon_profile{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTI0IDQwLjQ0NGE1LjM0IDUuMzQgMCAwIDAgNS4zMzMtNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDI5Ljc3OGE1LjM0IDUuMzQgMCAwIDAtNS4zMzMgNS4zMzNBNS4zNCA1LjM0IDAgMCAwIDI0IDQwLjQ0NHpNMjQgMjhhNy4xMTggNy4xMTggMCAwIDEgNy4xMTEgNy4xMTFBNy4xMTggNy4xMTggMCAwIDEgMjQgNDIuMjIyYy0zLjkyIDAtNy4xMTEtMy4xOS03LjExMS03LjExQzE2Ljg4OSAzMS4xOSAyMC4wNzkgMjggMjQgMjh6bTgtMi42NjdIMTZjLTQuNDEyIDAtOC0zLjU4OS04LThWNGgxLjc3OHYxMy4zMzNBNi4yMyA2LjIzIDAgMCAwIDE2IDIzLjU1NmgxNmE2LjIzIDYuMjMgMCAwIDAgNi4yMjItNi4yMjNWNEg0MHYxMy4zMzNjMCA0LjQxMS0zLjU4OSA4LTggOHpNMTUuMTExIDRoMS43Nzh2MTIuNDQ0SDE1LjExVjR6bTE2IDBoMS43Nzh2MTIuNDQ0SDMxLjExVjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tNzgxLTQ3OUg2NTl2MTY4MkgtNzgxeiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");background-repeat:no-repeat;background-size:contain;-webkit-transform:rotate(180deg);transform:rotate(180deg);content:" "}.widget_icon_settings{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath opacity=\'1\' fill=\'%23000000\' d=\'M26.4 20h4.267v-6.667h-4.267c-0.4-0.267-0.667-0.533-0.8-0.933-0.267-0.4-0.133-0.8-0.133-1.2l3.067-3.067-4.667-4.667-3.067 3.067c-0.4 0.133-0.8 0-1.2-0.133s-0.667-0.4-0.933-0.8v-4.267h-6.667v4.267c-0.267 0.4-0.533 0.667-0.933 0.8-0.267 0.133-0.667 0.267-1.2 0.133l-3.067-3.067-4.667 4.667 3.067 3.067c0.133 0.4 0 0.8-0.133 1.2s-0.4 0.667-0.8 0.933h-4.267v6.667h4.267c0.4 0.267 0.667 0.533 0.8 0.933s0.133 0.8 0.133 1.2l-3.067 3.067 4.667 4.667 3.067-3.067c0.4-0.133 0.8 0 1.2 0.133s0.667 0.4 0.933 0.8v4.267h6.667v-4.267c0.267-0.4 0.533-0.667 0.933-0.8s0.8-0.133 1.2-0.133l3.067 3.067 4.667-4.667-3.067-3.067c-0.133-0.4 0-0.8 0.133-1.2s0.4-0.667 0.8-0.933zM24.267 22.667v0.133l2.4 2.4-2.8 2.8-2.4-2.4h-0.133c-0.8-0.267-1.6-0.133-2.267 0.133s-1.2 0.8-1.6 1.467l-0.133 0.133v3.333h-4v-3.333l-0.133-0.133c-0.4-0.667-0.933-1.2-1.6-1.467v0c-0.667-0.4-1.467-0.4-2.267-0.133h-0.133l-2.4 2.4-2.8-2.8 2.4-2.4v-0.133c0.267-0.8 0.267-1.6-0.133-2.267-0.267-0.667-0.8-1.2-1.467-1.6l-0.133-0.133h-3.333v-4h3.333l0.133-0.133c0.667-0.4 1.2-0.933 1.467-1.6 0.4-0.667 0.4-1.467 0.133-2.267v-0.133l-2.4-2.4 2.8-2.8 2.4 2.4h0.133c0.8 0.267 1.6 0.267 2.267-0.133 0.667-0.267 1.2-0.8 1.6-1.467l0.133-0.133v-3.333h4v3.333l0.133 0.133c0.4 0.667 0.933 1.2 1.6 1.467 0.667 0.4 1.467 0.4 2.267 0.133h0.133l2.4-2.4 2.8 2.8-2.4 2.4v0.133c-0.267 0.8-0.267 1.6 0.133 2.267 0.267 0.667 0.8 1.2 1.467 1.6l0.133 0.133h3.333v4h-3.333l-0.133 0.133c-0.667 0.4-1.2 0.933-1.467 1.6-0.4 0.667-0.4 1.467-0.133 2.267z\'%3E%3C/path%3E %3Cpath opacity=\'1\' fill=\'%23000000\' d=\'M15.333 10.667c-3.333 0-6 2.667-6 6s2.667 6 6 6c3.333 0 6-2.667 6-6s-2.667-6-6-6zM15.333 21.333c-2.533 0-4.667-2.133-4.667-4.667s2.133-4.667 4.667-4.667c2.533 0 4.667 2.133 4.667 4.667s-2.133 4.667-4.667 4.667z\'%3E%3C/path%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_changecompany{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,IDxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3MDAuMDAwMDAwcHQiIGhlaWdodD0iODYzLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgNzAwLjAwMDAwMCA4NjMuMDAwMDAwIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsODYzLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSIgZmlsbD0iIzY2NiIgc3Ryb2tlPSJub25lIj4KPHBhdGggZD0iTTY3ODIgODMzOCBjLTE4IC0xOCAtMzk0MCAtMjUgLTQwNTUgLTggLTk4IDE2IC0xMDkgOSAtOTUgLTU2IDkgLTM5CjcgLTE2MiAtNCAtMjQ0IC0yIC0yMCAyIC0yNiAyMSAtMjggMTMgLTIgMzUgMiA0OCA5IDE4IDEwIDM0IDEwIDYyIDMgMjIgLTYKNDggLTcgNjEgLTIgMTIgNCA4NDMgNyAxODQ3IDYgbDE4MjUgLTMgMTkgLTI0IGMxNiAtMTkgMTkgLTQwIDE5IC0xMTYgMCAtNTIKLTUgLTEwNiAtMTAgLTEyMSAtOCAtMTkgLTggLTMwIDAgLTM4IDE1IC0xNSAxNCAtNTk5OCAtMSAtNjAxMyAtNyAtNyAtOSAtMjMKLTUgLTM3IGw2IC0yNSAxMjAgNiBjOTIgNSAxMjcgMyAxNDYgLTcgMzUgLTE5IDYwIC0zIDU1IDM2IC04IDYyIC04IDY0MDQgMAo2NDk5IDEyIDEzNSAxMiAxNDYgMiAxNTUgLTE3IDE2IC00OSAyMCAtNjEgOHoiPjwvcGF0aD4KPHBhdGggZD0iTTUwNCA3MjY1IGMtNCAtMTAgLTIgLTMyIDQgLTQ5IDE3IC00NiAxNyAtNjU3NyAxIC02NTkzIC05IC05IC05Ci0xOSAtMSAtNDAgMTAgLTI1IDkgLTE3NyAtMSAtMzA2IC01IC01NiA2IC02MCAxMjEgLTQ3IDcyIDkgMTA5IDkgMTQwIDEgMjYKLTggNTUgLTggODEgLTIgMjUgNSA1OCA1IDg2IC0xIDMyIC03IDY3IC02IDExMyAyIDg0IDE0IDEyNzggMTMgMTQzMCAtMiAxMTcKLTExIDEzNyAtNSAxMjUgNDEgLTQgMTQgLTYgNTggLTYgOTYgMCAzOSAwIDEwNCAtMSAxNDUgMCA0MSAtMSAzMDYgLTEgNTg4IGwwCjUxNCAyMyAxOCBjMjEgMTcgNTQgMTggNTI3IDIwIGw1MDUgMSAyNSAtMjUgMjUgLTI1IDAgLTY1MCBjLTEgLTM5OCAtNSAtNjUzCi0xMSAtNjU2IC0xNCAtOSAtMTEgLTUxIDYgLTY1IDExIC05IDMzIC0xMCA5MiAtMiA2NSA4IDE3NjkgOCAxOTUyIC0xIDQxIC0yCjQ1IDAgNTMgMjggNSAxOCA0IDQwIC0zIDU3IC0xNSAzNyAtMTYgMTk1IC0xIDIxMCA4IDggOCAxNiAtMSAzMiAtOSAxNiAtMTIKNzM1IC0xMiAzMTc2IDAgMTczNSAyIDMyNDAgNCAzMzQ0IDQgMTc5IDMgMTkwIC0xNSAxOTYgLTEwIDQgLTMwIDMgLTQ0IC0yCi0zMSAtMTAgLTUxMjAgLTQgLTUxNzIgNiAtMzEgNyAtMzkgNSAtNDQgLTl6IG00OTQzIC0zMjggYzE3IC0xNyAxOCAtMTU5IDIwCi0zMTgxIDMgLTMwOTUgMiAtMzE2NSAtMTYgLTMxODggLTE4IC0yMiAtMjYgLTIzIC0xNTYgLTI2IC04NyAtMiAtMTQxIDAgLTE0OQo3IC05IDggLTIyIDggLTQzIDAgLTIwIC03IC0yMDEgLTkgLTU0MSAtNyAtNDg1IDMgLTUxMSA0IC01MzEgMjIgLTIxIDE5IC0yMQoyMSAtMjEgNjczIDAgNDM1IDMgNjYxIDEwIDY3NCA2IDExIDcgMjYgMiAzNCAtNyAxNCAtMTEwIDE2IC04NzcgMTYgbC04NzAgMAotNiAtMjQgYy00IC0xNCAtMyAtMzEgMiAtMzggMTEgLTE4IDExIC0xMzAgMCAtMTQ4IC01IC04IC0zIC0yNCA0IC00MCA5IC0yMAoxMiAtMTU5IDExIC01NzggLTEgLTUxNiAtMiAtNTUzIC0xOSAtNTcwIC0xNyAtMTcgLTYwIC0xOCAtNjg1IC0yMSAtNjc4IC0zCi03MzMgLTEgLTc0NiAzNCAtMyA4IC02IDE0MzcgLTYgMzE3NiAtMSAyOTE3IDEgMzE2MiAxNiAzMTc5IDkgMTAgMzQgMjAgNTgKMjIgMjIgMiAxMDUwIDMgMjI4MyAzIDIxMzkgLTEgMjI0MyAtMiAyMjYwIC0xOXoiPjwvcGF0aD4KPHBhdGggZD0iTTIwNzUgNjIwOSBjLTUgLTcgLTg1IC0xMCAtMjUxIC04IGwtMjQ1IDMgMCAtNjg3IC0xIC02ODcgNjg2IC0xCjY4NyAwIDAgNjkzIDAgNjkzIC0yMSAzIGMtMTIgMiAtMjYgLTEgLTMzIC02IC0xNiAtMTMgLTc4NSAtMTQgLTc5MyAtMSAtNyAxMgotMjEgMTEgLTI5IC0yeiBtNTQ2IC0zMzYgYzExIC0xMyAxNCAtODIgMTQgLTM1MyAwIC0zMTkgLTEgLTMzOSAtMTkgLTM1OSAtMTkKLTIxIC0yNSAtMjEgLTM1NCAtMjAgLTMxNSAxIC0zMzUgMiAtMzUzIDIwIC0xOCAxOCAtMTkgMzggLTE5IDM1NiAwIDI5OSAyCjMzOCAxNyAzNTUgMTUgMTcgMzkgMTggMzU4IDE4IDMwNiAwIDM0NCAtMiAzNTYgLTE3eiI+PC9wYXRoPgo8cGF0aCBkPSJNMzM0MSA2MjExIGMtMTEgLTcgLTEyIC0xOSAtNiAtNTIgOSAtNDYgMTMgLTExOTggNSAtMTI4MiBsLTUgLTQ4CjY4OSAwIGMzNzkgMSA2OTMgNCA2OTYgOCA0IDUgNCA0NCAtMSA4NyAtNiA2NyAtNCAxMTQ0IDQgMTI0NSBsMiAzMyAtNTcwIDIKYy0zMTMgMiAtNTc3IDMgLTU4NSA0IC04IDEgLTUxIDEgLTk1IDAgLTQ0IC0xIC04OSAxIC0xMDAgNSAtMTEgNCAtMjYgMyAtMzQKLTJ6IG0xMDI2IC0zMjYgYzQwIC05IDQ1IC01NiA0MSAtMzkyIC0zIC0yODQgLTUgLTMxNCAtMjEgLTMzMCAtMTYgLTE2IC00NwotMTggLTM1MSAtMjEgLTMxNyAtMyAtMzM0IC0yIC0zNTcgMTcgbC0yNCAxOSAwIDMzNSBjMCAzMTIgMSAzMzYgMTkgMzU1IDEwCjEyIDMyIDIyIDUwIDI0IDUyIDUgNjE5IC0xIDY0MyAtN3oiPjwvcGF0aD4KPHBhdGggZD0iTTI4ODMgNDA4OSBjLTcgLTcgLTIxNSAtOSAtNjYyIC03IC02MjMgMyAtNjUxIDIgLTY1NyAtMTUgLTMgLTEwIC0xCi0zMSA2IC00NiA4IC0yMCAxMCAtMjA2IDggLTY3MiBsLTMgLTY0NCA2ODggMiA2ODggMiAwIDY4OCBjMCA2NTMgLTEgNjg4IC0xOAo2OTQgLTI2IDExIC0zOCAxMCAtNTAgLTJ6IG0tMjYzIC0zNDYgYzIxIC0yOCAyMiAtMzIgMTggLTM1NiBsLTMgLTMyOSAtMjQKLTE5IGMtMjIgLTE4IC00MyAtMTkgLTM1MiAtMTkgLTMxMiAwIC0zMzAgMSAtMzQ4IDE5IC0xOSAxOSAtMjAgMzcgLTIxIDM1NSAwCjMyNCAwIDMzNiAyMCAzNTYgMTkgMTkgMzIgMjAgMzU0IDIwIGwzMzUgMCAyMSAtMjd6Ij48L3BhdGg+CjxwYXRoIGQ9Ik00Njc1IDQwODkgYy0xNiAtNSAtMzI1IC04IC02ODUgLTggbC02NTUgMiA0IC0zNCBjMTAgLTkyIDExIC0xMjQ3CjEgLTEyODcgLTE0IC01NyAtMiAtNzQgNDMgLTYxIDE5IDYgMzAyIDkgNjg3IDggbDY1NSAtMSAtMyAzNCBjLTEgMTggLTUgMzAxCi04IDYyOCAtNSA0NjQgLTMgNjA3IDcgNjQ4IDE1IDY1IDMgODUgLTQ2IDcxeiBtLTI5MCAtMzM5IGMxNiAtMTggMTkgLTQyIDIxCi0xNzcgMiAtMTE4IC0xIC0xNjMgLTExIC0xODMgLTExIC0yMSAtMTEgLTMwIC0yIC0zOSA4IC05IDExIC01NCAxMCAtMTU0IC0zCi0xMzEgLTUgLTE0MyAtMjQgLTE1OSAtMTkgLTE2IC01MiAtMTggLTM0OSAtMTggLTM5OSAwIC0zNzAgLTExIC0zNzEgMTM1IDAKNTUgLTEgMTM0IC0yIDE3NSAtMSA0MSAtMSAxNDggLTEgMjM4IDEgMTQxIDMgMTY1IDE5IDE4MiAxNyAxOSAzMSAyMCAzNTUgMjAKMzI2IDAgMzM3IC0xIDM1NSAtMjB6Ij48L3BhdGg+CjwvZz4KPC9zdmc+");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_logout{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTAgMGgyOHYySDJ2NDRoMjZ2MkgwVjB6bTMzLjU4NiAxNGgyLjgyOGwxMSAxMS0xMSAxMWgtMi44MjhsMTAtMTBIMTh2LTJoMjUuNTg2bC0xMC0xMHoiLz4KICAgIDwvZGVmcz4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0ibm9uZSIgZD0iTS00MTAtMzIwaDE0NDB2MTY4MkgtNDEweiIvPgogICAgICAgIDxtYXNrIGlkPSJiIiBmaWxsPSIjZmZmIj4KICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPSIjYSIvPgogICAgICAgIDwvbWFzaz4KICAgICAgICA8ZyBmaWxsPSIjNjY2IiBtYXNrPSJ1cmwoI2IpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTAgMGg0OHY0OEgweiIvPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");background-repeat:no-repeat;background-size:contain;content:" "}.widget_icon_notification{display:inline-block;width:24px;height:24px;margin:8px 12px;color:#000;font-weight:normal;font-size:1em;font-style:normal;font-variant:normal;text-transform:none;text-decoration:inherit;background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iNDgiIGhlaWdodD0iNDgiIHZpZXdCb3g9IjAgMCA0OCA0OCI+CiAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iYSIgZD0iTTIgNDBoNDRWOEgydjMyem0yMy40NDYtMTEuOTYzYy0uNzYyLjc5Ny0yLjEzLjc5OC0yLjg5Mi0uMDAyTDUuMzM3IDEwaDM3LjMyN0wyNS40NDYgMjguMDM3ek0xNS45MzUgMjRMNCAzNi41MDRWMTEuNDk2TDE1LjkzNSAyNHptMS4zODQgMS40NDhsMy43ODcgMy45NjdBMy45NjYgMy45NjYgMCAwIDAgMjQgMzAuNjU2YTMuOTcgMy45NyAwIDAgMCAyLjg5My0xLjIzOGwzLjc4OC0zLjk3TDQyLjY2MiAzOEg1LjMzOGwxMS45ODEtMTIuNTUyek0zMi4wNjQgMjRMNDQgMTEuNDk1djI1LjAwOUwzMi4wNjQgMjR6Ii8+CiAgICA8L2RlZnM+CiAgICA8ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxwYXRoIGZpbGw9Im5vbmUiIGQ9Ik0tMTE0OS0zMThIMjkxdjE2ODJoLTE0NDB6Ii8+CiAgICAgICAgPG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPgogICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNhIi8+CiAgICAgICAgPC9tYXNrPgogICAgICAgIDxnIGZpbGw9IiM2NjYiIG1hc2s9InVybCgjYikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMCAwaDQ4djQ4SDB6Ii8+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4K");background-repeat:no-repeat;background-size:contain;content:" "}#post-klp-login-widget.bubble:before{position:absolute;top:calc(100% + 2px);right:50%;z-index:9999;width:0;height:0;margin-right:-7px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) #fff rgba(0,0,0,0);border-style:solid;border-width:0 7px 7px 7px;content:""}#post-klp-login-widget.bubble:after{position:absolute;top:100%;right:50%;z-index:9998;width:0;height:0;margin-right:-8px;border-color:rgba(0,0,0,0) rgba(0,0,0,0) rgba(0,0,0,.07) rgba(0,0,0,0);border-style:solid;border-width:0 8px 8px 8px;content:""}.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}@media (min-width: 600px)and (max-width: 1023px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:10px;overflow:visible;clip:auto}}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-anonymous .klp-widget-anonymous__text{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;border:0;clip:rect(0 0 0 0)}}@media (min-width: 1280px){.klp-widget-anonymous .klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:0;padding-right:8px;overflow:visible;font-size:17px;clip:auto}}.klp-widget-anonymous a{padding:0 1rem}@media (min-width: 600px)and (max-width: 1023px){.klp-widget-anonymous a{padding:0 16px}}@media (min-width: 1024px){.klp-widget-anonymous a{padding:0 20px}}.initials-mobile{display:block;width:32px;height:32px;color:#fff;font-weight:normal;font-size:13px;line-height:32px;letter-spacing:1px;text-align:center;background-color:#004976;border-radius:32px;visibility:visible}@media (min-width: 1024px){.initials-mobile{width:40px;height:40px;font-size:15px;line-height:40px;border-radius:40px}}.notification-number{position:absolute;top:6px;right:5px;display:block;width:15px;height:15px;color:#fff;font-size:12px;line-height:20px;text-align:center;background-color:#a51728;background-clip:padding-box;border:2px solid #fff;border-radius:10px}@media (min-width: 600px)and (max-width: 1023px){.notification-number{right:8px}}@media (min-width: 1024px)and (max-width: 1279px){.notification-number{right:8px;width:17px;height:17px}}@media (min-width: 1280px){.notification-number{top:10px;right:12px;width:17px;height:17px}}.klp-widget-authenticated-session-name{display:none}.linkContainer{-ms-flex-item-align:center;align-self:center;height:16px;margin:10px 0}.klp-widget-authenticated-menu{position:fixed;top:64px;z-index:3;width:296px}@media (max-width: 399px){.klp-widget-authenticated-menu{right:0;left:0;margin:0 auto}}@media (min-width: 400px)and (max-width: 1023px){.klp-widget-authenticated-menu{position:absolute;top:64px;right:8px}}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-authenticated-menu{position:absolute;top:72px;right:8px}}@media (min-width: 1280px){.klp-widget-authenticated-menu{position:absolute;top:80px;right:8px}}.klp-widget-authenticated-menu>ul{margin:0}.klp-widget-authenticated{min-width:52px;max-height:55px;background-color:#fff}@media (min-width: 1024px)and (max-width: 1279px){.klp-widget-authenticated{max-height:64px}}@media (min-width: 1280px){.klp-widget-authenticated{max-height:72px}}.item-centered{-ms-flex-align:center;align-items:center;-ms-flex-item-align:center;align-self:center;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center}.item-left{-ms-flex-align:start;align-items:flex-start;-ms-flex-item-align:start;align-self:flex-start}.item-right{-ms-flex-align:end;align-items:flex-end;-ms-flex-item-align:end;align-self:flex-end}.changeAccountModal{display:table}.modal{position:fixed;top:0;left:0;z-index:9999;display:none;width:100vw;height:100vh;padding-top:100px;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content{-ms-flex-align:center;align-items:center;width:80%;min-height:20em;margin:auto;background-color:#fff;border:1px solid #888}@media (min-width: 1024px){.modal-content{max-width:584px;margin:1.75rem auto}}.close{position:absolute;top:0;right:15px;color:#000;font-weight:lighter;font-size:40px}.close:hover,.close:focus{text-decoration:none;cursor:pointer}.btn-modal-container{position:absolute;bottom:1em;width:100%}.pi{display:inline-block;width:1.5rem;height:1.5rem;vertical-align:middle;background-repeat:no-repeat;background-position:center center;background-size:contain;border:none}.pi-2086{width:4.5rem;height:4.5rem;margin-bottom:2em;background-image:url("data:image/svg+xml,%3Csvg version=\'1.1\' xmlns=\'http://www.w3.org/2000/svg\' width=\'32\' height=\'32\' viewBox=\'0 0 32 32\'%3E%3Cpath fill=\'%23000\' d=\'M17.333 25.333v-16h-4.667v2.667h2v13.333h-2v2.667h6.667v-2.667z\'%3E%3C/path%3E %3Cpath fill=\'%23000\' d=\'M14.667 4h2.667v2.667h-2.667v-2.667z\'%3E%3C/path%3E%3C/svg%3E");border-color:#000}.modal-text-container{-ms-flex-line-pack:center;align-content:center;width:100%;min-height:17em;background:#fc0}.modal-button-container{-ms-flex-line-pack:center;align-content:center;width:100%;height:6em;margin-right:0;margin-left:0;background:#fff}.text-align-center{text-align:center}.modal-text{color:#000;font-weight:bold}:host{display:block}.widget-wrapper{position:relative}.widget-wrapper,#post-klp-login-widget,.klp-widget-anonymous,.klp-widget-anonymous__wrapper,.klp-widget-anonymous__wrapper a{height:100%}.klp-widget-anonymous__wrapper a{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;color:#333;text-decoration:none;padding:0 1rem;-webkit-transition:color 200ms;transition:color 200ms}.klp-widget-anonymous__wrapper a:hover,.klp-widget-anonymous__wrapper a:focus{color:#000}@media (min-width: 1024px){.klp-widget-anonymous__wrapper a{padding:0 1.125rem}}.klp-widget-anonymous__wrapper a span{margin-right:.5rem}.klp-widget-anonymous__wrapper a svg{width:1.5rem;height:1.5rem}@media (min-width: 600px)and (max-width: 1023.98px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}@media (min-width: 1280px){.klp-widget-anonymous__text{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible}}#post-klp-login-widget .nameAndInfoWrapper{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;width:224px;height:78px;padding:16px 0px;line-height:46px;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center}.modal-content{position:relative}.modal-text-container{padding-top:3rem}#post-klp-login-widget .modal-button-container{height:auto;padding:2rem}#post-klp-login-widget .modal-button-container>.item-centered{-ms-flex-pack:center;justify-content:center}.login-button{height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;padding-right:calc(1rem - 1px);padding-left:calc(1rem - 1px)}@media (min-width: 1024px){.login-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.login-button{padding:0 calc(1.5rem - 1px)}}.login-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px){.login-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:.5rem;cursor:pointer}}';var __rest=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var n=0,o=Object.getOwnPropertySymbols(t);n<o.length;n++){if(i.indexOf(o[n])<0&&Object.prototype.propertyIsEnumerable.call(t,o[n]))e[o[n]]=t[o[n]]}return e};var PostKlpLoginWidget=function(){function t(t){registerInstance(this,t);this.logoutUrl=undefined}t.prototype.componentDidLoad=function(){return __awaiter(this,void 0,void 0,(function(){var t,i,e,o,n,r,g,a;return __generator(this,(function(l){switch(l.label){case 0:if(((i=(t=state.localizedConfig)===null||t===void 0?void 0:t.header)===null||i===void 0?void 0:i.showJobsLoginWidget)||!((o=(e=state.localizedConfig)===null||e===void 0?void 0:e.header)===null||o===void 0?void 0:o.loginWidgetOptions))return[2];return[4,import("./klp-widget.controller-2a0a5183.js")];case 1:n=l.sent().initializeKLPLoginWidget;r=state.localizedConfig.header.loginWidgetOptions,g=r.platform,a=__rest(r,["platform"]);n("post-klp-login-widget",Object.assign(Object.assign(Object.assign({},a),{environment:state.environment}),this.logoutUrl!==undefined?{platform:Object.assign(Object.assign({},g),{logoutURL:this.logoutUrl})}:{platform:g}));return[2]}}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,i;return __generator(this,(function(e){i=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a");if(i&&i.length){i[0].focus()}return[2]}))}))};t.prototype.render=function(){var t,i,e,o,n,r,g;if(!((i=(t=state===null||state===void 0?void 0:state.localizedConfig)===null||t===void 0?void 0:t.header)===null||i===void 0?void 0:i.loginWidgetOptions)&&!((o=(e=state===null||state===void 0?void 0:state.localizedConfig)===null||e===void 0?void 0:e.header)===null||o===void 0?void 0:o.showJobsLoginWidget)){console.warn('Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project="'.concat(state.projectId,'" login="false"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.'));return null}return h(Host,null,h(SvgSprite,null),h("div",{class:"widget-wrapper","data-hj-suppress":true},((r=(n=state===null||state===void 0?void 0:state.localizedConfig)===null||n===void 0?void 0:n.header)===null||r===void 0?void 0:r.showJobsLoginWidget)?h("a",{id:"post-klp-login-widget",class:"login-button",href:(g=state.localizedConfig.header.loginWidgetOptions)===null||g===void 0?void 0:g.appLoginUrl},h("span",{class:"visually-hidden"},state.localizedConfig.header.translations.loginWidgetText),h(SvgIcon,{name:"pi-login"})):h("div",{id:"post-klp-login-widget"})))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();PostKlpLoginWidget.style=postKlpLoginWidgetCss;export{PostKlpLoginWidget as post_klp_login_widget};
|
|
2
2
|
//# sourceMappingURL=post-klp-login-widget.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"names":["postKlpLoginWidgetCss","PostKlpLoginWidget","class_1","prototype","componentDidLoad","_b","_a","state","localizedConfig","header","showJobsLoginWidget","_d","_c","loginWidgetOptions","import","initializeKLPLoginWidget","_h","sent","_e","platform","widgetOptions","__rest","Object","assign","environment","this","logoutUrl","undefined","logoutURL","setFocus","loginButton","host","shadowRoot","querySelectorAll","length","focus","render","console","warn","concat","projectId","h","Host","SvgSprite","class","_f","id","href","_g","appLoginUrl","translations","loginWidgetText","SvgIcon","name"],"sources":["src/components/post-klp-login-widget/post-klp-login-widget.scss?tag=post-klp-login-widget&encapsulation=shadow","src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/button';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n@use './widget-styles.scss';\n\n:host {\n display: block;\n}\n\n.widget-wrapper {\n position: relative;\n}\n\n.widget-wrapper,\n#post-klp-login-widget,\n.klp-widget-anonymous,\n.klp-widget-anonymous__wrapper,\n.klp-widget-anonymous__wrapper a {\n height: 100%;\n}\n\n.klp-widget-anonymous__wrapper a {\n display: flex;\n align-items: center;\n color: color.$gray-80;\n text-decoration: none;\n padding: 0 1rem;\n transition: color 200ms;\n\n &:hover,\n &:focus {\n color: black;\n }\n\n @include mixins.min(lg) {\n padding: 0 1.125rem;\n }\n\n span {\n margin-right: 0.5rem;\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.klp-widget-anonymous__text {\n @extend %visually-hidden;\n\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n }\n\n @include mixins.min(xl) {\n @include mixins.reset-visually-hidden();\n }\n}\n\n#post-klp-login-widget .nameAndInfoWrapper {\n position: relative;\n display: flex;\n\n align-items: flex-start;\n width: 224px;\n height: 78px;\n padding: 16px 0px;\n line-height: 46px;\n flex-direction: column;\n justify-content: center;\n}\n\n.modal-content {\n position: relative;\n}\n\n.modal-text-container {\n padding-top: 3rem;\n}\n\n#post-klp-login-widget .modal-button-container {\n height: auto;\n padding: 2rem;\n\n & > .item-centered {\n justify-content: center;\n }\n}\n\n.login-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.min(rg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n","import { Component, Element, h, Host, Method, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLPostKlpLoginWidgetElement;\n\n /**\n * Override the logout-url provided by the portal config.\n */\n @Prop() logoutUrl?: string;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n const { platform, ...widgetOptions } = state.localizedConfig.header.loginWidgetOptions;\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...widgetOptions,\n environment: state.environment,\n ...(this.logoutUrl !== undefined\n ? { platform: { ...platform, logoutURL: this.logoutUrl } }\n : { platform }),\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"usDAAA,IAAMA,sBAAwB,k4uC,uXCYjBC,mBAAkB,W,gEAQvBC,EAAAC,UAAAC,iBAAN,W,gIACE,KACEC,GAAAC,EAAAC,MAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,UAAM,MAAAJ,SAAA,SAAAA,EAAEK,yBAC9BC,GAAAC,EAAAL,MAAMC,mBAAe,MAAAI,SAAA,SAAAA,EAAEH,UAAM,MAAAE,SAAA,SAAAA,EAAEE,oBAEhC,UACmC,SAAMC,OAAO,wC,OAA1CC,EAA6BC,EAAAC,OAA0CF,yBACzEG,EAAiCX,MAAMC,gBAAgBC,OAAOI,mBAA5DM,EAAQD,EAAsEC,SAAjEC,EAAaC,OAAAH,EAA5B,cACNH,EAAyB,wBAAuBO,OAAAC,OAAAD,OAAAC,OAAAD,OAAAC,OAAA,GAC3CH,GAAa,CAChBI,YAAajB,MAAMiB,cACfC,KAAKC,YAAcC,UACnB,CAAER,SAAQG,OAAAC,OAAAD,OAAAC,OAAA,GAAOJ,GAAQ,CAAES,UAAWH,KAAKC,aAC3C,CAAEP,SAAQA,K,kBAQZjB,EAAAC,UAAA0B,SAAN,W,6FACQC,GAAcxB,EAAAmB,KAAKM,KAAKC,cAAU,MAAA1B,SAAA,SAAAA,EAAE2B,iBACxC,yEAEF,GAAIH,GAAeA,EAAYI,OAAQ,CACrCJ,EAAY,GAAGK,O,kBAInBjC,EAAAC,UAAAiC,OAAA,W,kBACE,MACG/B,GAAAC,EAAAC,QAAK,MAALA,aAAK,SAALA,MAAOC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,UAAM,MAAAJ,SAAA,SAAAA,EAAEQ,wBAChCF,GAAAC,EAAAL,QAAK,MAALA,aAAK,SAALA,MAAOC,mBAAe,MAAAI,SAAA,SAAAA,EAAEH,UAAM,MAAAE,SAAA,SAAAA,EAAED,qBACjC,CACA2B,QAAQC,KACN,sHAAAC,OAAsHhC,MAAMiC,UAAS,qHAEvI,OAAO,I,CAET,OACEC,EAACC,KAAI,KACHD,EAACE,UAAS,MACVF,EAAA,OAAKG,MAAM,iBAAgB,2BACxBC,GAAA3B,EAAAX,QAAK,MAALA,aAAK,SAALA,MAAOC,mBAAe,MAAAU,SAAA,SAAAA,EAAET,UAAM,MAAAoC,SAAA,SAAAA,EAAEnC,qBAC/B+B,EAAA,KACEK,GAAG,wBACHF,MAAM,eACNG,MAAMC,EAAAzC,MAAMC,gBAAgBC,OAAOI,sBAAkB,MAAAmC,SAAA,SAAAA,EAAEC,aAEvDR,EAAA,QAAMG,MAAM,mBACTrC,MAAMC,gBAAgBC,OAAOyC,aAAaC,iBAE7CV,EAACW,QAAO,CAACC,KAAK,cAGhBZ,EAAA,OAAKK,GAAG,2B,kIAhEW,G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{P as post_language_switch}from"./post-language-switch-fd570b9d.js";import"./index-2b83f5e9.js";import"./svg-sprite.component-29439a18.js";import"./svg-icon.component-7295f7cc.js";import"./store-80b19c12.js";import"./ui.service-a71cf490.js";import"./language.service-501b09a8.js";
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,e,n,o){function i(t){return t instanceof n?t:new n((function(e){e(t)}))}return new(n||(n=Promise))((function(n,r){function s(t){try{f(o.next(t))}catch(t){r(t)}}function a(t){try{f(o["throw"](t))}catch(t){r(t)}}function f(t){t.done?n(t.value):i(t.value).then(s,a)}f((o=o.apply(t,e||[])).next())}))};var __generator=this&&this.__generator||function(t,e){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},o,i,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(t){return function(e){return f([t,e])}}function f(a){if(o)throw new TypeError("Generator is already executing.");while(s&&(s=0,a[0]&&(n=0)),n)try{if(o=1,i&&(r=a[0]&2?i["return"]:a[0]?i["throw"]||((r=i["return"])&&r.call(i),0):i.next)&&!(r=r.call(i,a[1])).done)return r;if(i=0,r)a=[a[0]&2,r.value];switch(a[0]){case 0:case 1:r=a;break;case 4:n.label++;return{value:a[1],done:false};case 5:n.label++;i=a[1];a=[0];continue;case 7:a=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(a[0]===6||a[0]===2)){n=0;continue}if(a[0]===3&&(!r||a[1]>r[0]&&a[1]<r[3])){n.label=a[1];break}if(a[0]===6&&n.label<r[1]){n.label=r[1];r=a;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(a);break}if(r[2])n.ops.pop();n.trys.pop();continue}a=e.call(t,n)}catch(t){a=[6,t];i=0}finally{o=r=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};import{h,r as registerInstance,c as createEvent,H as Host,g as getElement}from"./index-2b83f5e9.js";import{S as SvgSprite}from"./svg-sprite.component-29439a18.js";import{S as SvgIcon}from"./svg-icon.component-7295f7cc.js";import{s as state}from"./store-80b19c12.js";import{e as elementHasTransition,u as userPrefersReducedMotion}from"./ui.service-a71cf490.js";import{t as translate}from"./language.service-501b09a8.js";var PostLanguageSwitchList=function(t){var e;if(((e=state.localizedConfig)===null||e===void 0?void 0:e.header)===undefined)return;var n=state.localizedConfig.header;return h("nav",{class:"language-switch-dropdown",ref:function(e){return t.dropdownRef(e)},"aria-label":n.translations.navLangAriaLabel},h("ul",{"aria-label":translate("Change language")},t.navLang.filter((function(t){return!t.isCurrent})).map((function(e){var n=e.url?"a":"button";return h("li",{key:e.lang},h(n,{onClick:function(){return t.switchLanguage(e)},href:e.url,lang:e.lang,title:e.title},h("span",{class:"visually-hidden"},e.title),h("span",{"aria-hidden":"true"},e.text)))}))))};var postLanguageSwitchCss='@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,.language-switch-dropdown a,.language-switch-dropdown 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),.language-switch-dropdown a:is(:focus-visible,:focus-within,.pretend-focus),.language-switch-dropdown button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.language-switch-dropdown a:hover,.language-switch-dropdown button:hover,.nav-link:focus,.language-switch-dropdown a:focus,.language-switch-dropdown button:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.language-switch-dropdown a:is(:focus-visible,:focus-within,.pretend-focus),.language-switch-dropdown button:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.language-switch-dropdown a>svg,.language-switch-dropdown button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.language-switch-dropdown a>span,.language-switch-dropdown button>span{-ms-flex-negative:1;flex-shrink:1}.no-list,.language-switch-dropdown ul{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{--separator-display:none;--separator-height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-item-align:stretch;align-self:stretch}:host::before{position:relative;content:"";display:var(--separator-display);height:var(--separator-height);border-left:1px solid #e6e6e6}.lang-btn{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;height:100%;padding:0 1rem;border:none;-webkit-box-shadow:none;box-shadow:none;background:none;text-transform:uppercase;cursor:pointer;color:rgba(0,0,0,.8)}.lang-btn:hover,.lang-btn:focus{color:#000;position:relative;z-index:1}.lang-btn svg{width:1.5em;height:1.5em;-webkit-transition:-webkit-transform 250ms;transition:-webkit-transform 250ms;transition:transform 250ms;transition:transform 250ms, -webkit-transform 250ms}.lang-btn svg.rotated{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.language-switch{position:relative;-ms-flex-item-align:stretch;align-self:stretch;height:100%}.language-switch.list{margin-top:1.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.current-language{text-transform:uppercase;border-right:1px solid #ccc;padding:.5rem 1rem .5rem 0}.dropdown .language-switch-dropdown{position:absolute;top:100%;width:100%;background:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2),0 2px 6px 2px rgba(0,0,0,.1);box-shadow:0 1px 2px rgba(0,0,0,.2),0 2px 6px 2px rgba(0,0,0,.1);z-index:1;-webkit-transform:scale(0.1);transform:scale(0.1);-webkit-transform-origin:center top;transform-origin:center top;-webkit-transition:-webkit-transform .1s;transition:-webkit-transform .1s;transition:transform .1s;transition:transform .1s, -webkit-transform .1s;margin-top:var(--language-dropdown-margin-top)}@media (prefers-reduced-motion: reduce){.dropdown .language-switch-dropdown{-webkit-transition:none;transition:none}}.dropdown .language-switch-dropdown.open{-webkit-transform:scale(1);transform:scale(1)}.list .language-switch-dropdown ul{display:-ms-flexbox;display:flex}.list .language-switch-dropdown ul>li+li{border-left:1px solid #ccc}.language-switch-dropdown a,.language-switch-dropdown button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:100%;height:3rem;padding:0 .25rem;text-transform:uppercase;cursor:pointer;-webkit-transition:background-color 200ms,color 200ms;transition:background-color 200ms,color 200ms}.language-switch-dropdown a:hover,.language-switch-dropdown a:focus,.language-switch-dropdown button:hover,.language-switch-dropdown button:focus{background:#f4f3f1}.language-switch-dropdown a span,.language-switch-dropdown button span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.list .language-switch-dropdown a,.list .language-switch-dropdown button{color:#000;height:auto;padding:.5rem 1rem}';var PostLanguageSwitch=function(){function t(t){registerInstance(this,t);this.dropdownToggled=createEvent(this,"dropdownToggled",7);this.languageChanged=createEvent(this,"languageChanged",7);this.mode=undefined;this.langSwitchOpen=false}t.prototype.componentWillUpdate=function(){var t=this;if(this.languageSwitchDropdown&&!this.langSwitchOpen&&this.mode=="dropdown"){this.languageSwitchDropdown.classList.remove("open");if(elementHasTransition(this.languageSwitchDropdown,"transform")&&!userPrefersReducedMotion()){return new Promise((function(e){var n;(n=t.languageSwitchDropdown)===null||n===void 0?void 0:n.addEventListener("transitionend",(function(t){if(t.propertyName==="transform"){e(true)}}))}))}}};t.prototype.componentDidUpdate=function(){if(this.languageSwitchDropdown&&this.langSwitchOpen){this.languageSwitchDropdown.getBoundingClientRect();this.languageSwitchDropdown.classList.add("open")}};t.prototype.toggleDropdown=function(t){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(e){this.langSwitchOpen=t!==null&&t!==void 0?t:!this.langSwitchOpen;this.dropdownToggled.emit({open:this.langSwitchOpen,element:this.host});return[2,this.langSwitchOpen]}))}))};t.prototype.switchLanguage=function(t){this.languageChanged.emit(t.lang);this.toggleDropdown(false)};t.prototype.getMergedLanguageConfig=function(t,e){if(e===undefined){return t}return t.map((function(t){return Object.assign({},t,e.find((function(e){return e.lang===t.lang})))}))};t.prototype.setDropdownRef=function(t){this.languageSwitchDropdown=t};t.prototype.render=function(){var t=this;var e;if(((e=state.localizedConfig)===null||e===void 0?void 0:e.header)===undefined)return;var n=state.localizedConfig.header;var o=this.getMergedLanguageConfig(n.navLang,state.languageSwitchOverrides);return h(Host,null,h("div",{class:"language-switch ".concat(this.mode)},h(SvgSprite,null),this.mode==="dropdown"?h("button",{class:"lang-btn","aria-expanded":"".concat(this.langSwitchOpen),"aria-haspopup":"listbox",onClick:function(){return t.toggleDropdown()}},h("span",{class:"visually-hidden"},n.translations.navLangAriaLabel,", ",translate("Current language is English")),h("span",{"aria-hidden":"true"},state.currentLanguage),h(SvgIcon,{name:"pi-arrow-down",classNames:this.langSwitchOpen?"rotated":""})):h("span",{class:"bold current-language"},h("span",{class:"visually-hidden"},translate("Current language is English")),h("span",null,state.currentLanguage)),this.langSwitchOpen||this.mode==="list"?h(PostLanguageSwitchList,{navLang:o,switchLanguage:function(e){return t.switchLanguage(e)},dropdownRef:function(e){return e!==undefined&&t.setDropdownRef(e)}}):null))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();PostLanguageSwitch.style=postLanguageSwitchCss;export{PostLanguageSwitch as post_language_switch};
|
|
2
2
|
//# sourceMappingURL=post-language-switch.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"names":["PostLanguageSwitchList","props","_a","state","localizedConfig","header","undefined","config","h","class","ref","e","dropdownRef","translations","navLangAriaLabel","translate","navLang","filter","lang","isCurrent","map","TagName","url","key","onClick","switchLanguage","href","title","text","postLanguageSwitchCss","PostLanguageSwitch","class_1","prototype","componentWillUpdate","_this","this","languageSwitchDropdown","langSwitchOpen","mode","classList","remove","elementHasTransition","userPrefersReducedMotion","Promise","resolve","addEventListener","event","propertyName","componentDidUpdate","getBoundingClientRect","add","toggleDropdown","force","dropdownToggled","emit","open","element","host","newLang","languageChanged","getMergedLanguageConfig","overrides","langConfig","Object","assign","find","l","setDropdownRef","render","mergedConfig","languageSwitchOverrides","Host","concat","SvgSprite","currentLanguage","SvgIcon","name","classNames"],"sources":["src/components/post-language-switch/components/post-language-switch-list.tsx","src/components/post-language-switch/post-language-switch.scss?tag=post-language-switch&encapsulation=shadow","src/components/post-language-switch/post-language-switch.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavLangEntity } from '../../../models/header.model';\nimport { translate } from '../../../services/language.service';\nimport { state } from '../../../data/store';\n\nexport const PostLanguageSwitchList = (props: {\n navLang: NavLangEntity[];\n switchLanguage: (lang: NavLangEntity) => void;\n dropdownRef: (element: HTMLElement | undefined) => void;\n}) => {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n\n return (\n <nav\n class=\"language-switch-dropdown\"\n ref={e => props.dropdownRef(e)}\n aria-label={config.translations.navLangAriaLabel}\n >\n <ul aria-label={translate('Change language')}>\n {props.navLang\n .filter(lang => !lang.isCurrent)\n .map(lang => {\n const TagName = lang.url ? 'a' : 'button';\n return (\n <li key={lang.lang}>\n <TagName\n onClick={() => props.switchLanguage(lang)}\n href={lang.url}\n lang={lang.lang}\n title={lang.title}\n >\n <span class=\"visually-hidden\">{lang.title}</span>\n <span aria-hidden=\"true\">{lang.text}</span>\n </TagName>\n </li>\n );\n })}\n </ul>\n </nav>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n\n:host {\n --separator-display: none;\n --separator-height: 100%;\n\n display: flex;\n align-items: center;\n align-self: stretch;\n\n &::before {\n position: relative;\n content: '';\n display: var(--separator-display);\n height: var(--separator-height);\n border-left: 1px solid color.$gray-10;\n }\n}\n\n.lang-btn {\n display: flex;\n align-items: center;\n height: 100%;\n padding: 0 1rem;\n border: none;\n box-shadow: none;\n background: none;\n text-transform: uppercase;\n cursor: pointer;\n color: rgba(color.$black, 0.8);\n\n &:hover,\n &:focus {\n color: black;\n position: relative;\n z-index: 1;\n }\n\n svg {\n width: 1.5em;\n height: 1.5em;\n transition: transform 250ms;\n\n &.rotated {\n transform: rotate(180deg);\n }\n }\n}\n\n.language-switch {\n position: relative;\n align-self: stretch;\n height: 100%;\n\n &.list {\n margin-top: 1.5rem;\n display: flex;\n align-items: center;\n }\n}\n\n.current-language {\n text-transform: uppercase;\n border-right: 1px solid color.$gray-20;\n padding: 0.5rem 1rem 0.5rem 0;\n}\n\n.language-switch-dropdown {\n .dropdown & {\n position: absolute;\n top: 100%;\n width: 100%;\n background: white;\n box-shadow: 0 1px 2px rgb(0 0 0 / 20%), 0 2px 6px 2px rgb(0 0 0 / 10%);\n z-index: 1;\n transform: scale(0.1);\n transform-origin: center top;\n transition: transform 0.1s;\n margin-top: var(--language-dropdown-margin-top);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: scale(1);\n }\n }\n\n ul {\n @extend %no-list;\n\n .list & {\n display: flex;\n\n > li + li {\n border-left: 1px solid color.$gray-20;\n }\n }\n }\n\n a,\n button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: functions.px-to-rem(48px);\n padding: 0 0.25rem;\n text-transform: uppercase;\n cursor: pointer;\n transition: background-color 200ms, color 200ms;\n\n &:hover,\n &:focus {\n background: color.$gray-background;\n }\n\n span {\n // Worst case scenario\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n\n .list & {\n color: black;\n height: auto;\n padding: 0.5rem 1rem;\n }\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n NavLangEntity,\n} from '../../models/header.model';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { PostLanguageSwitchList } from './components/post-language-switch-list';\nimport { IAvailableLanguage } from '../../models/language.model';\n\n@Component({\n tag: 'post-language-switch',\n styleUrl: 'post-language-switch.scss',\n shadow: true,\n})\nexport class PostLanguageSwitch implements HasDropdown {\n @Prop() mode: 'dropdown' | 'list';\n @State() langSwitchOpen = false;\n @Element() host: DropdownElement;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event({ bubbles: true }) languageChanged: EventEmitter<string>;\n private languageSwitchDropdown: HTMLElement | undefined;\n\n componentWillUpdate() {\n // Check if language switch got set to close and if mode is dropdown\n if (this.languageSwitchDropdown && !this.langSwitchOpen && this.mode == 'dropdown') {\n this.languageSwitchDropdown.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (\n elementHasTransition(this.languageSwitchDropdown, 'transform') &&\n !userPrefersReducedMotion()\n ) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n this.languageSwitchDropdown?.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Language switch got set to open\n if (this.languageSwitchDropdown && this.langSwitchOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.languageSwitchDropdown.getBoundingClientRect();\n this.languageSwitchDropdown.classList.add('open');\n }\n }\n\n /**\n * Open or close the language switch programatically\n * @param force Boolean to force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.langSwitchOpen = force ?? !this.langSwitchOpen;\n this.dropdownToggled.emit({ open: this.langSwitchOpen, element: this.host });\n return this.langSwitchOpen;\n }\n\n /**\n * Emit a language change to the parent component\n *\n * @param newLang Config of the new language\n */\n switchLanguage(newLang: NavLangEntity) {\n this.languageChanged.emit(newLang.lang);\n this.toggleDropdown(false);\n }\n\n private getMergedLanguageConfig(config: NavLangEntity[], overrides?: IAvailableLanguage[]) {\n if (overrides === undefined) {\n return config;\n }\n\n return config.map(langConfig =>\n Object.assign(\n {},\n langConfig,\n overrides.find(l => l.lang === langConfig.lang),\n ),\n );\n }\n\n private setDropdownRef(element: HTMLElement | undefined) {\n this.languageSwitchDropdown = element;\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const config = state.localizedConfig.header;\n const mergedConfig = this.getMergedLanguageConfig(\n config.navLang,\n state.languageSwitchOverrides,\n );\n\n return (\n <Host>\n <div class={`language-switch ${this.mode}`}>\n <SvgSprite />\n {this.mode === 'dropdown' ? (\n <button\n class=\"lang-btn\"\n aria-expanded={`${this.langSwitchOpen}`}\n aria-haspopup=\"listbox\"\n onClick={() => this.toggleDropdown()}\n >\n <span class=\"visually-hidden\">\n {config.translations.navLangAriaLabel}, {translate('Current language is English')}\n </span>\n <span aria-hidden=\"true\">{state.currentLanguage}</span>\n <SvgIcon name=\"pi-arrow-down\" classNames={this.langSwitchOpen ? 'rotated' : ''} />\n </button>\n ) : (\n <span class=\"bold current-language\">\n <span class=\"visually-hidden\">{translate('Current language is English')}</span>\n <span>{state.currentLanguage}</span>\n </span>\n )}\n {this.langSwitchOpen || this.mode === 'list' ? (\n <PostLanguageSwitchList\n navLang={mergedConfig}\n switchLanguage={e => this.switchLanguage(e)}\n dropdownRef={e => e !== undefined && this.setDropdownRef(e)}\n />\n ) : null}\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{r as registerInstance,h,H as Host,g as getElement}from"./index-2b83f5e9.js";import{s as state}from"./store-80b19c12.js";var postLogoCss='@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{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){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.nav-link:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post",system-ui,sans-serif}button{font:inherit;padding:0}a,button{border-radius: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;aspect-ratio:1/1}.logo{display:block;-ms-flex-align:center;align-items:center;background:#fc0}.logo svg{display:block;width:100%;height:100%}';var PostLogo=function(){function t(t){registerInstance(this,t)}t.prototype.render=function(){var t;if(((t=state.localizedConfig)===null||t===void 0?void 0:t.header.logo)===undefined)return;var o=state.localizedConfig.header.logo;return h(Host,null,h("a",{href:o.logoLink,class:"logo"},h("span",{class:"visually-hidden"},o.logoLinkTitle),h("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 72 72","aria-hidden":"true"},h("g",{id:"Logo"},h("rect",{fill:"#ffcc00",x:"0",y:"0",width:"72",height:"72"}),h("polygon",{fill:"#ff0000",points:"34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3"}),h("path",{d:"M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z"})))))};Object.defineProperty(t.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return t}();PostLogo.style=postLogoCss;export{PostLogo as post_logo};
|
|
2
2
|
//# sourceMappingURL=post-logo.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"names":["postLogoCss","PostLogo","prototype","render","_a","state","localizedConfig","header","logo","undefined","config","h","Host","href","logoLink","class","logoLinkTitle","xmlns","viewBox","id","fill","x","y","width","height","points","d"],"sources":["src/components/post-logo/post-logo.scss?tag=post-logo&encapsulation=shadow","src/components/post-logo/post-logo.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n aspect-ratio: 1/1;\n}\n\n.logo {\n display: block;\n align-items: center;\n background: color.$yellow;\n\n svg {\n display: block;\n width: 100%;\n height: 100%;\n }\n}\n","import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-logo',\n styleUrl: 'post-logo.scss',\n shadow: true,\n})\nexport class PostLogo {\n @Element() host: HTMLPostLogoElement;\n\n render() {\n if (state.localizedConfig?.header.logo === undefined) return;\n const config = state.localizedConfig.header.logo;\n\n return (\n <Host>\n <a href={config.logoLink} class=\"logo\">\n <span class=\"visually-hidden\">{config.logoLinkTitle}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 72 72\" aria-hidden=\"true\">\n <g id=\"Logo\">\n <rect fill=\"#ffcc00\" x=\"0\" y=\"0\" width=\"72\" height=\"72\" />\n <polygon\n fill=\"#ff0000\"\n points=\"34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3\"\n />\n <path d=\"M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z\" />\n </g>\n </svg>\n </a>\n </Host>\n );\n }\n}\n"],"mappings":"+HAAA,IAAMA,YAAc,u4I,ICQPC,SAAQ,W,uCAGnBA,EAAAC,UAAAC,OAAA,W,MACE,KAAIC,EAAAC,MAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,OAAOC,QAASC,UAAW,OACtD,IAAMC,EAASL,MAAMC,gBAAgBC,OAAOC,KAE5C,OACEG,EAACC,KAAI,KACHD,EAAA,KAAGE,KAAMH,EAAOI,SAAUC,MAAM,QAC9BJ,EAAA,QAAMI,MAAM,mBAAmBL,EAAOM,eACtCL,EAAA,OAAKM,MAAM,6BAA6BC,QAAQ,YAAW,cAAa,QACtEP,EAAA,KAAGQ,GAAG,QACJR,EAAA,QAAMS,KAAK,UAAUC,EAAE,IAAIC,EAAE,IAAIC,MAAM,KAAKC,OAAO,OACnDb,EAAA,WACES,KAAK,UACLK,OAAO,wLAETd,EAAA,QAAMe,EAAE,kQ,kIAlBD,G"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export{P as post_main_navigation}from"./post-main-navigation-12eaef9f.js";import"./index-2b83f5e9.js";import"./index-d2256e06.js";import"./store-80b19c12.js";import"./ui.service-a71cf490.js";import"./language.service-501b09a8.js";import"./svg-sprite.component-29439a18.js";import"./svg-icon.component-7295f7cc.js";
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(i,t,n,e){function o(i){return i instanceof n?i:new n((function(t){t(i)}))}return new(n||(n=Promise))((function(n,r){function a(i){try{l(e.next(i))}catch(i){r(i)}}function s(i){try{l(e["throw"](i))}catch(i){r(i)}}function l(i){i.done?n(i.value):o(i.value).then(a,s)}l((e=e.apply(i,t||[])).next())}))};var __generator=this&&this.__generator||function(i,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},e,o,r,a;return a={next:s(0),throw:s(1),return:s(2)},typeof Symbol==="function"&&(a[Symbol.iterator]=function(){return this}),a;function s(i){return function(t){return l([i,t])}}function l(s){if(e)throw new TypeError("Generator is already executing.");while(a&&(a=0,s[0]&&(n=0)),n)try{if(e=1,o&&(r=s[0]&2?o["return"]:s[0]?o["throw"]||((r=o["return"])&&r.call(o),0):o.next)&&!(r=r.call(o,s[1])).done)return r;if(o=0,r)s=[s[0]&2,r.value];switch(s[0]){case 0:case 1:r=s;break;case 4:n.label++;return{value:s[1],done:false};case 5:n.label++;o=s[1];s=[0];continue;case 7:s=n.ops.pop();n.trys.pop();continue;default:if(!(r=n.trys,r=r.length>0&&r[r.length-1])&&(s[0]===6||s[0]===2)){n=0;continue}if(s[0]===3&&(!r||s[1]>r[0]&&s[1]<r[3])){n.label=s[1];break}if(s[0]===6&&n.label<r[1]){n.label=r[1];r=s;break}if(r&&n.label<r[2]){n.label=r[2];n.ops.push(s);break}if(r[2])n.ops.pop();n.trys.pop();continue}s=t.call(i,n)}catch(i){s=[6,i];o=0}finally{e=r=0}if(s[0]&5)throw s[1];return{value:s[0]?s[1]:void 0,done:true}}};import{h,r as registerInstance,c as createEvent,H as Host,g as getElement}from"./index-2b83f5e9.js";import{t as throttle}from"./index-d2256e06.js";import{s as state}from"./store-80b19c12.js";import{u as userPrefersReducedMotion}from"./ui.service-a71cf490.js";import{t as translate}from"./language.service-501b09a8.js";import{S as SvgSprite}from"./svg-sprite.component-29439a18.js";import{S as SvgIcon}from"./svg-icon.component-7295f7cc.js";var LevelOneAction=function(i){var t,n,e;var o=i.level.url?"a":"button";return h(o,{class:{"main-link":true,active:!!i.level.isActiveOverride,focus:i.isOpen},href:i.level.url,title:((t=i.level.title)===null||t===void 0?void 0:t.trim())&&((n=i.level.title)===null||n===void 0?void 0:n.trim())!==((e=i.level.text)===null||e===void 0?void 0:e.trim())?i.level.title:undefined,tabindex:i.level.url?undefined:0,"aria-haspopup":!i.level.noFlyout+"","aria-expanded":i.level.noFlyout?null:i.isOpen+"",onTouchEnd:function(t){return i.onTouchEnd(t)},onKeyDown:function(t){return i.onKeyDown(t)},onClick:function(t){return i.onClick(t)}},h("span",null,i.level.text),i.level.isActiveOverride?h("span",{class:"visually-hidden"},translate("Active navigation element")):null,h("svg",{"aria-hidden":"true"},h("use",{href:"#pi-pointy-arrow-right"})))};var postMainNavigationCss='.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)}: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)}.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}}';var PostMainNavigation=function(){function i(i){registerInstance(this,i);this.dropdownToggled=createEvent(this,"dropdownToggled",7);this.flyoutToggled=createEvent(this,"flyoutToggled",7);this.resizeTimer=null;this.mouseLeaveTimer=null;this.mouseEnterTimer=null;this.activeFlyout=undefined;this.mobileMenuOpen=undefined}i.prototype.connectedCallback=function(){var i=this;this.throttledResize=throttle(300,(function(){return i.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true});this.setWindowHeight()};i.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);if(this.mouseEnterTimer!==null)window.clearTimeout(this.mouseEnterTimer);if(this.mouseLeaveTimer!==null)window.clearTimeout(this.mouseLeaveTimer)};i.prototype.handleResize=function(){var i=this;this.host.classList.add("no-animation");if(this.resizeTimer!==null)window.clearTimeout(this.resizeTimer);this.resizeTimer=window.setTimeout((function(){i.host.classList.remove("no-animation")}),300);this.setWindowHeight()};i.prototype.setWindowHeight=function(){var i=this;if(!this.host){return}this.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"));window.setTimeout((function(){i.host.style.setProperty("--window-height","".concat(window.innerHeight,"px"))}),100)};i.prototype.openFlyout=function(i){var t;var n=(t=this.host.shadowRoot)===null||t===void 0?void 0:t.getElementById(i);if(n&&this.activeFlyout!==""){this.addFlyoutAnimation(n,"expand")}this.activeFlyout=i;this.flyoutToggled.emit(i);this.setWindowHeight();if(this.mouseLeaveTimer!==null){window.clearTimeout(this.mouseLeaveTimer);this.mouseLeaveTimer=null}};i.prototype.closeFlyout=function(i,t){if(t===void 0){t=true}var n;if(i===undefined)return;var e=(n=this.host.shadowRoot)===null||n===void 0?void 0:n.getElementById(i);if(e){this.addFlyoutAnimation(e,"collapse",t)}this.activeFlyout=null;this.flyoutToggled.emit()};i.prototype.addFlyoutAnimation=function(i,t,n){if(n===void 0){n=true}if(!userPrefersReducedMotion()){i.classList.add("animate");i.addEventListener("transitionend",(function(){var e,o,r;if(n){if(t==="expand"){(e=i.querySelector("button.flyout-back-button"))===null||e===void 0?void 0:e.focus()}else if(t==="collapse"){(r=(o=i.parentElement)===null||o===void 0?void 0:o.querySelector("a.main-link"))===null||r===void 0?void 0:r.focus()}}i.classList.remove("animate")}),{once:true})}};i.prototype.isActiveFlyout=function(i){return i===this.activeFlyout};i.prototype.handleMouseEnter=function(i){var t=this;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((function(){t.mouseEnterTimer=null;if(i.id!==undefined)t.openFlyout(i.id)}),200)}};i.prototype.handleMouseLeave=function(i){var t=this;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((function(){t.closeFlyout(i.id,false)}),300)}};i.prototype.handleTouchEnd=function(i,t){if(!this.isActiveFlyout(t.id)&&!t.noFlyout){if(i.cancelable)i.preventDefault();if(t.id)this.openFlyout(t.id)}};i.prototype.handleKeyPress=function(i,t){if(i.key==="Enter"&&!this.isActiveFlyout(t.id)&&!t.noFlyout){i.preventDefault();if(t.id)this.openFlyout(t.id)}};i.prototype.handleClick=function(i,t){if(!this.isActiveFlyout(t.id)&&!t.noFlyout){i.preventDefault();if(t.id)this.openFlyout(t.id)}};i.prototype.toggleDropdown=function(i){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.mobileMenuOpen=i===undefined?!this.mobileMenuOpen:i;this.dropdownToggled.emit({open:this.mobileMenuOpen,element:this.host});if(i===false){this.closeFlyout()}this.setWindowHeight();return[2,this.mobileMenuOpen]}))}))};i.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var i,t;return __generator(this,(function(n){t=(i=this.host.shadowRoot)===null||i===void 0?void 0:i.querySelector(".main-link");if(t){t.focus()}return[2]}))}))};i.prototype.setActiveFlyout=function(i){return __awaiter(this,void 0,void 0,(function(){return __generator(this,(function(t){this.activeFlyout=i;this.flyoutToggled.emit(this.activeFlyout);return[2]}))}))};i.prototype.render=function(){var i=this;var t;if(((t=state.localizedConfig)===null||t===void 0?void 0:t.header)===undefined)return;var n=state.localizedConfig.header;return h(Host,null,h(SvgSprite,null),h("nav",{"aria-label":n.translations.navMainAriaLabel,id:"post-internet-header-main-navigation",class:{"main-navigation":true,open:this.mobileMenuOpen},role:"menu"},h("ul",{class:"main-container container"},n.navMain.map((function(t){return h("li",{key:t.text,onMouseLeave:function(){return i.handleMouseLeave(t)},onMouseEnter:function(){return i.handleMouseEnter(t)}},h(LevelOneAction,{level:t,isOpen:i.isActiveFlyout(t.id),onTouchEnd:function(n){return i.handleTouchEnd(n,t)},onKeyDown:function(n){return i.handleKeyPress(n,t)},onClick:function(n){return i.handleClick(n,t)}}),!t.noFlyout?e.bind(i)(t):null)}))),h("slot",null)));function e(i){var t=this;return h("div",{id:i.id,class:{flyout:true,open:this.isActiveFlyout(i.id)}},h("div",{class:"wide-container"},h("div",{class:"flyout-nav"},h("button",{class:"nav-link flyout-back-button",onClick:function(){return t.closeFlyout(i.id)}},h(SvgIcon,{name:"pi-pointy-arrow-right",classNames:"mirrored"}),h("span",null,n.translations.backButtonText)),h("button",{class:"flyout-close-button",onClick:function(){return t.closeFlyout(i.id)}},h("span",{class:"visually-hidden"},i.text,", ",n.translations.mobileNavToggleClose),h(SvgIcon,{name:"pi-close"}))),h("h2",{class:"flyout-title container"},h("a",{href:i.url,class:"nav-link"},i.text)),h("div",{class:"flyout-row container"},i.flyout.map((function(t,n){return h("div",{key:t.title,class:"flyout-column"},t.title?h("h3",{id:"".concat(i.id,"-column-").concat(n)},t.title):null,h("ul",{class:"flyout-linklist","aria-labelledby":t.title?"".concat(i.id,"-column-").concat(n):undefined},t.linkList.map((function(i){return h("li",{key:i.url},h("a",{class:{"flyout-link":true,active:!!(i===null||i===void 0?void 0:i.isActiveOverride)},href:i.url,target:i.target},i.title,(i===null||i===void 0?void 0:i.isActiveOverride)?h("span",{class:"visually-hidden"},", ",translate("Active navigation element")):null))}))))})))))}};Object.defineProperty(i.prototype,"host",{get:function(){return getElement(this)},enumerable:false,configurable:true});return i}();PostMainNavigation.style=postMainNavigationCss;export{PostMainNavigation as post_main_navigation};
|
|
2
2
|
//# sourceMappingURL=post-main-navigation.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"names":["LevelOneAction","props","TagName","level","url","h","class","active","isActiveOverride","focus","isOpen","href","title","_a","trim","_b","_c","text","undefined","tabindex","noFlyout","onTouchEnd","e","onKeyDown","onClick","translate","postMainNavigationCss","PostMainNavigation","this","resizeTimer","mouseLeaveTimer","mouseEnterTimer","class_1","prototype","connectedCallback","_this","throttledResize","throttle","handleResize","window","addEventListener","passive","setWindowHeight","disconnectedCallback","removeEventListener","clearTimeout","host","classList","add","setTimeout","remove","style","setProperty","concat","innerHeight","openFlyout","id","flyout","shadowRoot","getElementById","activeFlyout","addFlyoutAnimation","flyoutToggled","emit","closeFlyout","manageFocus","direction","userPrefersReducedMotion","querySelector","parentElement","once","isActiveFlyout","handleMouseEnter","innerWidth","length","handleMouseLeave","handleTouchEnd","event","cancelable","preventDefault","handleKeyPress","key","handleClick","toggleDropdown","force","mobileMenuOpen","dropdownToggled","open","element","setFocus","firstLink","setActiveFlyout","render","state","localizedConfig","header","headerConfig","Host","SvgSprite","translations","navMainAriaLabel","role","navMain","map","levelOne","onMouseLeave","onMouseEnter","renderLevelOneFlyout","bind","SvgIcon","name","classNames","backButtonText","mobileNavToggleClose","i","linkList","link","target"],"sources":["src/components/post-main-navigation/components/level-one-action.component.tsx","src/components/post-main-navigation/post-main-navigation.scss?tag=post-main-navigation&encapsulation=shadow","src/components/post-main-navigation/post-main-navigation.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { NavMainEntity } from '../../../models/header.model';\nimport { translate } from '../../../services/language.service';\n\nexport const LevelOneAction = (props: {\n level: NavMainEntity;\n isOpen: boolean;\n onTouchEnd: (e: any) => void;\n onKeyDown: (e: any) => void;\n onClick: (e: any) => void;\n}) => {\n const TagName = props.level.url ? 'a' : 'button';\n\n return (\n <TagName\n class={{\n 'main-link': true,\n 'active': !!props.level.isActiveOverride,\n 'focus': props.isOpen,\n }}\n href={props.level.url}\n title={\n props.level.title?.trim() && props.level.title?.trim() !== props.level.text?.trim()\n ? props.level.title\n : undefined\n }\n tabindex={props.level.url ? undefined : 0}\n aria-haspopup={!props.level.noFlyout + ''}\n aria-expanded={props.level.noFlyout ? null : props.isOpen + ''}\n onTouchEnd={e => props.onTouchEnd(e)}\n onKeyDown={e => props.onKeyDown(e)}\n onClick={e => props.onClick(e)}\n >\n <span>{props.level.text}</span>\n {props.level.isActiveOverride ? (\n <span class=\"visually-hidden\">{translate('Active navigation element')}</span>\n ) : null}\n <svg aria-hidden=\"true\">\n <use href=\"#pi-pointy-arrow-right\" />\n </svg>\n </TagName>\n );\n};\n","@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/placeholders/text';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n --host-window-height: var(--window-height, 100vh);\n --calculated-header-height: calc(var(--header-height) + 1px);\n\n display: block;\n min-width: 0;\n height: var(--header-height);\n}\n\n:host(.no-animation) {\n * {\n animation: none !important;\n transition: none !important;\n }\n}\n\n.main-navigation,\n.main-container,\n.main-container li,\n.main-link {\n @include mixins.min(lg) {\n height: 100%;\n }\n}\n\n.main-navigation {\n font-size: functions.px-to-rem(18px);\n\n @include mixins.min(lg) {\n font-size: functions.px-to-rem(16px);\n margin: 0 0.75rem;\n }\n\n @include mixins.min(xl) {\n font-size: functions.px-to-rem(18px);\n }\n\n @include mixins.min(xxl) {\n font-size: functions.px-to-rem(20px);\n }\n\n @include mixins.max(lg) {\n position: absolute;\n top: var(--calculated-header-height);\n left: 0;\n background: white;\n height: calc(var(--host-window-height) - var(--calculated-header-height));\n width: 100%;\n margin: 0;\n overflow: hidden scroll;\n -webkit-overflow-scrolling: touch;\n overscroll-behavior: contain;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n z-index: -1;\n visibility: hidden;\n transform: translateY(-100%);\n transition: transform 0.35s, visibility 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &.open {\n transform: translateY(0);\n visibility: visible;\n }\n }\n}\n\n.main-container {\n @extend %no-list;\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n\n @include mixins.max(lg) {\n flex-direction: column;\n align-items: stretch;\n justify-content: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n > li + li {\n border-top: 1px solid color.$gray-10;\n }\n }\n\n @include mixins.min(lg) {\n padding-right: 0;\n padding-left: 0;\n }\n\n > li {\n flex: 0 1 auto;\n min-width: 0;\n }\n}\n\n.main-link {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n text-align: left;\n cursor: pointer;\n width: 100%;\n\n @include mixins.min(lg) {\n svg {\n display: none;\n }\n }\n\n @include mixins.max(lg) {\n display: flex;\n justify-content: space-between;\n align-items: center;\n font-weight: 300;\n padding: 0.625rem 0;\n width: 100%;\n text-align: left;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n }\n\n span {\n overflow: hidden;\n text-overflow: ellipsis;\n }\n}\n\n.main-link,\n.flyout-link {\n position: relative;\n color: black;\n\n &::after {\n content: '';\n position: absolute;\n bottom: -1px;\n left: 0;\n width: 100%;\n height: 4px;\n background-color: transparent;\n opacity: 0;\n transform: scaleX(0.8);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &:hover,\n &.focus {\n &::after {\n background-color: color.$gray-20;\n opacity: 1;\n transform: scale(1);\n transition: opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1),\n transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);\n }\n }\n\n &.active {\n font-weight: 700;\n\n &::after {\n background-color: color.$yellow;\n opacity: 1;\n transform: scale(1);\n }\n }\n}\n\n.flyout {\n left: 0;\n width: 100%;\n background: white;\n padding-bottom: 3rem;\n overflow: auto;\n overscroll-behavior: contain;\n visibility: hidden;\n\n @include mixins.min(lg) {\n position: absolute;\n top: 100%;\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n z-index: -1;\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n transform: translateY(-100%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n transform: translateY(0);\n }\n }\n\n @include mixins.max(lg) {\n position: fixed;\n top: 0;\n height: 100%;\n z-index: 1;\n transform: translateX(100%);\n\n &.open {\n transform: translateX(0);\n }\n }\n\n &.open {\n visibility: visible;\n }\n\n &.animate {\n transition: transform 0.35s, visibility 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n}\n\n.flyout-nav {\n @extend %font-curve-small;\n\n display: flex;\n justify-content: space-between;\n min-height: 3.5rem;\n\n // Change box-sizing to content-box to add 1px border width to flyout-nav hight.\n // This ensures flyout-nav has same hight as main-navigation-container.\n box-sizing: content-box;\n}\n\n.flyout-row {\n display: flex;\n gap: 1.5rem;\n\n @include mixins.max(lg) {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n\n @include mixins.max(rg) {\n grid-template-columns: 1fr;\n }\n}\n\n.flyout-column {\n flex: 1;\n max-width: 25%;\n\n @include mixins.max(lg) {\n max-width: none;\n }\n\n h3 {\n @extend %font-curve-small;\n margin-top: 0;\n }\n}\n\n.flyout-back-button {\n @include mixins.container-padding();\n\n display: flex;\n align-items: center;\n font-size: functions.px-to-rem(16px);\n font-weight: 400;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n\n.flyout-close-button {\n @extend %nav-link;\n\n display: flex;\n align-items: center;\n margin-left: auto;\n padding: 0 1.5rem;\n cursor: pointer;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n @include mixins.max(lg) {\n display: none;\n }\n}\n\n.flyout-linklist {\n @extend %no-list;\n\n li {\n border-top: 1px solid color.$gray-10;\n }\n\n &:first-child > li {\n border-top-color: transparent;\n }\n}\n\n.flyout-link {\n @extend %nav-link;\n\n display: block;\n padding: 0.75rem 0;\n}\n\n.flyout-title {\n @extend %font-curve-bigger-regular;\n\n margin: 2.5rem 0 1.5rem 0;\n\n @include mixins.min(lg) {\n display: none;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { state } from '../../data/store';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n IsFocusable,\n NavMainEntity,\n} from '../../models/header.model';\nimport { userPrefersReducedMotion } from '../../services/ui.service';\nimport { translate } from '../../services/language.service';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { LevelOneAction } from './components/level-one-action.component';\n\n@Component({\n tag: 'post-main-navigation',\n styleUrl: 'post-main-navigation.scss',\n shadow: true,\n})\nexport class PostMainNavigation implements HasDropdown, IsFocusable {\n @State() activeFlyout: string | null;\n @State() mobileMenuOpen: boolean;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Event() flyoutToggled: EventEmitter<string | null>;\n @Element() host: DropdownElement;\n private throttledResize: throttle<() => void>;\n private resizeTimer: number | null = null;\n private mouseLeaveTimer: number | null = null;\n private mouseEnterTimer: number | null = null;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n this.setWindowHeight();\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n if (this.mouseEnterTimer !== null) window.clearTimeout(this.mouseEnterTimer);\n if (this.mouseLeaveTimer !== null) window.clearTimeout(this.mouseLeaveTimer);\n }\n\n handleResize() {\n // Suspend all animations and transitions on window resize\n this.host.classList.add('no-animation');\n if (this.resizeTimer !== null) window.clearTimeout(this.resizeTimer);\n this.resizeTimer = window.setTimeout(() => {\n this.host.classList.remove('no-animation');\n }, 300);\n\n this.setWindowHeight();\n }\n\n // Update window height var\n setWindowHeight() {\n if (!this.host) {\n return;\n }\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n\n // Safari might or might not show a blank bar at the bottom where the browser\n // controls should be. This timeout waits for this bar to appear before resetting the available height\n window.setTimeout(() => {\n this.host.style.setProperty('--window-height', `${window.innerHeight}px`);\n }, 100);\n }\n\n openFlyout(id: string) {\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout && this.activeFlyout !== '') {\n // Add flyout animation if there's no flyout open\n this.addFlyoutAnimation(flyout, 'expand');\n }\n\n this.activeFlyout = id;\n this.flyoutToggled.emit(id);\n this.setWindowHeight();\n\n if (this.mouseLeaveTimer !== null) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n }\n\n closeFlyout(id?: string, manageFocus = true) {\n if (id === undefined) return;\n const flyout = this.host.shadowRoot?.getElementById(id);\n\n if (flyout) {\n // Add flyout animation for close action\n this.addFlyoutAnimation(flyout, 'collapse', manageFocus);\n }\n\n this.activeFlyout = null;\n this.flyoutToggled.emit();\n }\n\n addFlyoutAnimation(flyout: HTMLElement, direction?: 'expand' | 'collapse', manageFocus = true) {\n // Check if user prefers to see animations or not\n if (!userPrefersReducedMotion()) {\n flyout.classList.add('animate');\n\n // Remove flyout animation after transition ended\n flyout.addEventListener(\n 'transitionend',\n () => {\n if (manageFocus) {\n if (direction === 'expand') {\n flyout.querySelector<HTMLElement>('button.flyout-back-button')?.focus();\n } else if (direction === 'collapse') {\n flyout.parentElement?.querySelector<HTMLElement>('a.main-link')?.focus();\n }\n }\n\n flyout.classList.remove('animate');\n },\n {\n once: true,\n },\n );\n }\n }\n\n isActiveFlyout(id?: string) {\n return id === this.activeFlyout;\n }\n\n handleMouseEnter(level: NavMainEntity) {\n // Cancel opening the flyout if there already is one scheduled to open\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n this.mouseEnterTimer = null;\n }\n\n // Cancel closing if we enter again\n if (this.mouseLeaveTimer && this.activeFlyout === level.id) {\n window.clearTimeout(this.mouseLeaveTimer);\n this.mouseLeaveTimer = null;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0 && this.activeFlyout !== level.id) {\n // Delay opening the flyout for a moment to give users a chance to move the mouse over the navigation without triggering the flyout\n this.mouseEnterTimer = window.setTimeout(() => {\n this.mouseEnterTimer = null;\n if (level.id !== undefined) this.openFlyout(level.id);\n }, 200);\n }\n }\n\n handleMouseLeave(level: NavMainEntity) {\n // Cancel opening the flyout if a mouseleave event happens before the flyout opened\n if (this.mouseEnterTimer !== null) {\n window.clearTimeout(this.mouseEnterTimer);\n }\n\n // Don't close an open flyout if the mouseleave is from another mainnav entry\n if (this.activeFlyout && this.activeFlyout !== level.id) {\n return;\n }\n\n if (window.innerWidth >= 1024 && level.flyout.length > 0) {\n // Allow the pointer to shortly leave the flyout without closing it. This\n // allows for user mistakes and makes the experience less nervous\n this.mouseLeaveTimer = window.setTimeout(() => {\n this.closeFlyout(level.id, false);\n }, 300);\n }\n }\n\n handleTouchEnd(event: TouchEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first touchstart and has a flyout, prevent link activation and open the flyout\n if (event.cancelable) event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleKeyPress(event: KeyboardEvent, level: NavMainEntity) {\n if (event.key === 'Enter' && !this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first enter keypress and has a flyout, prevent link activation and open the flyout\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n handleClick(event: MouseEvent, level: NavMainEntity) {\n if (!this.isActiveFlyout(level.id) && !level.noFlyout) {\n // It's the first click, always open the flyout, never the link\n // This is relevant for desktop with active screenreader which\n // translates an enter keypress to a click\n event.preventDefault();\n if (level.id) this.openFlyout(level.id);\n }\n }\n\n /**\n * Toggle the main navigation (only visible on mobile)\n * @param force Force a state\n * @returns Boolean indicating new state\n */\n @Method()\n async toggleDropdown(force?: boolean) {\n this.mobileMenuOpen = force === undefined ? !this.mobileMenuOpen : force;\n this.dropdownToggled.emit({ open: this.mobileMenuOpen, element: this.host });\n\n if (force === false) {\n this.closeFlyout();\n }\n\n this.setWindowHeight();\n\n return this.mobileMenuOpen;\n }\n\n /**\n * Focus the main navigation toggle button\n */\n @Method()\n async setFocus() {\n const firstLink = this.host.shadowRoot?.querySelector<HTMLElement>('.main-link');\n if (firstLink) {\n firstLink.focus();\n }\n }\n\n /**\n * Open a specific flyout\n * @param id Flyout ID\n */\n @Method()\n async setActiveFlyout(id: string | null) {\n this.activeFlyout = id;\n this.flyoutToggled.emit(this.activeFlyout);\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <SvgSprite />\n <nav\n aria-label={headerConfig.translations.navMainAriaLabel}\n id=\"post-internet-header-main-navigation\"\n class={{ 'main-navigation': true, 'open': this.mobileMenuOpen }}\n role=\"menu\"\n >\n <ul class=\"main-container container\">\n {headerConfig.navMain.map(levelOne => (\n <li\n key={levelOne.text}\n onMouseLeave={() => this.handleMouseLeave(levelOne)}\n onMouseEnter={() => this.handleMouseEnter(levelOne)}\n >\n <LevelOneAction\n level={levelOne}\n isOpen={this.isActiveFlyout(levelOne.id)}\n onTouchEnd={e => this.handleTouchEnd(e, levelOne)}\n onKeyDown={e => this.handleKeyPress(e, levelOne)}\n onClick={e => this.handleClick(e, levelOne)}\n />\n {!levelOne.noFlyout ? renderLevelOneFlyout.bind(this)(levelOne) : null}\n </li>\n ))}\n </ul>\n <slot></slot>\n </nav>\n </Host>\n );\n\n function renderLevelOneFlyout(levelOne: NavMainEntity) {\n return (\n <div id={levelOne.id} class={{ flyout: true, open: this.isActiveFlyout(levelOne.id) }}>\n <div class=\"wide-container\">\n <div class=\"flyout-nav\">\n <button\n class=\"nav-link flyout-back-button\"\n onClick={() => this.closeFlyout(levelOne.id)}\n >\n <SvgIcon name=\"pi-pointy-arrow-right\" classNames=\"mirrored\" />\n <span>{headerConfig.translations.backButtonText}</span>\n </button>\n <button class=\"flyout-close-button\" onClick={() => this.closeFlyout(levelOne.id)}>\n <span class=\"visually-hidden\">\n {levelOne.text}, {headerConfig.translations.mobileNavToggleClose}\n </span>\n <SvgIcon name=\"pi-close\" />\n </button>\n </div>\n <h2 class=\"flyout-title container\">\n <a href={levelOne.url} class=\"nav-link\">\n {levelOne.text}\n </a>\n </h2>\n <div class=\"flyout-row container\">\n {levelOne.flyout.map((flyout, i) => (\n <div key={flyout.title} class=\"flyout-column\">\n {flyout.title ? <h3 id={`${levelOne.id}-column-${i}`}>{flyout.title}</h3> : null}\n <ul\n class=\"flyout-linklist\"\n aria-labelledby={flyout.title ? `${levelOne.id}-column-${i}` : undefined}\n >\n {flyout.linkList.map(link => (\n <li key={link.url}>\n <a\n class={{\n 'flyout-link': true,\n 'active': !!link?.isActiveOverride,\n }}\n href={link.url}\n target={link.target}\n >\n {link.title}\n {link?.isActiveOverride ? (\n <span class=\"visually-hidden\">\n , {translate('Active navigation element')}\n </span>\n ) : null}\n </a>\n </li>\n ))}\n </ul>\n </div>\n ))}\n </div>\n </div>\n </div>\n );\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import{r as registerInstance,h,H as Host}from"./index-2b83f5e9.js";import{s as state}from"./store-80b19c12.js";var postMetaNavigationCss='@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,.meta-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),.meta-link:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.meta-link:hover,.nav-link:focus,.meta-link:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.meta-link:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.meta-link>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.meta-link>span{-ms-flex-negative:1;flex-shrink:1}.no-list,.meta-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;font-size:.875rem}.meta-container{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;-ms-flex-align:center;align-items:center;min-height:3rem;background:#faf9f8}@media (min-width: 1441px){.meta-container:not(.full-width){margin:0 auto;max-width:1440px}}.meta-container.vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;padding-top:2.5rem;padding-bottom:2.5rem}@media (max-width: 599.98px){.meta-container.vertical{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.meta-container.vertical{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.meta-container.vertical{padding-right:40px;padding-left:40px}}@media (min-width: 1024px){.meta-container.vertical{display:none}}.meta-container.horizontal ::slotted(*){--separator-display:block;--separator-height:2.125rem}.meta-container.horizontal::before{display:block;content:"";position:absolute;top:0px;height:var(--meta-header-height);background-color:#faf9f8;left:50%;width:50%}.horizontal .meta-navigation{position:relative;padding-right:1rem}.meta-list{display:-ms-flexbox;display:flex}.vertical .meta-list{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start}.meta-link{font-size:.875rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 .5rem;min-height:2.125rem;border-radius:3px}.meta-link.active{background:#fc0;color:#000}.vertical .meta-link{color:#000;padding:0}.vertical .meta-link.active{padding:0 .5rem;margin-left:-0.5rem}';var PostMetaNavigation=function(){function t(t){registerInstance(this,t);this.orientation=undefined;this.fullWidth=false}t.prototype.render=function(){var t,e;if(((t=state.localizedConfig)===null||t===void 0?void 0:t.header.navMeta)===undefined)return;var i=state.localizedConfig.header;return h(Host,null,h("div",{class:"meta-container ".concat(this.orientation).concat(this.fullWidth?" full-width":"")},h("nav",{"aria-label":i.translations.navMetaAriaLabel,class:"meta-navigation"},h("ul",{class:"meta-list"},(e=i.navMeta)===null||e===void 0?void 0:e.filter((function(t){return!t.isHomeLink})).map((function(t){return h("li",{key:t.url},h("a",{class:{active:t.isActive,"meta-link":true},target:t.target,href:t.url},h("span",{"aria-hidden":"true"},t.text)))})))),h("slot",null)))};return t}();PostMetaNavigation.style=postMetaNavigationCss;export{PostMetaNavigation as post_meta_navigation};
|
|
2
2
|
//# sourceMappingURL=post-meta-navigation.entry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":[],"mappings":""}
|
|
1
|
+
{"version":3,"names":["postMetaNavigationCss","PostMetaNavigation","prototype","render","_a","state","localizedConfig","header","navMeta","undefined","headerConfig","h","Host","class","concat","this","orientation","fullWidth","translations","navMetaAriaLabel","_b","filter","meta","isHomeLink","map","key","url","active","isActive","target","href","text"],"sources":["src/components/post-meta-navigation/post-meta-navigation.scss?tag=post-meta-navigation&encapsulation=shadow","src/components/post-meta-navigation/post-meta-navigation.tsx"],"sourcesContent":["@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/functions';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n font-size: functions.px-to-rem(14px);\n}\n\n.meta-container {\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-height: functions.px-to-rem(48px);\n\n background: color.$gray-background-light;\n\n @media (min-width: 1441px) {\n &:not(.full-width) {\n margin: 0 auto;\n max-width: 1440px;\n }\n }\n\n &.vertical {\n @include mixins.container-padding();\n\n flex-direction: column;\n align-items: flex-start;\n padding-top: 2.5rem;\n padding-bottom: 2.5rem;\n\n @include mixins.min(lg) {\n display: none;\n }\n }\n\n &.horizontal {\n ::slotted(*) {\n --separator-display: block;\n --separator-height: #{functions.px-to-rem(34px)};\n }\n\n &::before {\n display: block;\n content: '';\n position: absolute;\n top: 0px;\n height: var(--meta-header-height);\n background-color: color.$gray-background-light;\n left: 50%;\n width: 50%;\n }\n }\n}\n\n.meta-navigation {\n .horizontal & {\n position: relative;\n padding-right: 1rem;\n }\n}\n\n.meta-list {\n @extend %no-list;\n display: flex;\n\n .vertical & {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n.meta-link {\n @extend %nav-link;\n\n font-size: functions.px-to-rem(14px);\n display: flex;\n align-items: center;\n padding: 0 0.5rem;\n min-height: functions.px-to-rem(34px);\n border-radius: 3px;\n\n &.active {\n background: color.$yellow;\n color: black;\n }\n\n .vertical & {\n color: black;\n padding: 0;\n\n &.active {\n padding: 0 0.5rem;\n margin-left: -0.5rem;\n }\n }\n}\n","import { Component, Host, h, Prop } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-meta-navigation',\n styleUrl: 'post-meta-navigation.scss',\n shadow: true,\n})\nexport class PostMetaNavigation {\n @Prop() orientation: 'horizontal' | 'vertical';\n @Prop() fullWidth?: boolean = false;\n\n render() {\n if (state.localizedConfig?.header.navMeta === undefined) return;\n const headerConfig = state.localizedConfig.header;\n\n return (\n <Host>\n <div class={`meta-container ${this.orientation}${this.fullWidth ? ' full-width' : ''}`}>\n <nav aria-label={headerConfig.translations.navMetaAriaLabel} class=\"meta-navigation\">\n <ul class=\"meta-list\">\n {headerConfig.navMeta\n ?.filter(meta => !meta.isHomeLink)\n .map(meta => (\n <li key={meta.url}>\n <a\n class={{ 'active': meta.isActive, 'meta-link': true }}\n target={meta.target}\n href={meta.url}\n >\n <span aria-hidden=\"true\">{meta.text}</span>\n </a>\n </li>\n ))}\n </ul>\n </nav>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"+GAAA,IAAMA,sBAAwB,0/L,ICQjBC,mBAAkB,W,iFAEC,K,CAE9BA,EAAAC,UAAAC,OAAA,W,QACE,KAAIC,EAAAC,MAAMC,mBAAe,MAAAF,SAAA,SAAAA,EAAEG,OAAOC,WAAYC,UAAW,OACzD,IAAMC,EAAeL,MAAMC,gBAAgBC,OAE3C,OACEI,EAACC,KAAI,KACHD,EAAA,OAAKE,MAAO,kBAAAC,OAAkBC,KAAKC,aAAWF,OAAGC,KAAKE,UAAY,cAAgB,KAChFN,EAAA,oBAAiBD,EAAaQ,aAAaC,iBAAkBN,MAAM,mBACjEF,EAAA,MAAIE,MAAM,cACPO,EAAAV,EAAaF,WAAO,MAAAY,SAAA,SAAAA,EACjBC,QAAO,SAAAC,GAAQ,OAACA,EAAKC,UAAN,IAChBC,KAAI,SAAAF,GAAI,OACPX,EAAA,MAAIc,IAAKH,EAAKI,KACZf,EAAA,KACEE,MAAO,CAAEc,OAAUL,EAAKM,SAAU,YAAa,MAC/CC,OAAQP,EAAKO,OACbC,KAAMR,EAAKI,KAEXf,EAAA,sBAAkB,QAAQW,EAAKS,OAP5B,MAafpB,EAAA,c,WA5BqB,G"}
|