@swisspost/internet-header 1.10.0 → 1.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{if.component-51d000af.js → if.component-2cd3c1ff.js} +1 -1
- package/dist/cjs/if.component-2cd3c1ff.js.map +1 -0
- package/dist/cjs/{index-87874f19.js → index-4bd0adf1.js} +197 -43
- package/dist/cjs/index-4bd0adf1.js.map +1 -0
- package/dist/cjs/index.cjs.js +36 -0
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{klp-widget.controller-7908f551.js → klp-widget.controller-59fd5d5e.js} +1 -1
- package/dist/cjs/{klp-widget.controller-7908f551.js.map → klp-widget.controller-59fd5d5e.js.map} +1 -1
- package/dist/cjs/{language.service-672abba5.js → language.service-dbe2a435.js} +11 -6
- package/dist/cjs/language.service-dbe2a435.js.map +1 -0
- package/dist/cjs/loader.cjs.js +3 -12
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/post-internet-breadcrumbs-09754c05.js +3616 -0
- package/dist/cjs/post-internet-breadcrumbs-09754c05.js.map +1 -0
- package/dist/cjs/post-internet-footer-b51276d8.js +161 -0
- package/dist/cjs/post-internet-footer-b51276d8.js.map +1 -0
- package/dist/cjs/post-internet-header-5962d752.js +828 -0
- package/dist/cjs/post-internet-header-5962d752.js.map +1 -0
- package/dist/cjs/post-klp-login-widget-d03de512.js +63 -0
- package/dist/cjs/post-klp-login-widget-d03de512.js.map +1 -0
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +6 -40
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch-9cd31034.js +106 -0
- package/dist/cjs/post-language-switch-9cd31034.js.map +1 -0
- package/dist/cjs/post-language-switch.cjs.entry.js +8 -99
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo-5867ad55.js +25 -0
- package/dist/cjs/post-logo-5867ad55.js.map +1 -0
- package/dist/cjs/post-logo.cjs.entry.js +4 -18
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation-ab81aac6.js +240 -0
- package/dist/cjs/post-main-navigation-ab81aac6.js.map +1 -0
- package/dist/cjs/post-main-navigation.cjs.entry.js +9 -233
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation-0b73779f.js +26 -0
- package/dist/cjs/post-meta-navigation-0b73779f.js.map +1 -0
- package/dist/cjs/post-meta-navigation.cjs.entry.js +4 -19
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search-2232c291.js +597 -0
- package/dist/cjs/post-search-2232c291.js.map +1 -0
- package/dist/cjs/post-search.cjs.entry.js +11 -570
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks-3db1d214.js +52 -0
- package/dist/cjs/post-skiplinks-3db1d214.js.map +1 -0
- package/dist/cjs/post-skiplinks.cjs.entry.js +6 -45
- package/dist/cjs/post-skiplinks.cjs.entry.js.map +1 -1
- package/dist/cjs/{store-b99affc1.js → store-77668e50.js} +2 -2
- package/dist/cjs/store-77668e50.js.map +1 -0
- package/dist/cjs/{svg-icon.component-8e05af84.js → svg-icon.component-5965f301.js} +2 -2
- package/dist/cjs/svg-icon.component-5965f301.js.map +1 -0
- package/dist/cjs/{svg-sprite.component-f1866070.js → svg-sprite.component-4b5677ef.js} +2 -2
- package/dist/cjs/svg-sprite.component-4b5677ef.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +11 -3608
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +6 -154
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +10 -823
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.js +3 -6
- package/dist/cjs/swisspost-internet-header.cjs.js.map +1 -1
- package/dist/cjs/{ui.service-e1ebb6d4.js → ui.service-488151be.js} +1 -1
- package/dist/cjs/ui.service-488151be.js.map +1 -0
- package/dist/cjs/{utils-60853c5d.js → utils-717975e0.js} +1 -1
- package/dist/cjs/utils-717975e0.js.map +1 -0
- package/dist/collection/assets/i18n/translations.js +5 -0
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/collection-manifest.json +12 -12
- package/dist/collection/components/post-internet-breadcrumbs/components/breadcrumb-list.component.js +4 -4
- package/dist/collection/components/post-internet-breadcrumbs/components/focus-trap.component.js +2 -2
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-dropdown.component.js +4 -4
- package/dist/collection/components/post-internet-breadcrumbs/components/middle-links.component.js +2 -2
- package/dist/collection/components/post-internet-breadcrumbs/components/overlay.component.js +3 -3
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +2 -2488
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js +38 -16
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.js.map +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-address.component.js +2 -2
- package/dist/collection/components/post-internet-footer/components/post-footer-block-contact.component.js +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-custom.component.js +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-list.component.js +1 -1
- package/dist/collection/components/post-internet-footer/components/post-footer-block-socials.component.js +1 -1
- package/dist/collection/components/post-internet-footer/post-internet-footer.css +1 -2308
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +8 -8
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +3 -3
- package/dist/collection/components/post-internet-header/post-internet-header.css +1 -403
- package/dist/collection/components/post-internet-header/post-internet-header.js +42 -18
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/klp-widget.controller.js +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +2 -1451
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +48 -7
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/components/post-language-switch-list.js +3 -3
- package/dist/collection/components/post-language-switch/post-language-switch.css +1 -370
- package/dist/collection/components/post-language-switch/post-language-switch.js +11 -9
- package/dist/collection/components/post-language-switch/post-language-switch.js.map +1 -1
- package/dist/collection/components/post-logo/post-logo.css +1 -265
- package/dist/collection/components/post-logo/post-logo.js +2 -2
- package/dist/collection/components/post-main-navigation/components/level-one-action.component.js +2 -2
- package/dist/collection/components/post-main-navigation/post-main-navigation.css +1 -641
- package/dist/collection/components/post-main-navigation/post-main-navigation.js +18 -13
- package/dist/collection/components/post-main-navigation/post-main-navigation.js.map +1 -1
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +1 -345
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.js +2 -2
- package/dist/collection/components/post-search/post-search.css +19 -2482
- package/dist/collection/components/post-search/post-search.js +42 -18
- package/dist/collection/components/post-search/post-search.js.map +1 -1
- package/dist/collection/components/post-skiplinks/post-skiplinks.css +1 -21
- package/dist/collection/components/post-skiplinks/post-skiplinks.js +4 -4
- package/dist/collection/components/post-skiplinks/post-skiplinks.js.map +1 -1
- package/dist/collection/data/store.js +1 -1
- package/dist/collection/index.js +11 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/services/config.service.js +10 -10
- package/dist/collection/services/config.service.js.map +1 -1
- package/dist/collection/services/language.service.js +6 -6
- package/dist/collection/services/language.service.js.map +1 -1
- package/dist/collection/services/route.service.js +4 -4
- package/dist/collection/services/route.service.js.map +1 -1
- package/dist/collection/services/search/coveo.service.js +3 -3
- package/dist/collection/services/search/parcel.service.js +1 -1
- package/dist/collection/services/search/places.service.js +3 -3
- package/dist/collection/services/search/search.service.js +2 -2
- package/dist/collection/utils/highlighted.component.js +1 -1
- package/dist/collection/utils/svg-icon.component.js +1 -1
- package/dist/collection/utils/svg-sprite.component.js +1 -1
- package/dist/components/index.d.ts +6 -0
- package/dist/components/index.js +11 -1
- package/dist/components/index.js.map +1 -1
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +9 -4
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +19 -2
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +1 -1
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +1 -1
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +1 -1
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +1 -1
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +22 -2
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/post-skiplinks2.js +1 -1
- package/dist/components/post-skiplinks2.js.map +1 -1
- package/dist/components/store.js.map +1 -1
- package/dist/components/svg-icon.component.js.map +1 -1
- package/dist/components/svg-sprite.component.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +9 -5
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +2 -2
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +39 -30
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/components/ui.service.js.map +1 -1
- package/dist/components/utils.js.map +1 -1
- package/dist/docs.d.ts +334 -235
- package/dist/docs.json +478 -15
- package/dist/esm/{if.component-0fe54385.js → if.component-3a779aca.js} +1 -1
- package/dist/esm/if.component-3a779aca.js.map +1 -0
- package/dist/esm/{index-82f4f02c.js → index-2b83f5e9.js} +197 -43
- package/dist/esm/index-2b83f5e9.js.map +1 -0
- package/dist/esm/index.js +21 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{klp-widget.controller-30d47ff4.js → klp-widget.controller-2a0a5183.js} +1 -1
- package/dist/esm/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
- package/dist/esm/{language.service-4289815d.js → language.service-501b09a8.js} +11 -6
- package/dist/esm/language.service-501b09a8.js.map +1 -0
- package/dist/esm/loader.js +4 -13
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/post-internet-breadcrumbs-474f625e.js +3614 -0
- package/dist/esm/post-internet-breadcrumbs-474f625e.js.map +1 -0
- package/dist/esm/post-internet-footer-273b0d8d.js +159 -0
- package/dist/esm/post-internet-footer-273b0d8d.js.map +1 -0
- package/dist/esm/post-internet-header-a825bfd6.js +826 -0
- package/dist/esm/post-internet-header-a825bfd6.js.map +1 -0
- package/dist/esm/post-klp-login-widget-b1306336.js +61 -0
- package/dist/esm/post-klp-login-widget-b1306336.js.map +1 -0
- package/dist/esm/post-klp-login-widget.entry.js +5 -43
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch-fd570b9d.js +104 -0
- package/dist/esm/post-language-switch-fd570b9d.js.map +1 -0
- package/dist/esm/post-language-switch.entry.js +7 -102
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo-cde3c44d.js +23 -0
- package/dist/esm/post-logo-cde3c44d.js.map +1 -0
- package/dist/esm/post-logo.entry.js +3 -21
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation-12eaef9f.js +238 -0
- package/dist/esm/post-main-navigation-12eaef9f.js.map +1 -0
- package/dist/esm/post-main-navigation.entry.js +8 -236
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation-09e9bdc8.js +24 -0
- package/dist/esm/post-meta-navigation-09e9bdc8.js.map +1 -0
- package/dist/esm/post-meta-navigation.entry.js +3 -22
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search-5c3a10ac.js +595 -0
- package/dist/esm/post-search-5c3a10ac.js.map +1 -0
- package/dist/esm/post-search.entry.js +10 -573
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks-b3c32a77.js +50 -0
- package/dist/esm/post-skiplinks-b3c32a77.js.map +1 -0
- package/dist/esm/post-skiplinks.entry.js +5 -48
- package/dist/esm/post-skiplinks.entry.js.map +1 -1
- package/dist/esm/{store-44830922.js → store-80b19c12.js} +2 -2
- package/dist/esm/store-80b19c12.js.map +1 -0
- package/dist/esm/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
- package/dist/esm/svg-icon.component-7295f7cc.js.map +1 -0
- package/dist/esm/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
- package/dist/esm/svg-sprite.component-29439a18.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +10 -3611
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +5 -157
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +9 -826
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.js +4 -7
- package/dist/esm/swisspost-internet-header.js.map +1 -1
- package/dist/esm/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +1 -1
- package/dist/esm/ui.service-a71cf490.js.map +1 -0
- package/dist/esm/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
- package/dist/esm/utils-3a8ff48f.js.map +1 -0
- package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js +1 -1
- package/dist/esm-es5/bodyScrollLock.esm-afcc00e3.js.map +1 -1
- package/dist/esm-es5/if.component-3a779aca.js +2 -0
- package/dist/esm-es5/index-2b83f5e9.js +2 -0
- package/dist/esm-es5/index-2b83f5e9.js.map +1 -0
- package/dist/esm-es5/index-d2256e06.js +1 -1
- package/dist/esm-es5/index.js +1 -1
- package/dist/esm-es5/klp-widget.controller-2a0a5183.js +13 -0
- package/dist/esm-es5/{klp-widget.controller-30d47ff4.js.map → klp-widget.controller-2a0a5183.js.map} +1 -1
- package/dist/esm-es5/language.service-501b09a8.js +2 -0
- package/dist/esm-es5/language.service-501b09a8.js.map +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js +7 -0
- package/dist/esm-es5/post-internet-breadcrumbs-474f625e.js.map +1 -0
- package/dist/esm-es5/post-internet-footer-273b0d8d.js +2 -0
- package/dist/esm-es5/post-internet-footer-273b0d8d.js.map +1 -0
- package/dist/esm-es5/post-internet-header-a825bfd6.js +2 -0
- package/dist/esm-es5/post-internet-header-a825bfd6.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget-b1306336.js +2 -0
- package/dist/esm-es5/post-klp-login-widget-b1306336.js.map +1 -0
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch-fd570b9d.js +2 -0
- package/dist/esm-es5/post-language-switch-fd570b9d.js.map +1 -0
- 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-cde3c44d.js +2 -0
- package/dist/esm-es5/post-logo-cde3c44d.js.map +1 -0
- 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-12eaef9f.js +2 -0
- package/dist/esm-es5/post-main-navigation-12eaef9f.js.map +1 -0
- 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-09e9bdc8.js +2 -0
- package/dist/esm-es5/post-meta-navigation-09e9bdc8.js.map +1 -0
- 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-5c3a10ac.js +2 -0
- package/dist/esm-es5/post-search-5c3a10ac.js.map +1 -0
- 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-b3c32a77.js +2 -0
- package/dist/esm-es5/post-skiplinks-b3c32a77.js.map +1 -0
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js.map +1 -1
- package/dist/esm-es5/store-80b19c12.js +2 -0
- package/dist/esm-es5/store-80b19c12.js.map +1 -0
- package/dist/esm-es5/{svg-icon.component-f2fda279.js → svg-icon.component-7295f7cc.js} +2 -2
- package/dist/esm-es5/{svg-sprite.component-c140294e.js → svg-sprite.component-29439a18.js} +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +1 -6
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
- package/dist/esm-es5/{ui.service-2fbc9c45.js → ui.service-a71cf490.js} +2 -2
- package/dist/esm-es5/{utils-ee79122f.js → utils-3a8ff48f.js} +1 -1
- package/dist/swisspost-internet-header/index.esm.js +1 -1
- package/dist/swisspost-internet-header/p-0096509c.js +2 -0
- package/dist/swisspost-internet-header/p-0096509c.js.map +1 -0
- package/dist/swisspost-internet-header/p-05eea2be.js +2 -0
- package/dist/swisspost-internet-header/p-05eea2be.js.map +1 -0
- package/dist/swisspost-internet-header/p-0d61ca4e.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-0c5624c0.system.js → p-0e776d6e.system.js} +2 -2
- package/dist/swisspost-internet-header/p-18e9ce89.system.js +2 -0
- package/dist/swisspost-internet-header/p-18e9ce89.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-1a9fcba5.entry.js +2 -0
- package/dist/swisspost-internet-header/p-1a9fcba5.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-237a408c.entry.js +2 -0
- package/dist/swisspost-internet-header/p-237a408c.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-2470951e.js +2 -0
- package/dist/swisspost-internet-header/p-2470951e.js.map +1 -0
- package/dist/swisspost-internet-header/p-2eb179a7.entry.js +2 -0
- package/dist/swisspost-internet-header/p-2eb179a7.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-2fb1a3ce.system.js +2 -0
- package/dist/swisspost-internet-header/{p-cf9fb780.system.entry.js.map → p-2fb1a3ce.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-8bf099a8.js → p-3339310e.js} +1 -1
- package/dist/swisspost-internet-header/p-3339310e.js.map +1 -0
- package/dist/swisspost-internet-header/p-3672587a.entry.js +2 -0
- package/dist/swisspost-internet-header/p-3672587a.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-39785e3d.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-39785e3d.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-4248f499.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-4248f499.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-56764f7d.system.js +2 -0
- package/dist/swisspost-internet-header/{p-a691c791.system.entry.js.map → p-56764f7d.system.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-66d1bf9a.js → p-5a897619.js} +2 -2
- package/dist/swisspost-internet-header/p-5a897619.js.map +1 -0
- package/dist/swisspost-internet-header/p-5adcdd91.system.js +2 -0
- package/dist/swisspost-internet-header/p-5adcdd91.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-b762fba9.js → p-60ea6000.js} +2 -2
- package/dist/swisspost-internet-header/p-60ea6000.js.map +1 -0
- package/dist/swisspost-internet-header/p-6145b5f1.system.js +2 -0
- package/dist/swisspost-internet-header/p-6145b5f1.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-61528220.js +2 -0
- package/dist/swisspost-internet-header/p-61528220.js.map +1 -0
- package/dist/swisspost-internet-header/{p-459c3983.js → p-624d732c.js} +2 -2
- package/dist/swisspost-internet-header/p-624d732c.js.map +1 -0
- package/dist/swisspost-internet-header/p-65ce36ba.entry.js +2 -0
- package/dist/swisspost-internet-header/p-65ce36ba.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-70df9137.js +2 -0
- package/dist/swisspost-internet-header/p-70df9137.js.map +1 -0
- package/dist/swisspost-internet-header/{p-fb82b748.system.js → p-74fea9b8.system.js} +2 -2
- package/dist/swisspost-internet-header/p-771114f0.system.js +2 -0
- package/dist/swisspost-internet-header/p-771114f0.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-78e8a405.js +2 -0
- package/dist/swisspost-internet-header/p-78e8a405.js.map +1 -0
- package/dist/swisspost-internet-header/p-7a94a2d7.system.js +2 -0
- package/dist/swisspost-internet-header/{p-34da85e6.system.entry.js.map → p-7a94a2d7.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-7e78b029.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-7e78b029.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-8ddbca59.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-96618f42.system.js +2 -0
- package/dist/swisspost-internet-header/{p-3c8504b4.system.entry.js.map → p-96618f42.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-986a52bc.system.js +2 -0
- package/dist/swisspost-internet-header/p-9af33755.system.js +2 -0
- package/dist/swisspost-internet-header/p-9af33755.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-9b4d5e90.system.js +1 -1
- package/dist/swisspost-internet-header/p-9c385f74.system.js +3 -0
- package/dist/swisspost-internet-header/p-9c385f74.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-a0f5c014.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-a119b38d.js.map +1 -1
- package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-a290e3e2.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-a58fc500.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-a58fc500.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-a7de7323.system.js +2 -0
- package/dist/swisspost-internet-header/p-aab6679b.js +2 -0
- package/dist/swisspost-internet-header/p-aab6679b.js.map +1 -0
- package/dist/swisspost-internet-header/{p-bf99c127.system.js → p-ad9a417b.system.js} +2 -2
- package/dist/swisspost-internet-header/p-ad9a417b.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-aeaa2c26.entry.js +2 -0
- package/dist/swisspost-internet-header/p-aeaa2c26.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-b3014611.system.js +1 -1
- package/dist/swisspost-internet-header/p-b3014611.system.js.map +1 -1
- package/dist/swisspost-internet-header/{p-45db66a6.js → p-bbfd407b.js} +1 -1
- package/dist/swisspost-internet-header/p-bbfd407b.js.map +1 -0
- package/dist/swisspost-internet-header/p-bcd01683.system.js +13 -0
- package/dist/swisspost-internet-header/{p-b4c0cb5a.system.js.map → p-bcd01683.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-c4011fc6.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-c7945779.system.js +7 -0
- package/dist/swisspost-internet-header/p-c7945779.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-c8d9cc8c.js +2 -0
- package/dist/swisspost-internet-header/p-c8d9cc8c.js.map +1 -0
- package/dist/swisspost-internet-header/p-c99a43b0.entry.js +2 -0
- package/dist/swisspost-internet-header/p-c99a43b0.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-a2f9d462.js → p-cf06f703.js} +1 -1
- package/dist/swisspost-internet-header/p-cf06f703.js.map +1 -0
- package/dist/swisspost-internet-header/p-d9f67b45.entry.js +2 -0
- package/dist/swisspost-internet-header/p-d9f67b45.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-dc8296bd.js +2 -0
- package/dist/swisspost-internet-header/p-dc8296bd.js.map +1 -0
- package/dist/swisspost-internet-header/p-de27fab4.entry.js +2 -0
- package/dist/swisspost-internet-header/p-de27fab4.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-dee824b8.js +2 -0
- package/dist/swisspost-internet-header/p-dee824b8.js.map +1 -0
- package/dist/swisspost-internet-header/p-e187ba33.js +7 -0
- package/dist/swisspost-internet-header/p-e187ba33.js.map +1 -0
- package/dist/swisspost-internet-header/p-e2e1c5d4.js +3 -0
- package/dist/swisspost-internet-header/p-e2e1c5d4.js.map +1 -0
- package/dist/swisspost-internet-header/p-ee5e0cc6.system.js +2 -0
- package/dist/swisspost-internet-header/{p-fed8d74d.system.entry.js.map → p-ee5e0cc6.system.js.map} +1 -1
- package/dist/swisspost-internet-header/p-f25c234f.entry.js +2 -0
- package/dist/swisspost-internet-header/p-f25c234f.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-edb2802d.system.js → p-f2a43ce2.system.js} +1 -1
- package/dist/swisspost-internet-header/p-f2f69ff4.system.js +2 -0
- package/dist/swisspost-internet-header/p-f2f69ff4.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-f5876cc8.js +2 -0
- package/dist/swisspost-internet-header/p-f5876cc8.js.map +1 -0
- package/dist/swisspost-internet-header/p-f887c8bb.system.js +1 -1
- package/dist/swisspost-internet-header/p-fc2417e7.system.js +2 -0
- package/dist/swisspost-internet-header/p-fc2417e7.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-fef30370.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-fef30370.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.css +2 -2
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.js +2 -6
- package/dist/types/assets/i18n/translations.d.ts +5 -0
- package/dist/types/components/post-internet-breadcrumbs/post-internet-breadcrumbs.d.ts +5 -1
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -0
- package/dist/types/components/post-klp-login-widget/post-klp-login-widget.d.ts +5 -1
- package/dist/types/components/post-search/post-search.d.ts +6 -0
- package/dist/types/components/post-skiplinks/post-skiplinks.d.ts +1 -1
- package/dist/types/components.d.ts +70 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/services/language.service.d.ts +5 -0
- package/dist/types/stencil-public-runtime.d.ts +38 -5
- package/loader/index.d.ts +1 -1
- package/package.json +12 -14
- package/dist/cjs/if.component-51d000af.js.map +0 -1
- package/dist/cjs/index-87874f19.js.map +0 -1
- package/dist/cjs/language.service-672abba5.js.map +0 -1
- package/dist/cjs/store-b99affc1.js.map +0 -1
- package/dist/cjs/svg-icon.component-8e05af84.js.map +0 -1
- package/dist/cjs/svg-sprite.component-f1866070.js.map +0 -1
- package/dist/cjs/ui.service-e1ebb6d4.js.map +0 -1
- package/dist/cjs/utils-60853c5d.js.map +0 -1
- package/dist/esm/if.component-0fe54385.js.map +0 -1
- package/dist/esm/index-82f4f02c.js.map +0 -1
- package/dist/esm/language.service-4289815d.js.map +0 -1
- package/dist/esm/polyfills/css-shim.js +0 -1
- package/dist/esm/store-44830922.js.map +0 -1
- package/dist/esm/svg-icon.component-f2fda279.js.map +0 -1
- package/dist/esm/svg-sprite.component-c140294e.js.map +0 -1
- package/dist/esm/ui.service-2fbc9c45.js.map +0 -1
- package/dist/esm/utils-ee79122f.js.map +0 -1
- package/dist/esm-es5/if.component-0fe54385.js +0 -2
- package/dist/esm-es5/index-82f4f02c.js +0 -2
- package/dist/esm-es5/index-82f4f02c.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-30d47ff4.js +0 -13
- package/dist/esm-es5/language.service-4289815d.js +0 -2
- package/dist/esm-es5/language.service-4289815d.js.map +0 -1
- package/dist/esm-es5/store-44830922.js +0 -2
- package/dist/esm-es5/store-44830922.js.map +0 -1
- package/dist/swisspost-internet-header/p-02df8ca4.entry.js +0 -2
- package/dist/swisspost-internet-header/p-02df8ca4.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-0de024c6.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-0de024c6.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-11d05acc.js +0 -2
- package/dist/swisspost-internet-header/p-11d05acc.js.map +0 -1
- package/dist/swisspost-internet-header/p-1d455921.system.js +0 -3
- package/dist/swisspost-internet-header/p-1d455921.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +0 -2
- package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-2ab12ef9.entry.js +0 -2
- package/dist/swisspost-internet-header/p-2ab12ef9.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-33f6c69f.entry.js +0 -2
- package/dist/swisspost-internet-header/p-33f6c69f.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-34da85e6.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3cfe4534.entry.js +0 -2
- package/dist/swisspost-internet-header/p-3cfe4534.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-43320028.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-43320028.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-459c3983.js.map +0 -1
- package/dist/swisspost-internet-header/p-45db66a6.js.map +0 -1
- package/dist/swisspost-internet-header/p-50ea2036.system.js +0 -2
- package/dist/swisspost-internet-header/p-51c15273.entry.js +0 -2
- package/dist/swisspost-internet-header/p-51c15273.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-55bfdf22.system.js +0 -2
- package/dist/swisspost-internet-header/p-55fbc914.entry.js +0 -2
- package/dist/swisspost-internet-header/p-55fbc914.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-5d893017.system.js +0 -2
- package/dist/swisspost-internet-header/p-5d893017.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-66d1bf9a.js.map +0 -1
- package/dist/swisspost-internet-header/p-6bb07a80.entry.js +0 -2
- package/dist/swisspost-internet-header/p-6bb07a80.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-6dc0fc47.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-75dde9a2.entry.js +0 -7
- package/dist/swisspost-internet-header/p-75dde9a2.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-781ea7c2.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-88aac12c.system.js +0 -2
- package/dist/swisspost-internet-header/p-8bf099a8.js.map +0 -1
- package/dist/swisspost-internet-header/p-8e0a4d18.js +0 -3
- package/dist/swisspost-internet-header/p-8e0a4d18.js.map +0 -1
- package/dist/swisspost-internet-header/p-a2f9d462.js.map +0 -1
- package/dist/swisspost-internet-header/p-a5f5bb55.js +0 -2
- package/dist/swisspost-internet-header/p-a5f5bb55.js.map +0 -1
- package/dist/swisspost-internet-header/p-a691c791.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +0 -13
- package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-b5758d6a.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b762fba9.js.map +0 -1
- package/dist/swisspost-internet-header/p-bf99c127.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-cbba35a8.entry.js +0 -2
- package/dist/swisspost-internet-header/p-cbba35a8.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-cf9fb780.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-db8023e1.entry.js +0 -2
- package/dist/swisspost-internet-header/p-db8023e1.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js +0 -2
- /package/dist/esm-es5/{if.component-0fe54385.js.map → if.component-3a779aca.js.map} +0 -0
- /package/dist/esm-es5/{svg-icon.component-f2fda279.js.map → svg-icon.component-7295f7cc.js.map} +0 -0
- /package/dist/esm-es5/{svg-sprite.component-c140294e.js.map → svg-sprite.component-29439a18.js.map} +0 -0
- /package/dist/esm-es5/{ui.service-2fbc9c45.js.map → ui.service-a71cf490.js.map} +0 -0
- /package/dist/esm-es5/{utils-ee79122f.js.map → utils-3a8ff48f.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-50ea2036.system.js.map → p-0d61ca4e.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-0c5624c0.system.js.map → p-0e776d6e.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-fb82b748.system.js.map → p-74fea9b8.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-88aac12c.system.js.map → p-986a52bc.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-55bfdf22.system.js.map → p-a7de7323.system.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-edb2802d.system.js.map → p-f2a43ce2.system.js.map} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var __awaiter=this&&this.__awaiter||function(t,o,e,r){function i(t){return t instanceof e?t:new e((function(o){o(t)}))}return new(e||(e=Promise))((function(e,n){function l(t){try{s(r.next(t))}catch(t){n(t)}}function a(t){try{s(r["throw"](t))}catch(t){n(t)}}function s(t){t.done?e(t.value):i(t.value).then(l,a)}s((r=r.apply(t,o||[])).next())}))};var __generator=this&&this.__generator||function(t,o){var e={label:0,sent:function(){if(n[0]&1)throw n[1];return n[1]},trys:[],ops:[]},r,i,n,l;return l={next:a(0),throw:a(1),return:a(2)},typeof Symbol==="function"&&(l[Symbol.iterator]=function(){return this}),l;function a(t){return function(o){return s([t,o])}}function s(a){if(r)throw new TypeError("Generator is already executing.");while(l&&(l=0,a[0]&&(e=0)),e)try{if(r=1,i&&(n=a[0]&2?i["return"]:a[0]?i["throw"]||((n=i["return"])&&n.call(i),0):i.next)&&!(n=n.call(i,a[1])).done)return n;if(i=0,n)a=[a[0]&2,n.value];switch(a[0]){case 0:case 1:n=a;break;case 4:e.label++;return{value:a[1],done:false};case 5:e.label++;i=a[1];a=[0];continue;case 7:a=e.ops.pop();e.trys.pop();continue;default:if(!(n=e.trys,n=n.length>0&&n[n.length-1])&&(a[0]===6||a[0]===2)){e=0;continue}if(a[0]===3&&(!n||a[1]>n[0]&&a[1]<n[3])){e.label=a[1];break}if(a[0]===6&&e.label<n[1]){e.label=n[1];n=a;break}if(n&&e.label<n[2]){e.label=n[2];e.ops.push(a);break}if(n[2])e.ops.pop();e.trys.pop();continue}a=o.call(t,e)}catch(t){a=[6,t];i=0}finally{r=n=0}if(a[0]&5)throw a[1];return{value:a[0]?a[1]:void 0,done:true}}};System.register(["./p-9c385f74.system.js","./p-9b4d5e90.system.js","./p-b3014611.system.js","./p-9af33755.system.js","./p-986a52bc.system.js","./p-74fea9b8.system.js","./p-a7de7323.system.js","./p-f2a43ce2.system.js","./p-ad9a417b.system.js"],(function(t){"use strict";var o,e,r,i,n,l,a,s,f,m,d,g,c,u,x,p;return{setters:[function(t){o=t.h;e=t.r;r=t.c;i=t.H;n=t.g},function(t){l=t.t},function(t){a=t.c;s=t.d;f=t.e},function(t){m=t.s},function(t){d=t.e;g=t.u},function(t){c=t.S},function(t){u=t.S},function(t){x=t.I},function(t){p=t.t}],execute:function(){var h=this;var b;var w=function(t){var o=m.currentLanguage;return"https://www.post.ch/".concat(o,"/api/trackandtrace?id=").concat(encodeURIComponent(t))};var v=function(t,o){var e=o.packageTrackingRedirectUrl;return e.replace("{trackingNumber}",encodeURIComponent(t))};var y=function(t,o){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,k(t,o)];case 1:e=r.sent();return[2,"sending"in e]}}))}))};var k=function(t,o){var e=o.redirectPattern;return __awaiter(h,void 0,void 0,(function(){var o,r;return __generator(this,(function(i){o=new RegExp(e);if(o.test(t)){r=w(t);if(b)b.abort();b=new AbortController;return[2,new Promise((function(t,o){fetch(r,{signal:b.signal}).then((function(t){return t.json()})).then((function(o){t(Object.assign(Object.assign({},o),{ok:o.ok}))})).catch((function(t){if(t.name!=="AbortError"){console.error("Could not check track and trace API due to error: ".concat(t.message));o(t)}}))}))]}return[2,{ok:false,timestamp:(new Date).toDateString()}]}))}))};var z=function(t,o){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,k(t,o)];case 1:e=r.sent();return[2,e.ok?Object.assign(Object.assign({},e),{url:v(t,o)}):null]}}))}))};var I=function(t,o){return __awaiter(h,void 0,void 0,(function(){var e;return __generator(this,(function(r){switch(r.label){case 0:return[4,y(t,o)];case 1:e=r.sent();return[2,e?v(t,o):T(t)]}}))}))};var T=function(t){var o;if(((o=m.localizedConfig)===null||o===void 0?void 0:o.header.search)===undefined){return}var e=m.localizedConfig.header.search.searchPageUrl;var r="#q=".concat(encodeURIComponent(t));return"".concat(e).concat(r,"&t=AllTab")};var N=function(t,o,e){if(e===void 0){e=7}var r=t.slice(0,Math.max(e/2,e-o.length));return[r,o.slice(0,e-r.length)]};var _={url:"https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest",environment:{prod:{organisation:"postchagprod6ef4sbet",token:"xx5b629890-23b9-4fbe-b601-0e8719186969"},int01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},int02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev01:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},dev02:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},devs1:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"},test:{organisation:"postchagnonprods5sq57qt",token:"xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4"}}};var E;var F=function(t){return __awaiter(h,void 0,void 0,(function(){var o,e,r,i,n,l,a,s,f;return __generator(this,(function(d){if(((e=(o=m.localizedConfig)===null||o===void 0?void 0:o.header)===null||e===void 0?void 0:e.search)===undefined||((i=(r=m.localizedConfig)===null||r===void 0?void 0:r.header)===null||i===void 0?void 0:i.search.isCustomSuggestionHidden)===true)return[2,[]];n=m.localizedConfig.header.search;l=_.environment[m.environment],a=l.token,s=l.organisation;f="".concat(_.url,"?q=").concat(t,"&locale=").concat(m.currentLanguage,"&searchHub=").concat(n.searchHubName,"&pipeline=").concat(n.searchPipelineName,"&organizationId=").concat(s);if(E)E.abort();E=new AbortController;return[2,new Promise((function(t,o){fetch(f,{signal:E.signal,method:"GET",headers:{Authorization:"Bearer ".concat(a)}}).then((function(t){return t.json()})).then((function(o){t(o.completions.map((function(t){return Object.assign(Object.assign({},t),{redirectUrl:T(t.expression)})})))})).catch((function(t){if(t.name!=="AbortError"){console.error("Fetching coveo suggestions failed, ".concat(t,'\nDid you add "*.coveo.com" to your connect-src content security policy and tried turning off your adblocker?'));o(t)}}))}))]}))}))};var O="https://places.post.ch/StandortSuche/StaoCacheService";var R="https://places.post.ch";var A=function(t){return t.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g,"")};var S;var P=function(t){return __awaiter(h,void 0,void 0,(function(){var o,e;return __generator(this,(function(r){if(t.length===0){return[2,[]]}o=Object.entries({query:encodeURIComponent(t),lang:m.currentLanguage,limit:7}).reduce((function(t,o,e){var r=o[0],i=o[1];return"".concat(t).concat(e===0?"?":"&").concat(r,"=").concat(i)}),"");e="".concat(O,"/Geocode").concat(o);if(S)S.abort();S=new AbortController;return[2,new Promise((function(t,o){fetch(e,{signal:S.signal}).then((function(t){return t.json()})).then((function(o){if(!o.ok)throw new Error(o.info);t(o.locations)})).catch((function(t){if(t.name!=="AbortError"){console.error("Fetching places failed, ".concat(t,'\nDid you add "places.post.ch" to your connect-src content security policy?'));o(t)}}))}))]}))}))};var C=function(t,o){if(t===undefined)return o;var e=A(o);var r=A(t);var i=e.indexOf(r);if(i<0){return o}return"".concat(o.substring(0,i),"{").concat(o.substring(i,i+t.length),"}").concat(o.substring(i+t.length,o.length))};var L=function(t){var o;if(t.id){o="".concat(R,"/").concat(m.currentLanguage,"/").concat(t.id,"/detail")}else{o="".concat(R,"?preselecttext=").concat(encodeURIComponent(t.name))}return o};var H=function(t){var e;var r=(e=t.highlightClass)!==null&&e!==void 0?e:"bold";var i=t.text.replace(/[{(]/g,'<span class="'.concat(r,'">')).replace(/[})]/g,"</span>").replace(/[\[\]]/g,"");return o("span",{innerHTML:i})};var W='/*!\n * Copyright 2021 by Swiss Post, Information Technology\n *//*!\n * Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n\n * The MIT License (MIT)\n\n * Copyright (c) 2011-2020 Twitter, Inc.\n * Copyright (c) 2011-2020 The Bootstrap Authors\n\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n */.form-label{margin-bottom:.5rem;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label{padding-top:calc(0.875rem + 2px);padding-bottom:calc(0.875rem + 2px);margin-bottom:0;font-size:inherit;line-height:1.5;color:rgba(var(--post-contrast-color-rgb), 0.8)}.col-form-label-lg{padding-top:calc(1.25rem + 2px);padding-bottom:calc(1.25rem + 2px);font-size:1.25rem}.col-form-label-sm{padding-top:calc(0.375rem + 2px);padding-bottom:calc(0.375rem + 2px);font-size:0.875rem}.form-text{margin-top:.25rem;font-size:0.8125rem;color:var(--post-contrast-color)}.form-control{display:block;width:100%;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-clip:padding-box;border:2px solid #666;border-radius:0;-webkit-transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out}@media (prefers-reduced-motion: reduce){.form-control{-webkit-transition:none;transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:#000;background-color:#fff;border-color:var(--post-contrast-color-rgb);outline:0;-webkit-box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 0.25);box-shadow:0 0 0 .125rem rgba(var(--post-contrast-color-rgb), 0.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::-webkit-input-placeholder{color:#666;opacity:1}.form-control::-moz-placeholder{color:#666;opacity:1}.form-control:-ms-input-placeholder{color:#666;opacity:1}.form-control::-ms-input-placeholder{color:#666;opacity:1}.form-control::placeholder{color:#666;opacity:1}.form-control:disabled{color:#666;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border-color:#ccc;opacity:1}.form-control::-webkit-file-upload-button{padding:.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}.form-control::file-selector-button{padding:.875rem 1.125rem;margin:-0.875rem -1.125rem;-webkit-margin-end:1.125rem;margin-inline-end:1.125rem;color:#000;background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:2px;border-radius:0;-webkit-transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms;transition:opacity 250ms,border-color 250ms,background-color 250ms,color 250ms}@media (prefers-reduced-motion: reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{-webkit-transition:none;transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:#fff}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:#fff}.form-control-plaintext{display:block;width:100%;padding:.875rem 0;margin-bottom:0;line-height:1.5;color:var(--post-contrast-color);background-color:rgba(0,0,0,0);border:solid rgba(0,0,0,0);border-width:2px 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-sm,.form-control-plaintext.form-control-lg,.form-floating>.form-control-plaintext.form-control,.form-floating>.form-control-plaintext.form-select{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.96875rem + 4px);padding:.375rem .875rem;font-size:0.875rem;border-radius:0}.form-control-sm::-webkit-file-upload-button{padding:.375rem .875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:.875rem;margin-inline-end:.875rem}.form-control-sm::file-selector-button{padding:.375rem .875rem;margin:-0.375rem -0.875rem;-webkit-margin-end:.875rem;margin-inline-end:.875rem}.form-control-lg,.form-floating>.form-control,.form-floating>.form-select{min-height:calc(4.375rem + 4px);padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.form-control-lg::-webkit-file-upload-button,.form-floating>.form-control::-webkit-file-upload-button,.form-floating>.form-select::-webkit-file-upload-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}.form-control-lg::file-selector-button,.form-floating>.form-control::file-selector-button,.form-floating>.form-select::file-selector-button{padding:1.25rem 1.375rem;margin:-1.25rem -1.375rem;-webkit-margin-end:1.375rem;margin-inline-end:1.375rem}textarea.form-control{min-height:calc(3.25rem + 4px)}textarea.form-control-sm{min-height:calc(1.96875rem + 4px)}textarea.form-control-lg,.form-floating>textarea.form-control,.form-floating>textarea.form-select{min-height:calc(4.375rem + 4px)}.form-control-color{width:3rem;height:calc(3.25rem + 4px);padding:.875rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0 !important;border-radius:0}.form-control-color::-webkit-color-swatch{border:0 !important;border-radius:0}.form-control-color.form-control-sm{height:calc(1.96875rem + 4px)}.form-control-color.form-control-lg,.form-floating>.form-control-color.form-control,.form-floating>.form-control-color.form-select{height:calc(4.375rem + 4px)}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-select,.input-group>.form-floating{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-select:focus,.input-group>.form-floating:focus-within{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.875rem 1.125rem;font-size:1rem;font-weight:400;line-height:1.5;color:#000;text-align:center;white-space:nowrap;background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6);border:2px solid #666;border-radius:0}.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text,.input-group-lg>.btn{padding:1.25rem 1.375rem;font-size:1.25rem;border-radius:0}.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text,.input-group-sm>.btn{padding:.375rem .875rem;font-size:0.875rem;border-radius:0}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:4.5rem}.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(2px * -1);border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.form-control-rg{padding:.625rem .875rem;font-size:1rem;line-height:1.5}select.form-control-rg:not([size]):not([multiple]){height:calc(2.75rem + 4px)}.form-control{position:relative}.form-control:disabled{color:#666}.form-control[readonly]:not(:disabled){border-color:#666;background-color:#fff}.form-control[type=file]{position:relative;min-height:calc(3.25rem + 4px)}.form-control[type=file]::-webkit-file-upload-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}.form-control[type=file]::file-selector-button{display:block;position:absolute;top:0;bottom:0;right:0;margin-inline:0;height:auto;background-color:inherit;border-right:0 none;border-left:inherit}@supports (background: -webkit-named-image(i)){.form-control[type=file]::-webkit-file-upload-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::file-selector-button{display:initial;position:initial;margin-inline:0;padding-inline:0;width:0;border:0 none}.form-control[type=file]::after{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;content:"Choose File";position:absolute;top:0;bottom:0;right:0;z-index:2;padding-inline:.875rem;background-color:inherit;border-left:inherit;text-align:center}[lang=de] .form-control[type=file]::after{content:"Datei auswählen"}[lang=fr] .form-control[type=file]::after{content:"Choisir un fichier"}[lang=it] .form-control[type=file]::after{content:"Scegli file"}.form-control[type=file][multiple]::after{content:"Choose Files"}[lang=de] .form-control[type=file][multiple]::after{content:"Dateien auswählen"}[lang=fr] .form-control[type=file][multiple]::after{content:"Choisir des fichiers"}}.form-control[type=file].form-control-sm{min-height:calc(2.25rem + 4px)}.form-control[type=file].form-control-sm::after{padding-inline:.375rem}.form-control[type=file].form-control-rg{min-height:calc(2.75rem + 4px)}.form-control[type=file].form-control-rg::after{padding-inline:.625rem}.form-control[type=file].form-control-lg{min-height:calc(4rem + 4px)}.form-control[type=file].form-control-lg::after{padding-inline:1.25rem}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-control:hover:not(:disabled),.form-control:focus:not(:disabled){border-color:Highlight}.form-control:hover:not(:disabled)::-webkit-file-upload-button,.form-control:focus:not(:disabled)::-webkit-file-upload-button{border-left-color:Highlight}.form-control:hover:not(:disabled)::file-selector-button,.form-control:focus:not(:disabled)::file-selector-button{border-left-color:Highlight}}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(4.375rem + 4px);min-height:calc(4.375rem + 4px);line-height:1.5}.form-floating>label{position:absolute;top:0;left:0;z-index:2;height:100%;padding:1.25rem 1.375rem;overflow:hidden;text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:2px solid rgba(0,0,0,0);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1)}@media (prefers-reduced-motion: reduce){.form-floating>label{-webkit-transition:none;transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1.25rem 1.375rem}.form-floating>.form-control::-webkit-input-placeholder,.form-floating>.form-control-plaintext::-webkit-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-moz-placeholder,.form-floating>.form-control-plaintext::-moz-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:-ms-input-placeholder,.form-floating>.form-control-plaintext:-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::-ms-input-placeholder,.form-floating>.form-control-plaintext::-ms-input-placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control::placeholder,.form-floating>.form-control-plaintext::placeholder{color:rgba(0,0,0,0)}.form-floating>.form-control:not(:-moz-placeholder-shown),.form-floating>.form-control-plaintext:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder),.form-floating>.form-control-plaintext:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown),.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:-webkit-autofill,.form-floating>.form-control-plaintext:-webkit-autofill{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{color:rgba(var(--bs-body-color-rgb), 1);transform:scale(0.7647058824)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-control-plaintext~label,.form-floating>.form-select~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control:not(:-moz-placeholder-shown)~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:"";background-color:#fff;border-radius:0}.form-floating>.form-control:not(:-ms-input-placeholder)~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:"";background-color:#fff;border-radius:0}.form-floating>.form-control:focus~label::after,.form-floating>.form-control:not(:placeholder-shown)~label::after,.form-floating>.form-control-plaintext~label::after,.form-floating>.form-select~label::after{position:absolute;inset:1.25rem .6875rem;z-index:-1;height:4.375rem;content:"";background-color:#fff;border-radius:0}.form-floating>.form-control:-webkit-autofill~label{color:rgba(var(--bs-body-color-rgb), 1);-webkit-transform:scale(0.7647058824);transform:scale(0.7647058824)}.form-floating>.form-control-plaintext~label{border-width:2px 0}.form-floating>:disabled~label,.form-floating>.form-control:disabled~label{color:#6c757d}.form-floating>:disabled~label::after,.form-floating>.form-control:disabled~label::after{background-color:rgba(var(--post-contrast-color-inverted-rgb), 0.6)}.form-floating>label{display:block;top:2px;left:2px;margin:0;padding-inline:1.375rem;padding-top:calc(\n 2px + 2.1875rem - 0.796875rem\n );padding-bottom:0;border:0;color:#666;font-size:1.0625rem;width:auto;height:auto;max-width:calc(100% - (4px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-transform-origin:1.375rem 0;transform-origin:1.375rem 0;-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms linear;transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms linear}.form-floating>.form-control:focus::-webkit-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-moz-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus:-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::-ms-input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:focus::input-placeholder{color:rgba(var(--post-contrast-color-rgb), 0.6)}.form-floating>.form-control:not(:-moz-placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-ms-input-placeholder){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.5rem;padding-bottom:0}.form-floating>.form-control:not(:-moz-placeholder-shown)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-moz-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:not(:-ms-input-placeholder)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-ms-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-control[type=file]:not(:-moz-placeholder-shown){padding-top:1.995rem}.form-floating>.form-control[type=file]:not(:-ms-input-placeholder){padding-top:1.995rem}.form-floating>.form-control[type=file]:focus,.form-floating>.form-control[type=file]:not(:placeholder-shown){padding-top:1.995rem}.form-floating>.form-select{padding-top:1.5rem;padding-bottom:0;background-size:32px 32px}.form-floating>.form-select~label{padding-top:.7rem;max-width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px\n );-webkit-transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1);transition:all 250ms cubic-bezier(0.4, 0, 0.2, 1),width 0ms 250ms cubic-bezier(0.4, 0, 0.2, 1)}.form-floating>.form-select:empty{padding-top:1.5rem;padding-bottom:0}.form-floating>.form-select:empty~label{padding-top:1.25rem;max-width:calc(100% - (4px));-webkit-transform:none;transform:none}.form-floating>.form-select[multiple]{padding-top:2.25rem;padding-bottom:0;height:auto}.form-floating>.form-select[multiple]~label{padding-top:.9558823529rem;padding-bottom:0;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );height:auto;background:#fff}.form-floating>.form-select[multiple]:empty~label{padding-top:1.25rem;padding-bottom:1.25rem;width:calc(\n 100% - (4px) - 1.375rem\n );height:4.375rem}.form-floating>textarea.form-control{padding-top:1.875rem;padding-bottom:1.25rem;height:auto}.form-floating>textarea.form-control~label{padding-bottom:0;width:calc(100% - (4px));max-width:none;height:unset}.form-floating>textarea.form-control:not(:-moz-placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-ms-input-placeholder){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:focus,.form-floating>textarea.form-control:not(:placeholder-shown){padding-top:1.875rem;padding-bottom:1.25rem}.form-floating>textarea.form-control:not(:-moz-placeholder-shown)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:not(:-ms-input-placeholder)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:focus~label,.form-floating>textarea.form-control:not(:placeholder-shown)~label{padding-top:.9558823529rem;width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem\n );max-width:none;background:#fff}.form-floating>textarea.form-control:is(.is-valid,.is-invalid)~label{width:calc(\n 100% - (4px) - 1.375rem - 0.5rem -\n 2rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-moz-placeholder-shown)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:-ms-input-placeholder)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}.form-floating>textarea.form-control:is(.is-valid,.is-invalid):focus~label,.form-floating>textarea.form-control:is(.is-valid,.is-invalid):not(:placeholder-shown)~label{width:calc(\n (100% * 1.3076923077) - 0.8461538462rem - 5.2307692308px - 1.7980769231rem - 0.6538461538rem - 2.6153846154rem\n )}@media (forced-colors: active),(-ms-high-contrast: active),(-ms-high-contrast: white-on-black){.form-floating>input::-webkit-input-placeholder,.form-floating>textarea::-webkit-input-placeholder{opacity:0}.form-floating>input::-moz-placeholder,.form-floating>textarea::-moz-placeholder{opacity:0}.form-floating>input:-ms-input-placeholder,.form-floating>textarea:-ms-input-placeholder{opacity:0}.form-floating>input::-ms-input-placeholder,.form-floating>textarea::-ms-input-placeholder{opacity:0}.form-floating>input::placeholder,.form-floating>textarea::placeholder{opacity:0}.form-floating>input::input-placeholder,.form-floating>textarea::input-placeholder{opacity:0}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:400px;--bs-breakpoint-rg:600px;--bs-breakpoint-md:780px;--bs-breakpoint-lg:1024px;--bs-breakpoint-xl:1280px;--bs-breakpoint-xxl:1441px}.row{--bs-gutter-x:30px;--bs-gutter-y:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:calc(-1*var(--bs-gutter-y));margin-right:calc(-0.5*var(--bs-gutter-x));margin-left:calc(-0.5*var(--bs-gutter-x))}.row>*{-ms-flex-negative:0;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-top:var(--bs-gutter-y)}.col{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width: 400px){.col-sm{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-sm-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-sm-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-sm-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-sm-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-sm-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-sm-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-sm-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-sm-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-sm-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-sm-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-sm-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-sm-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-sm-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-sm-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-sm-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-sm-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-sm-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-sm-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width: 600px){.col-rg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-rg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-rg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-rg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-rg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-rg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-rg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-rg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-rg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-rg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-rg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-rg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-rg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-rg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-rg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-rg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-rg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-rg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-rg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-rg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-rg-0{margin-left:0}.offset-rg-1{margin-left:8.33333333%}.offset-rg-2{margin-left:16.66666667%}.offset-rg-3{margin-left:25%}.offset-rg-4{margin-left:33.33333333%}.offset-rg-5{margin-left:41.66666667%}.offset-rg-6{margin-left:50%}.offset-rg-7{margin-left:58.33333333%}.offset-rg-8{margin-left:66.66666667%}.offset-rg-9{margin-left:75%}.offset-rg-10{margin-left:83.33333333%}.offset-rg-11{margin-left:91.66666667%}.g-rg-0,.gx-rg-0{--bs-gutter-x:0}.g-rg-0,.gy-rg-0{--bs-gutter-y:0}.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}.g-rg-1,.gy-rg-1{--bs-gutter-y:0.25rem}.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}.g-rg-2,.gy-rg-2{--bs-gutter-y:0.5rem}.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}.g-rg-3,.gy-rg-3{--bs-gutter-y:1rem}.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}.g-rg-4,.gy-rg-4{--bs-gutter-y:1.5rem}.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}.g-rg-5,.gy-rg-5{--bs-gutter-y:3rem}}@media (min-width: 780px){.col-md{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-md-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-md-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-md-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-md-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-md-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-md-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-md-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-md-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-md-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-md-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-md-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-md-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-md-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-md-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-md-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-md-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-md-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-md-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width: 1024px){.col-lg{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-lg-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-lg-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-lg-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-lg-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-lg-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-lg-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-lg-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-lg-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-lg-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-lg-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-lg-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-lg-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-lg-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-lg-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-lg-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-lg-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-lg-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-lg-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width: 1280px){.col-xl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width: 1441px){.col-xxl{-ms-flex:1 0 0%;flex:1 0 0%}.row-cols-xxl-auto>*{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.row-cols-xxl-1>*{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.row-cols-xxl-2>*{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.row-cols-xxl-3>*{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.row-cols-xxl-5>*{-ms-flex:0 0 auto;flex:0 0 auto;width:20%}.row-cols-xxl-6>*{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto}.col-xxl-1{-ms-flex:0 0 auto;flex:0 0 auto;width:8.33333333%}.col-xxl-2{-ms-flex:0 0 auto;flex:0 0 auto;width:16.66666667%}.col-xxl-3{-ms-flex:0 0 auto;flex:0 0 auto;width:25%}.col-xxl-4{-ms-flex:0 0 auto;flex:0 0 auto;width:33.33333333%}.col-xxl-5{-ms-flex:0 0 auto;flex:0 0 auto;width:41.66666667%}.col-xxl-6{-ms-flex:0 0 auto;flex:0 0 auto;width:50%}.col-xxl-7{-ms-flex:0 0 auto;flex:0 0 auto;width:58.33333333%}.col-xxl-8{-ms-flex:0 0 auto;flex:0 0 auto;width:66.66666667%}.col-xxl-9{-ms-flex:0 0 auto;flex:0 0 auto;width:75%}.col-xxl-10{-ms-flex:0 0 auto;flex:0 0 auto;width:83.33333333%}.col-xxl-11{-ms-flex:0 0 auto;flex:0 0 auto;width:91.66666667%}.col-xxl-12{-ms-flex:0 0 auto;flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.container,.container-fluid,.container-xxl,.container-xl{--bs-gutter-x:30px;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x)*.5);padding-left:calc(var(--bs-gutter-x)*.5);margin-right:auto;margin-left:auto}@media (min-width: 1280px){.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1280px}}@media (min-width: 1441px){.container-xxl,.container-xl,.container-lg,.container-md,.container-rg,.container-sm,.container{max-width:1440px}}.container{padding-inline:var(--post-container-padding-x)}.container-fluid{padding-inline:var(--post-container-fluid-padding-x)}.container{--post-container-padding-x:12px}.container-fluid{--post-container-fluid-padding-x:12px}.row{--bs-gutter-x:12px}@media (min-width: 400px){.container{--post-container-padding-x:16px}}@media (min-width: 400px){.container-fluid{--post-container-fluid-padding-x:16px}}@media (min-width: 400px){.row{--bs-gutter-x:16px}}@media (min-width: 780px){.container{--post-container-padding-x:32px}}@media (min-width: 780px){.container-fluid{--post-container-fluid-padding-x:32px}}@media (min-width: 1280px){.container{--post-container-padding-x:40px}}@media (min-width: 1441px){.container{--post-container-padding-x:120px}}.g-0,.gx-0{--bs-gutter-x:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}@media (min-width: 400px){.g-sm-0,.gx-sm-0{--bs-gutter-x:0}}@media (min-width: 400px){.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}}@media (min-width: 400px){.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}}@media (min-width: 400px){.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}}@media (min-width: 400px){.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}}@media (min-width: 400px){.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}}@media (min-width: 600px){.g-rg-0,.gx-rg-0{--bs-gutter-x:0}}@media (min-width: 600px){.g-rg-1,.gx-rg-1{--bs-gutter-x:0.25rem}}@media (min-width: 600px){.g-rg-2,.gx-rg-2{--bs-gutter-x:0.5rem}}@media (min-width: 600px){.g-rg-3,.gx-rg-3{--bs-gutter-x:1rem}}@media (min-width: 600px){.g-rg-4,.gx-rg-4{--bs-gutter-x:1.5rem}}@media (min-width: 600px){.g-rg-5,.gx-rg-5{--bs-gutter-x:3rem}}@media (min-width: 780px){.g-md-0,.gx-md-0{--bs-gutter-x:0}}@media (min-width: 780px){.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}}@media (min-width: 780px){.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}}@media (min-width: 780px){.g-md-3,.gx-md-3{--bs-gutter-x:1rem}}@media (min-width: 780px){.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}}@media (min-width: 780px){.g-md-5,.gx-md-5{--bs-gutter-x:3rem}}@media (min-width: 1024px){.g-lg-0,.gx-lg-0{--bs-gutter-x:0}}@media (min-width: 1024px){.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}}@media (min-width: 1024px){.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}}@media (min-width: 1024px){.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}}@media (min-width: 1024px){.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}}@media (min-width: 1024px){.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}}@media (min-width: 1280px){.g-xl-0,.gx-xl-0{--bs-gutter-x:0}}@media (min-width: 1280px){.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1280px){.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1280px){.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}}@media (min-width: 1280px){.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1280px){.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}}@media (min-width: 1441px){.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}}@media (min-width: 1441px){.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}}@media (min-width: 1441px){.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}}@media (min-width: 1441px){.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}}@media (min-width: 1441px){.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}}@media (min-width: 1441px){.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}}.vertical-gutters{margin-bottom:-30px}.vertical-gutters>.col,.vertical-gutters>[class*=col-]{padding-bottom:30px}.row.border-gutters{margin-right:-1px;margin-bottom:-1px;margin-left:0}.row.border-gutters>.col,.row.border-gutters>[class*=col-]{padding-right:1px;padding-bottom:1px;padding-left:0}.container-reset{margin-right:-12px;margin-left:-12px}.container-reset-left{margin-left:-12px}.container-reset-right{margin-right:-12px}@media (max-width: 399.98px){.container-fluid-xs{padding-right:1rem;padding-left:1rem}}@media (min-width: 400px){.container-reset{margin-right:-16px;margin-left:-16px}}@media (min-width: 400px){.container-reset-left{margin-left:-16px}}@media (min-width: 400px){.container-reset-right{margin-right:-16px}}@media (min-width: 400px)and (max-width: 599.98px){.container-fluid-sm{padding-right:1rem;padding-left:1rem}}@media (min-width: 600px)and (max-width: 779.98px){.container-fluid-rg{padding-right:1rem;padding-left:1rem}}@media (min-width: 780px){.container-reset{margin-right:-32px;margin-left:-32px}}@media (min-width: 780px){.container-reset-left{margin-left:-32px}}@media (min-width: 780px){.container-reset-right{margin-right:-32px}}@media (min-width: 780px)and (max-width: 1023.98px){.container-fluid-md{padding-right:1rem;padding-left:1rem}}@media (min-width: 1024px)and (max-width: 1279.98px){.container-fluid-lg{padding-right:1rem;padding-left:1rem}}@media (min-width: 1280px){.container-reset{margin-right:-40px;margin-left:-40px}}@media (min-width: 1280px){.container-reset-left{margin-left:-40px}}@media (min-width: 1280px){.container-reset-right{margin-right:-40px}}@media (min-width: 1280px)and (max-width: 1440.98px){.container-fluid-xl{padding-right:1rem;padding-left:1rem}}@media (min-width: 1441px){.container-reset{margin-right:-120px;margin-left:-120px}}@media (min-width: 1441px){.container-reset-left{margin-left:-120px}}@media (min-width: 1441px){.container-reset-right{margin-right:-120px}}@media (min-width: 1441px){.container-fluid-xxl{padding-right:1rem;padding-left:1rem}}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Bold.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:700;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-BdIt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Rg.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:400;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-It.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-Lt.woff") format("woff")}@font-face{font-display:swap;font-family:"Frutiger Neue For Post";font-weight:300;font-style:italic;src:url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff2") format("woff2"),url("https://fonts.post.ch/frutigerneueforpost/v2/FrutigerNeueforPostW05-LtIt.woff") format("woff")}.visually-hidden{position:absolute;width:1px;height:1px;border:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0)}.btn-blank{background-color:rgba(0,0,0,0);border:none;border-radius:0;padding:0}.nav-link,.search-button{outline:none;outline-offset:2px;text-decoration:none;color:rgba(0,0,0,.8);-webkit-transition:color 200ms;transition:color 200ms;background-color:rgba(0,0,0,0);-webkit-box-shadow:none;box-shadow:none;border:0;margin:0;cursor:pointer;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;gap:.5rem}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color)}.nav-link:hover,.search-button:hover,.nav-link:focus,.search-button:focus{color:#000}.nav-link:is(:focus-visible,:focus-within,.pretend-focus),.search-button:is(:focus-visible,:focus-within,.pretend-focus){z-index:1;position:relative}.nav-link>svg,.search-button>svg{width:1.4em;height:1.4em;-ms-flex-negative:0;flex-shrink:0}.nav-link>span,.search-button>span{-ms-flex-negative:1;flex-shrink:1}.no-list{list-style:none;padding-left:0;margin-top:0;margin-bottom:0}*,:host,*::before,*::after{-webkit-box-sizing:border-box;box-sizing:border-box}:host{font-family:"Frutiger Neue For Post",system-ui,sans-serif}button{font:inherit;padding:0}a,button{border-radius:4px;outline:none;outline-offset:2px}a:is(:focus-visible,:focus-within,.pretend-focus),button:is(:focus-visible,:focus-within,.pretend-focus){outline:2px solid var(--post-contrast-color);border-radius:4px}img,svg{max-width:100%;max-height:100%}@media (forced-colors: active){svg{color:#fff}}.box>*:first-child{margin-top:0}.box>*:last-child{margin-bottom:0}.mirrored{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.bold{font-weight:700}.light{font-weight:300}.d-flex{display:-ms-flexbox;display:flex}.d-inline-flex{display:-ms-inline-flexbox;display:inline-flex}.align-items-center{-ms-flex-align:center;align-items:center}@media (min-width: 1441px){.wide-container{margin:0 auto;max-width:1440px}}@media (max-width: 599.98px){.container{padding-right:16px;padding-left:16px}}@media (min-width: 600px)and (max-width: 1023.98px){.container{padding-right:32px;padding-left:32px}}@media (min-width: 1024px){.container{padding-right:40px;padding-left:40px}}@media (max-width: -0.02px){.hidden-xs{display:none}}@media (max-width: 399.98px){.hidden-sm{display:none}}@media (max-width: 599.98px){.hidden-rg{display:none}}@media (max-width: 779.98px){.hidden-md{display:none}}@media (max-width: 1023.98px){.hidden-lg{display:none}}@media (max-width: 1279.98px){.hidden-xl{display:none}}@media (max-width: 1440.98px){.hidden-xxl{display:none}}:host{display:block}.search,:host{height:100%}.search-button{height:100%;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;padding-right:calc(1rem - 1px);padding-left:calc(1rem - 1px)}@media (min-width: 1024px){.search-button{padding:0 calc(1.125rem - 1px)}}@media (min-width: 1280px){.search-button{padding:0 calc(1.5rem - 1px)}}.search-button svg{width:1.5rem;height:1.5rem}@media (min-width: 600px)and (max-width: 1023.98px){.search-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;font-weight:300;margin-right:.5rem;cursor:pointer}}.flyout{position:absolute;top:100%;left:0;width:100%;background:#fff;overflow:auto;-ms-scroll-chaining:none;overscroll-behavior:contain;padding-top:3.25rem;padding-bottom:3.25rem;z-index:-1;-webkit-transform:translateY(-100%);transform:translateY(-100%);-webkit-transition:-webkit-transform .35s,-webkit-box-shadow .35s;transition:-webkit-transform .35s,-webkit-box-shadow .35s;transition:transform .35s,box-shadow .35s;transition:transform .35s,box-shadow .35s,-webkit-transform .35s,-webkit-box-shadow .35s}@media (prefers-reduced-motion: reduce){.flyout{-webkit-transition:none;transition:none}}@media (min-width: 1024px){.flyout{max-height:calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);-webkit-box-shadow:0 0 1px 0 rgba(0,0,0,.4);box-shadow:0 0 1px 0 rgba(0,0,0,.4)}.flyout.open{-webkit-box-shadow:0 0 8px 0 rgba(0,0,0,.4);box-shadow:0 0 8px 0 rgba(0,0,0,.4)}}@media (max-width: 1023.98px){.flyout{height:calc(100vh - var(--header-height) - 1px)}}.flyout.open{-webkit-transform:translateY(0);transform:translateY(0)}.form-floating .form-control,.form-floating .form-control+label{padding-right:5.625rem}.start-search-button,.clear-search-button{position:absolute;top:0;right:0;height:100%;padding-right:1rem;padding-left:.5rem;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;cursor:pointer;background:none;border:0;-webkit-box-shadow:none;box-shadow:none}.start-search-button svg,.clear-search-button svg{width:1.5rem;height:1.5rem}.clear-search-button{right:3rem;padding-right:.5rem;visibility:hidden}.suggestions{margin:1.5rem 0}.suggestions a{padding:.75rem 1rem}.suggestions a:hover,.suggestions a:focus,.suggestions a.selected{background:#f4f3f1}.suggestions a.parcel-suggestion{-ms-flex-wrap:wrap;flex-wrap:wrap}.search-recommendation__icon{height:1.5em;width:1.5em}';var j=t("P",function(){function t(t){e(this,t);this.dropdownToggled=r(this,"dropdownToggled",7);this.searchDropdownOpen=false;this.coveoSuggestions=[];this.placeSuggestions=[];this.parcelSuggestion=null}t.prototype.connectedCallback=function(){var t=this;this.throttledResize=l(300,(function(){return t.handleResize()}));window.addEventListener("resize",this.throttledResize,{passive:true})};t.prototype.disconnectedCallback=function(){window.removeEventListener("resize",this.throttledResize);a()};t.prototype.componentWillUpdate=function(){var t=this;if(this.searchFlyout&&!this.searchDropdownOpen){this.searchFlyout.classList.remove("open");if(d(this.searchFlyout,"transform")&&!g()){return new Promise((function(o){if(t.searchFlyout===undefined){return o(true)}t.searchFlyout.addEventListener("transitionend",(function(t){if(t.propertyName==="transform"){o(true)}}))}))}}};t.prototype.componentDidUpdate=function(){if(this.searchFlyout&&this.searchDropdownOpen){this.searchFlyout.getBoundingClientRect();this.searchFlyout.classList.add("open")}if(this.searchDropdownOpen&&this.searchBox){this.searchBox.focus({preventScroll:true})}};t.prototype.toggleDropdown=function(t){return __awaiter(this,void 0,void 0,(function(){var o,e;return __generator(this,(function(r){switch(r.label){case 0:this.searchDropdownOpen=t===undefined||typeof t!=="boolean"?!this.searchDropdownOpen:t;this.dropdownToggled.emit({open:this.searchDropdownOpen,element:this.host});if(!!this.searchDropdownOpen)return[3,1];this.coveoSuggestions=[];this.placeSuggestions=[];if(this.searchBox)this.searchBox.value="";void this.setFocus();return[3,4];case 1:r.trys.push([1,3,,4]);o=this;return[4,F("")];case 2:o.coveoSuggestions=r.sent();return[3,4];case 3:e=r.sent();return[3,4];case 4:this.setBodyScroll();return[2,this.searchDropdownOpen]}}))}))};t.prototype.setFocus=function(){return __awaiter(this,void 0,void 0,(function(){var t,o;return __generator(this,(function(e){t=this.host.shadowRoot;if(t===null){return[2]}o=t.querySelector(".search-button");if(o){o.focus()}return[2]}))}))};t.prototype.handleResize=function(){if(this.searchDropdownOpen){this.setBodyScroll()}};t.prototype.setBodyScroll=function(){if(!this.searchFlyout){return}if(this.searchDropdownOpen&&window.innerWidth<1024){s(this.searchFlyout)}else{f(this.searchFlyout)}};t.prototype.handleSearchInput=function(){return __awaiter(this,void 0,void 0,(function(){var t,o,e,r,i,n;var l;return __generator(this,(function(a){switch(a.label){case 0:if(this.searchBox===undefined||((t=m.localizedConfig)===null||t===void 0?void 0:t.header.search)===undefined){return[2]}o=this.searchBox.value.trim();if(this.clearButton){if(o!==""){this.clearButton.style.visibility="visible"}else{this.clearButton.style.visibility="hidden"}}return[4,Promise.all([P(o),F(o),z(o,m.localizedConfig.header.search)])];case 1:e=a.sent(),r=e[0],i=e[1],n=e[2];this.parcelSuggestion=n;if(n){this.placeSuggestions=[];this.coveoSuggestions=[]}else{l=N(i,r,7),this.coveoSuggestions=l[0],this.placeSuggestions=l[1]}this.deselectSuggestion();return[2]}}))}))};t.prototype.handleClearSearchBox=function(){if(this.searchBox!==undefined){this.searchBox.value="";this.handleSearchInput()}};t.prototype.handleKeyDown=function(t){var o,e,r,i,n;if(this.searchFlyout===undefined){return}var l=this.searchFlyout.querySelector(".suggestions > li > a.selected");var a=(o=l===null||l===void 0?void 0:l.getAttribute("href"))!==null&&o!==void 0?o:null;var s=this.searchFlyout.querySelectorAll(".suggestions > li > a");switch(t.key.toLowerCase()){case"enter":if(a!==null){window.location.href=a}else{void this.startSearch()}break;case"arrowdown":this.deselectSuggestion();if((r=(e=l===null||l===void 0?void 0:l.parentElement)===null||e===void 0?void 0:e.nextElementSibling)===null||r===void 0?void 0:r.firstElementChild){l.parentElement.nextElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[0].classList.add("selected")}this.updateSearchBoxWithSuggestion();break;case"arrowup":this.deselectSuggestion();if((n=(i=l===null||l===void 0?void 0:l.parentElement)===null||i===void 0?void 0:i.previousElementSibling)===null||n===void 0?void 0:n.firstElementChild){l.parentElement.previousElementSibling.firstElementChild.classList.add("selected")}else if(s.length>0){s[s.length-1].classList.add("selected")}this.updateSearchBoxWithSuggestion();break}};t.prototype.handleMouseEnterSuggestion=function(t){this.deselectSuggestion();t.target.classList.add("selected")};t.prototype.handleMouseLeaveSuggestions=function(){this.deselectSuggestion()};t.prototype.deselectSuggestion=function(){if(this.searchFlyout===undefined)return;var t=this.searchFlyout.querySelector(".suggestions .selected");if(t){t.classList.remove("selected")}};t.prototype.updateSearchBoxWithSuggestion=function(){if(this.searchFlyout===undefined)return;var t=this.searchFlyout.querySelector(".suggestions > li > a.selected");var o=t===null||t===void 0?void 0:t.dataset.suggestionText;if(o!==undefined&&this.searchBox){this.searchBox.value=o}};t.prototype.startSearch=function(){return __awaiter(this,void 0,void 0,(function(){var t,o;return __generator(this,(function(e){switch(e.label){case 0:if(!(this.searchBox&&((t=m.localizedConfig)===null||t===void 0?void 0:t.header.search)))return[3,2];return[4,I(this.searchBox.value.trim(),m.localizedConfig.header.search)];case 1:o=e.sent();if(!o)return[2];window.location.href=o;e.label=2;case 2:return[2]}}))}))};t.prototype.trackRecommendationClick=function(t){if(!("dataLayer"in window))return;var o=t.additionalAttributes.reduce((function(t,o){t[o.name]=o.value;return t}),{});window.dataLayer.push({event:o["data-event"],text:o["data-text"],link_url:o["data-linkurl"],label:o["data-label"],type:o["data-type"]})};t.prototype.render=function(){var t=this;var e,r,n,l,a,s,f,d,g,h,b,w,v,y;if(((e=m.localizedConfig)===null||e===void 0?void 0:e.header)===undefined){return}var k=m.localizedConfig.header,z=k.translations,I=k.search;var T=this.parcelSuggestion&&"sending"in this.parcelSuggestion;var N=((r=this.searchBox)===null||r===void 0?void 0:r.value)===""&&((n=I.searchRecommendations)===null||n===void 0?void 0:n.links.length)>0;return o(i,{role:"search"},o(c,null),o("div",{class:"search"},o("button",{id:"post-internet-header-search-button",class:"search-button",type:"button","aria-expanded":"".concat(this.searchDropdownOpen),onClick:function(o){return void t.toggleDropdown(o)}},o("span",{class:"visually-hidden"},this.searchDropdownOpen?z.searchToggleExpanded:z.searchToggle),o(u,{name:this.searchDropdownOpen?"pi-close":"pi-search"})),o(x,{condition:this.searchDropdownOpen},o("div",{class:"flyout",ref:function(o){return t.searchFlyout=o}},o("div",{class:"container box"},o("div",{class:"row"},o("div",{class:"col-xs-12 col-md-10 col-lg-8"},o("div",{class:"form-group form-floating"},o("input",{type:"text",role:"searchbox",id:"searchBox",class:"form-control form-control-lg",placeholder:z.flyoutSearchBoxFloatingLabel,autocomplete:"off",ref:function(o){return t.searchBox=o},onInput:function(){return void t.handleSearchInput()},onKeyDown:function(o){return t.handleKeyDown(o)}}),o("label",{htmlFor:"searchBox"},z.flyoutSearchBoxFloatingLabel),o("button",{onClick:function(){return t.handleClearSearchBox()},class:"clear-search-button",type:"reset",id:"clearButton",ref:function(o){return t.clearButton=o}},o("span",{class:"visually-hidden"},p("Delete search term")),o(u,{name:"pi-close"})),o("button",{onClick:function(){return void t.startSearch()},class:"start-search-button"},o("span",{class:"visually-hidden"},z.searchSubmit),o(u,{name:"pi-search"}))),N&&o("h2",{id:"post-internet-header-search-recommendations-title",class:"bold"},I.searchRecommendations.title),o("ul",{class:"suggestions no-list",onMouseLeave:function(){return t.handleMouseLeaveSuggestions()},"aria-labelledby":N?"post-internet-header-search-recommendations-title":undefined},N&&I.searchRecommendations.links.map((function(e){return o("li",{key:e.href},o("a",{class:"nav-link search-recommendation",href:new URL(e.href,"https://post.ch").href,"data-suggestion-text":e.label,onMouseEnter:function(o){return t.handleMouseEnterSuggestion(o)},onClick:function(){return t.trackRecommendationClick(e)}},o("span",{class:"search-recommendation__icon",innerHTML:e.inlineSvg}),o("span",null,e.label)))})),T&&o("li",null,o("a",{class:"nav-link parcel-suggestion",href:this.parcelSuggestion.url,"data-suggestion-text":(l=this.searchBox)===null||l===void 0?void 0:l.value,onMouseEnter:function(o){return t.handleMouseEnterSuggestion(o)}},o(u,{name:"pi-letter-parcel"}),o("span",{class:"bold"},(s=(a=this.parcelSuggestion)===null||a===void 0?void 0:a.sending)===null||s===void 0?void 0:s.id,": "),o("span",null,[(d=(f=this.parcelSuggestion)===null||f===void 0?void 0:f.sending)===null||d===void 0?void 0:d.product," "+((h=(g=this.parcelSuggestion)===null||g===void 0?void 0:g.sending)===null||h===void 0?void 0:h.recipient.zipcode)," "+((w=(b=this.parcelSuggestion)===null||b===void 0?void 0:b.sending)===null||w===void 0?void 0:w.recipient.city),", "+((y=(v=this.parcelSuggestion)===null||v===void 0?void 0:v.sending)===null||y===void 0?void 0:y.state)].filter((function(t){return t!==""&&t!==" "})).join("")))),!N&&this.coveoSuggestions&&this.coveoSuggestions.map((function(e){return o("li",{key:e.objectId},o("a",{class:"nav-link",href:e.redirectUrl,"data-suggestion-text":e.expression,onMouseEnter:function(o){return t.handleMouseEnterSuggestion(o)}},o(u,{name:"pi-search"}),o(H,{text:e.highlighted})))})),!N&&this.placeSuggestions&&this.placeSuggestions.map((function(e){var r,i;return o("li",{key:e.id},o("a",{class:"nav-link",href:L(e),"data-suggestion-text":e.name,onMouseEnter:function(o){return t.handleMouseEnterSuggestion(o)}},o(u,{name:"pi-place"}),o(H,{text:C((i=(r=t.searchBox)===null||r===void 0?void 0:r.value)===null||i===void 0?void 0:i.trim(),e.name)})))}))))))))))};Object.defineProperty(t.prototype,"host",{get:function(){return n(this)},enumerable:false,configurable:true});return t}());j.style=W}}}));
|
|
2
|
+
//# sourceMappingURL=p-f2f69ff4.system.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["parcelController","getTrackAndTraceApiUrl","id","lang","state","currentLanguage","concat","encodeURIComponent","getTrackAndTraceRedirectUrl","query","_q","packageTrackingRedirectUrl","replace","isParcel","searchConfig","__awaiter","_this","getParcelInfo","parcelInfo","sent","redirectPattern","trackingNrPattern","RegExp","test","url_1","abort","AbortController","Promise","resolve","reject","fetch","signal","then","response","json","trackAndTraceResult","Object","assign","ok","catch","error","name","console","message","timestamp","Date","toDateString","getParcelSuggestion","url","getSearchRedirectUrl","isTrackTraceId","getSearchPageUrl","_a","localizedConfig","header","search","undefined","searchPageUrl","searchParam","equalizeArrays","arrayA","arrayB","maxLength","coveoSliced","slice","Math","max","length","coveo","environment","prod","organisation","token","int01","int02","dev01","dev02","devs1","suggestionsController","getCoveoSuggestions","_b","_d","_c","isCustomSuggestionHidden","config","searchHubName","searchPipelineName","method","headers","Authorization","coveoJSON","completions","map","completion","redirectUrl","expression","gisAPIUrl","placesUrl","hardNormalize","str","toLowerCase","normalize","placesController","queryPlaces","searchParameters","entries","limit","reduce","s","i","k","v","geocodeJSON","Error","info","locations","highlightPlacesString","place","reference","q","indexOfQuery","indexOf","substring","getPlacesUrl","location","HighlightedText","props","highlightClass","highlightedString","text","h","innerHTML","postSearchCss","PostSearch","exports","class_1","prototype","connectedCallback","this","throttledResize","throttle","handleResize","window","addEventListener","passive","disconnectedCallback","removeEventListener","clearAllBodyScrollLocks","componentWillUpdate","searchFlyout","searchDropdownOpen","classList","remove","elementHasTransition","userPrefersReducedMotion","event","propertyName","componentDidUpdate","getBoundingClientRect","add","searchBox","focus","preventScroll","toggleDropdown","force","dropdownToggled","emit","open","element","host","coveoSuggestions","placeSuggestions","value","setFocus","_r","setBodyScroll","shadowRoot","toggleButton","querySelector","innerWidth","disableBodyScroll","enableBodyScroll","handleSearchInput","trim","clearButton","style","visibility","all","_s","trackAndTraceInfo","parcelSuggestion","deselectSuggestion","handleClearSearchBox","handleKeyDown","selectedSuggestion","selectedHref","getAttribute","suggestions","querySelectorAll","key","href","startSearch","parentElement","nextElementSibling","firstElementChild","updateSearchBoxWithSuggestion","_e","previousElementSibling","handleMouseEnterSuggestion","target","handleMouseLeaveSuggestions","suggestedText","dataset","suggestionText","trackRecommendationClick","recommendation","trackingAttributes","additionalAttributes","acc","curr","dataLayer","push","link_url","label","type","render","translations","isParcelTrackingNr","showPortalRecommendations","searchRecommendations","links","Host","role","SvgSprite","class","onClick","e","searchToggleExpanded","searchToggle","SvgIcon","If","condition","ref","placeholder","flyoutSearchBoxFloatingLabel","autocomplete","el","onInput","onKeyDown","htmlFor","translate","searchSubmit","title","onMouseLeave","URL","onMouseEnter","inlineSvg","_f","sending","_h","_g","product","_k","_j","recipient","zipcode","_m","_l","city","_p","_o","filter","join","suggestion","objectId","highlighted"],"sources":["src/services/search/parcel.service.ts","src/services/search/search.service.ts","src/services/search/coveo.settings.ts","src/services/search/coveo.service.ts","src/services/search/places.settings.ts","src/services/search/search-utilities.ts","src/services/search/places.service.ts","src/utils/highlighted.component.tsx","src/components/post-search/post-search.scss?tag=post-search&encapsulation=shadow","src/components/post-search/post-search.tsx"],"sourcesContent":["import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\n\nlet parcelController: AbortController;\n\n// https://www.post.ch/api/trackandtrace?id=99.00.306600.01004883\n\n// Track and trace URL\nexport const getTrackAndTraceApiUrl = (id: string) => {\n const lang = state.currentLanguage;\n return `https://www.post.ch/${lang}/api/trackandtrace?id=${encodeURIComponent(id)}`;\n};\n\n// Get the redire\nexport const getTrackAndTraceRedirectUrl = (\n query: string,\n { packageTrackingRedirectUrl }: ISearchConfig,\n) => {\n return packageTrackingRedirectUrl.replace('{trackingNumber}', encodeURIComponent(query));\n};\n\n/**\n * Check whether a query is a tracking id\n *\n * @param query User query\n * @returns Boolean\n */\nexport const isParcel = async (query: string, searchConfig: ISearchConfig): Promise<boolean> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return 'sending' in parcelInfo;\n};\n\n/**\n * Try to get parcel info from a query that is possibly a tracking id.\n * This is mainly used to check if a search should redirect to track&trace instead of the regular search.\n *\n * @param query User query that is possibly a tracking number\n * @returns Track and trace info\n */\nexport const getParcelInfo = async (\n query: string,\n { redirectPattern }: ISearchConfig,\n): Promise<TrackAndTraceInfo> => {\n const trackingNrPattern = new RegExp(redirectPattern);\n\n if (trackingNrPattern.test(query)) {\n const url = getTrackAndTraceApiUrl(query);\n\n if (parcelController) parcelController.abort();\n parcelController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: parcelController.signal })\n .then(response => response.json())\n .then((trackAndTraceResult: TrackAndTraceInfo) => {\n resolve({ ...trackAndTraceResult, ok: trackAndTraceResult.ok });\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(`Could not check track and trace API due to error: ${error.message}`);\n reject(error);\n }\n });\n });\n }\n\n return { ok: false, timestamp: new Date().toDateString() };\n};\n\n/**\n * Get parcel info if query is a parcel or null\n *\n * @param query Parcel id\n * @returns Parcel info and a redirect url or null if not a parcel\n */\nexport const getParcelSuggestion = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<(TrackAndTraceInfo & { url: string }) | null> => {\n const parcelInfo = await getParcelInfo(query, searchConfig);\n return parcelInfo.ok\n ? { ...parcelInfo, url: getTrackAndTraceRedirectUrl(query, searchConfig) }\n : null;\n};\n","import { state } from '../../data/store';\nimport { ISearchConfig } from '../../models/header.model';\nimport { getTrackAndTraceRedirectUrl, isParcel } from './parcel.service';\n\n/**\n * Construct a search page url from a query\n *\n * @param query Search term\n * @returns\n */\nexport const getSearchRedirectUrl = async (\n query: string,\n searchConfig: ISearchConfig,\n): Promise<string | undefined> => {\n const isTrackTraceId = await isParcel(query, searchConfig);\n return isTrackTraceId\n ? getTrackAndTraceRedirectUrl(query, searchConfig)\n : getSearchPageUrl(query);\n};\n\n/**\n * Stitch toghether the search page URL\n *\n * @param query Search term\n * @returns Search page URL\n */\nexport const getSearchPageUrl = (query: string): string | undefined => {\n if (state.localizedConfig?.header.search === undefined) {\n return;\n }\n const { searchPageUrl } = state.localizedConfig.header.search;\n const searchParam = `#q=${encodeURIComponent(query)}`;\n return `${searchPageUrl}${searchParam}&t=AllTab`;\n};\n\n/**\n * Equalize the length of two arrays while filling up empty slots up to max. length\n *\n * @param arrayA First array\n * @param arrayB Second array\n * @param maxLength Max. length of result array\n * @returns Array with two resulting arrays\n */\nexport const equalizeArrays = <A, B>(arrayA: A[], arrayB: B[], maxLength = 7): [A[], B[]] => {\n const coveoSliced = arrayA.slice(0, Math.max(maxLength / 2, maxLength - arrayB.length));\n return [coveoSliced, arrayB.slice(0, maxLength - coveoSliced.length)];\n};\n","import { CoveoOptions } from '../../models/coveo.model';\n\n// Coveo constants\nexport const coveo: CoveoOptions = {\n url: 'https://platform-eu.cloud.coveo.com/rest/search/v2/querySuggest',\n environment: {\n prod: {\n organisation: 'postchagprod6ef4sbet',\n token: 'xx5b629890-23b9-4fbe-b601-0e8719186969',\n },\n int01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n int02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev01: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n dev02: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n devs1: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n test: {\n organisation: 'postchagnonprods5sq57qt',\n token: 'xx7c0e52ab-3de2-4fbd-b9a7-6ca6abd532b4',\n },\n },\n};\n","import { state } from '../../data/store';\nimport { CoveoCompletion, CoveoResponse } from '../../models/coveo.model';\nimport { coveo } from './coveo.settings';\nimport { getSearchPageUrl } from './search.service';\n\nlet suggestionsController: AbortController;\n\n/**\n * Get suggestions from coveo\n * https://docs.coveo.com/en/1459/build-a-search-ui/get-query-suggestions#context-object\n *\n * @param query Search term\n * @returns\n */\nexport const getCoveoSuggestions = async (query: string): Promise<CoveoCompletion[]> => {\n if (\n state.localizedConfig?.header?.search === undefined ||\n state.localizedConfig?.header?.search.isCustomSuggestionHidden === true\n )\n return [];\n const config = state.localizedConfig.header.search;\n const { token, organisation } = coveo.environment[state.environment];\n const url = `${coveo.url}?q=${query}&locale=${state.currentLanguage}&searchHub=${config.searchHubName}&pipeline=${config.searchPipelineName}&organizationId=${organisation}`;\n\n if (suggestionsController) suggestionsController.abort();\n suggestionsController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, {\n signal: suggestionsController.signal,\n method: 'GET',\n headers: {\n Authorization: `Bearer ${token}`,\n },\n })\n .then(response => response.json())\n .then((coveoJSON: CoveoResponse) => {\n resolve(\n coveoJSON.completions.map(completion => ({\n ...completion,\n redirectUrl: getSearchPageUrl(completion.expression),\n })),\n );\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching coveo suggestions failed, ${error}\\nDid you add \"*.coveo.com\" to your connect-src content security policy and tried turning off your adblocker?`,\n );\n reject(error);\n }\n });\n });\n};\n","// Implement some TOPOS logic into the header search\nexport const gisAPIUrl = 'https://places.post.ch/StandortSuche/StaoCacheService';\nexport const placesUrl = 'https://places.post.ch';\nexport const pois = [\n '001PST',\n '001MP24',\n '001AG-PICK',\n '001PFFIL',\n '001PFST',\n '001BZ',\n '001LZB',\n '001PZ',\n '001LZP',\n '001AL',\n];\n","/**\n * Transform to lowercase, extract accents to separate unicode chars,\n * replace all accent unicode chars so only standard latin chars remain\n * https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript/37511463#37511463\n *\n * @param str Input string\n * @returns\n */\nexport const hardNormalize = (str: string): string =>\n str\n .toLowerCase()\n .normalize('NFD')\n .replace(/[\\u0300-\\u036f]/g, '');\n","import { state } from '../../data/store';\nimport { GeocodeLocation, GeocodeResponse } from '../../models/geocode.model';\nimport { gisAPIUrl, placesUrl } from './places.settings';\nimport { hardNormalize } from './search-utilities';\n\nlet placesController: AbortController;\n\n/**\n * Query the Gis API for locations and localities (pois)\n *\n * @param query User input string\n * @returns\n */\nexport const queryPlaces = async (query: string): Promise<GeocodeLocation[]> => {\n if (query.length === 0) {\n return [];\n }\n\n const searchParameters = Object.entries({\n query: encodeURIComponent(query),\n lang: state.currentLanguage,\n limit: 7,\n }).reduce((s, [k, v], i) => `${s}${i === 0 ? '?' : '&'}${k}=${v}`, '');\n\n const url = `${gisAPIUrl}/Geocode${searchParameters}`;\n\n if (placesController) placesController.abort();\n placesController = new AbortController();\n\n return new Promise((resolve, reject) => {\n fetch(url, { signal: placesController.signal })\n .then(response => response.json())\n .then((geocodeJSON: GeocodeResponse) => {\n if (!geocodeJSON.ok) throw new Error(geocodeJSON.info);\n resolve(geocodeJSON.locations);\n })\n .catch(error => {\n if (error.name !== 'AbortError') {\n console.error(\n `Fetching places failed, ${error}\\nDid you add \"places.post.ch\" to your connect-src content security policy?`,\n );\n reject(error);\n }\n });\n });\n};\n\n/**\n * Try to highlight place suggestions\n * Limitation: accented chars are not handled by this basic function\n *\n * @param query Search term\n * @param place Name of the suggested place\n * @returns\n */\nexport const highlightPlacesString = (query: string | undefined, place: string) => {\n if (query === undefined) return place;\n\n // Strip accents from the string\n const reference = hardNormalize(place);\n const q = hardNormalize(query);\n const indexOfQuery = reference.indexOf(q);\n\n if (indexOfQuery < 0) {\n return place;\n }\n\n return `${place.substring(0, indexOfQuery)}{${place.substring(\n indexOfQuery,\n indexOfQuery + query.length,\n )}}${place.substring(indexOfQuery + query.length, place.length)}`;\n};\n\n/**\n * Get the deeplink to any location found via geocoder\n *\n * @param location A location from the Gis API Geocode endpoint\n * @returns\n */\nexport const getPlacesUrl = (location: GeocodeLocation): string => {\n let url: string;\n\n if (location.id) {\n url = `${placesUrl}/${state.currentLanguage}/${location.id}/detail`;\n } else {\n url = `${placesUrl}?preselecttext=${encodeURIComponent(location.name)}`;\n }\n\n return url;\n};\n","import { h } from '@stencil/core';\n\nexport const HighlightedText = (props: { text: string; highlightClass?: string }) => {\n const highlightClass = props.highlightClass ?? 'bold';\n const highlightedString = props.text\n .replace(/[{(]/g, `<span class=\"${highlightClass}\">`)\n .replace(/[})]/g, '</span>')\n .replace(/[\\[\\]]/g, '');\n return <span innerHTML={highlightedString}></span>;\n};\n","@use '@swisspost/design-system-styles/core' as post;\n@use '@swisspost/design-system-styles/variables/color';\n@use '@swisspost/design-system-styles/components/forms';\n@use '@swisspost/design-system-styles/components/floating-label';\n@use '@swisspost/design-system-styles/components/grid';\n@use '../../utils/utils.scss';\n@use '../../utils/mixins.scss';\n\n:host {\n display: block;\n}\n\n.search,\n:host {\n height: 100%;\n}\n\n.search-button {\n @extend %nav-link;\n\n height: 100%;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding-right: calc(1rem - 1px);\n padding-left: calc(1rem - 1px);\n\n @include mixins.min(lg) {\n padding: 0 calc(1.125rem - 1px);\n }\n\n @include mixins.min(xl) {\n padding: 0 calc(1.5rem - 1px);\n }\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n\n .visually-hidden {\n @include mixins.between(rg, lg) {\n @include mixins.reset-visually-hidden();\n\n font-weight: 300;\n margin-right: 0.5rem;\n cursor: pointer;\n }\n }\n}\n\n.flyout {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n background: white;\n overflow: auto;\n overscroll-behavior: contain;\n padding-top: 3.25rem;\n padding-bottom: 3.25rem;\n z-index: -1;\n transform: translateY(-100%);\n transition: transform 0.35s, box-shadow 0.35s;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n @include mixins.min(lg) {\n max-height: calc(100vh - var(--header-height) - var(--meta-header-height) - 1px);\n box-shadow: 0 0 1px 0 rgb(0 0 0 / 40%);\n\n &.open {\n box-shadow: 0 0 8px 0 rgb(0 0 0 / 40%);\n }\n }\n\n @include mixins.max(lg) {\n height: calc(100vh - var(--header-height) - 1px);\n }\n\n &.open {\n transform: translateY(0);\n }\n}\n\n.form-floating {\n .form-control,\n .form-control + label {\n padding-right: post.$input-padding-x * 5;\n }\n}\n\n.start-search-button,\n.clear-search-button {\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n padding-right: 1rem;\n padding-left: 0.5rem;\n display: flex;\n align-items: center;\n cursor: pointer;\n background: none;\n border: 0;\n box-shadow: none;\n\n svg {\n width: 1.5rem;\n height: 1.5rem;\n }\n}\n\n.clear-search-button {\n right: 3rem;\n padding-right: 0.5rem;\n visibility: hidden;\n}\n\n.suggestions {\n margin: 1.5rem 0;\n\n a {\n padding: 0.75rem 1rem;\n\n &:hover,\n &:focus,\n &.selected {\n background: color.$gray-background;\n }\n\n &.parcel-suggestion {\n flex-wrap: wrap;\n }\n }\n}\n\n.search-recommendation__icon {\n height: 1.5em;\n width: 1.5em;\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Method, State } from '@stencil/core';\nimport { throttle } from 'throttle-debounce';\nimport { clearAllBodyScrollLocks, disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport { state } from '../../data/store';\nimport { CoveoCompletion } from '../../models/coveo.model';\nimport { GeocodeLocation } from '../../models/geocode.model';\nimport { TagManagerDataLayer } from '../../models/general.model';\nimport {\n DropdownElement,\n DropdownEvent,\n HasDropdown,\n ISearchRecommendation,\n IsFocusable,\n} from '../../models/header.model';\nimport { equalizeArrays, getSearchRedirectUrl } from '../../services/search/search.service';\nimport { getCoveoSuggestions } from '../../services/search/coveo.service';\nimport {\n getPlacesUrl,\n highlightPlacesString,\n queryPlaces,\n} from '../../services/search/places.service';\nimport { elementHasTransition, userPrefersReducedMotion } from '../../services/ui.service';\nimport { HighlightedText } from '../../utils/highlighted.component';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { TrackAndTraceInfo } from '../../models/track-and-trace.model';\nimport { getParcelSuggestion } from '../../services/search/parcel.service';\nimport { If } from '../../utils/if.component';\nimport { translate } from '../../services/language.service';\n\n@Component({\n tag: 'post-search',\n styleUrl: 'post-search.scss',\n shadow: true,\n})\nexport class PostSearch implements HasDropdown, IsFocusable {\n @State() searchDropdownOpen = false;\n @State() coveoSuggestions: CoveoCompletion[] = [];\n @State() placeSuggestions: GeocodeLocation[] = [];\n @State() parcelSuggestion: (TrackAndTraceInfo & { url: string }) | null = null;\n @Event() dropdownToggled: EventEmitter<DropdownEvent>;\n @Element() host: DropdownElement;\n private searchBox?: HTMLInputElement;\n private searchFlyout: HTMLElement | undefined;\n private throttledResize: throttle<() => void>;\n private clearButton?: HTMLButtonElement;\n\n connectedCallback() {\n this.throttledResize = throttle(300, () => this.handleResize());\n window.addEventListener('resize', this.throttledResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('resize', this.throttledResize);\n clearAllBodyScrollLocks();\n }\n\n componentWillUpdate() {\n // Check if search flyout got set to close\n if (this.searchFlyout && !this.searchDropdownOpen) {\n this.searchFlyout.classList.remove('open');\n\n // Check if element has transition applied and whether user prefers to see animations or not\n if (elementHasTransition(this.searchFlyout, 'transform') && !userPrefersReducedMotion()) {\n // Wait for CSS transition 'transform' to end before continuing\n return new Promise<boolean>(resolve => {\n if (this.searchFlyout === undefined) {\n return resolve(true);\n }\n\n this.searchFlyout.addEventListener('transitionend', event => {\n if (event.propertyName === 'transform') {\n resolve(true);\n }\n });\n });\n }\n }\n }\n\n componentDidUpdate() {\n // Search flyout got set to open\n if (this.searchFlyout && this.searchDropdownOpen) {\n // Force browser to redraw/refresh DOM before adding 'open' class\n this.searchFlyout.getBoundingClientRect();\n this.searchFlyout.classList.add('open');\n }\n\n // Focus on the searchBox whenever the dropdown is opened\n if (this.searchDropdownOpen && this.searchBox) {\n this.searchBox.focus({ preventScroll: true });\n }\n }\n\n public async toggleDropdown(event?: Event): Promise<boolean>;\n public async toggleDropdown(force?: boolean): Promise<boolean>;\n\n /**\n * Toggle the dropdown and optionally force an open/closed state\n * @param force Boolean to force open/closed state\n * @returns Boolean indicating open state of the component\n */\n @Method()\n async toggleDropdown(force?: unknown) {\n this.searchDropdownOpen =\n force === undefined || typeof force !== 'boolean' ? !this.searchDropdownOpen : force;\n this.dropdownToggled.emit({ open: this.searchDropdownOpen, element: this.host });\n\n if (!this.searchDropdownOpen) {\n // Reset suggestions when dropdown closes\n this.coveoSuggestions = [];\n this.placeSuggestions = [];\n if (this.searchBox) this.searchBox.value = '';\n void this.setFocus();\n } else {\n // Get basic suggestions when dropdown opens\n try {\n this.coveoSuggestions = await getCoveoSuggestions('');\n } catch {}\n }\n\n this.setBodyScroll();\n\n return this.searchDropdownOpen;\n }\n\n /**\n * Sets the focus on the search button\n */\n @Method()\n public async setFocus() {\n const shadowRoot = this.host.shadowRoot;\n if (shadowRoot === null) {\n return;\n }\n const toggleButton = shadowRoot.querySelector<HTMLElement>('.search-button');\n if (toggleButton) {\n toggleButton.focus();\n }\n }\n\n private handleResize() {\n // Only enable/disable body scroll on resize if the search dropdown is open, otherwise this could lead to side effects in other controls\n if (this.searchDropdownOpen) {\n this.setBodyScroll();\n }\n }\n\n /**\n * Disable or re-enable body scrolling, depending on whether search dropdown is open or closed in mobile view (width < 1024px)\n */\n private setBodyScroll() {\n if (!this.searchFlyout) {\n return;\n }\n\n if (this.searchDropdownOpen && window.innerWidth < 1024) {\n disableBodyScroll(this.searchFlyout);\n } else {\n enableBodyScroll(this.searchFlyout);\n }\n }\n\n /**\n * Fetch suggestions from all available sources\n */\n private async handleSearchInput() {\n if (this.searchBox === undefined || state.localizedConfig?.header.search === undefined) {\n return;\n }\n const query = this.searchBox.value.trim();\n\n // shows or hides clearButton depending on the content of the searchbar\n if (this.clearButton) {\n if (query !== '') {\n this.clearButton.style.visibility = 'visible';\n } else {\n this.clearButton.style.visibility = 'hidden';\n }\n }\n\n const [placeSuggestions, coveoSuggestions, trackAndTraceInfo] = await Promise.all([\n queryPlaces(query),\n getCoveoSuggestions(query),\n getParcelSuggestion(query, state.localizedConfig.header.search),\n ]);\n\n this.parcelSuggestion = trackAndTraceInfo;\n\n // Parcel suggestion is more important than any other\n if (trackAndTraceInfo) {\n this.placeSuggestions = [];\n this.coveoSuggestions = [];\n } else {\n [this.coveoSuggestions, this.placeSuggestions] = equalizeArrays(\n coveoSuggestions,\n placeSuggestions,\n 7,\n );\n }\n\n this.deselectSuggestion();\n }\n\n /**\n * clear Search box\n * calls handleSearchInput to update/remove suggestions\n */\n private handleClearSearchBox() {\n if (this.searchBox !== undefined) {\n this.searchBox.value = '';\n this.handleSearchInput();\n }\n }\n\n /**\n * Start search on enter\n * @param event\n */\n private handleKeyDown(event: KeyboardEvent) {\n if (this.searchFlyout === undefined) {\n return;\n }\n\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const selectedHref = selectedSuggestion?.getAttribute('href') ?? null;\n const suggestions = this.searchFlyout.querySelectorAll('.suggestions > li > a');\n\n switch (event.key.toLowerCase()) {\n case 'enter':\n if (selectedHref !== null) {\n window.location.href = selectedHref;\n } else {\n void this.startSearch();\n }\n\n break;\n case 'arrowdown':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.nextElementSibling?.firstElementChild) {\n // Select next suggestion if there's any, otherwise none will be selected\n selectedSuggestion.parentElement.nextElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select first suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[0].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n case 'arrowup':\n this.deselectSuggestion();\n\n if (selectedSuggestion?.parentElement?.previousElementSibling?.firstElementChild) {\n // Select previous suggestion if there's any, otherwise none will be selected\n\n selectedSuggestion.parentElement.previousElementSibling.firstElementChild.classList.add(\n 'selected',\n );\n // If there are any suggestions, select last suggestion in list\n } else if (suggestions.length > 0) {\n suggestions[suggestions.length - 1].classList.add('selected');\n }\n\n this.updateSearchBoxWithSuggestion();\n\n break;\n }\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseEnterSuggestion(event: MouseEvent) {\n this.deselectSuggestion();\n\n // Set hovered suggestion element as selected\n (event.target as HTMLElement).classList.add('selected');\n }\n\n /**\n * Set selected suggestion on mouse enter\n * @param event\n */\n private handleMouseLeaveSuggestions() {\n this.deselectSuggestion();\n }\n\n /**\n * Deselect any previously selected suggestion\n */\n private deselectSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n const selectedSuggestion = this.searchFlyout.querySelector('.suggestions .selected');\n\n if (selectedSuggestion) {\n selectedSuggestion.classList.remove('selected');\n }\n }\n\n /**\n * Update search box with selected suggestion\n */\n private updateSearchBoxWithSuggestion() {\n if (this.searchFlyout === undefined) return;\n\n // Get the newly selected suggestion\n const selectedSuggestion = this.searchFlyout.querySelector<HTMLElement>(\n '.suggestions > li > a.selected',\n );\n const suggestedText = selectedSuggestion?.dataset.suggestionText;\n\n // Update search box value with selected suggestion text\n if (suggestedText !== undefined && this.searchBox) {\n this.searchBox.value = suggestedText;\n }\n }\n\n /**\n * Redirect to the post search page\n */\n private async startSearch() {\n if (this.searchBox && state.localizedConfig?.header.search) {\n const redirectUrl = await getSearchRedirectUrl(\n this.searchBox.value.trim(),\n state.localizedConfig.header.search,\n );\n if (!redirectUrl) return;\n window.location.href = redirectUrl;\n }\n }\n\n private trackRecommendationClick(recommendation: ISearchRecommendation) {\n if (!('dataLayer' in window)) return;\n\n const trackingAttributes = recommendation.additionalAttributes.reduce((acc, curr) => {\n acc[curr.name] = curr.value;\n return acc;\n }, {});\n\n (window.dataLayer as TagManagerDataLayer).push({\n event: trackingAttributes['data-event'],\n text: trackingAttributes['data-text'],\n link_url: trackingAttributes['data-linkurl'],\n label: trackingAttributes['data-label'],\n type: trackingAttributes['data-type'],\n });\n }\n\n render() {\n if (state.localizedConfig?.header === undefined) {\n return;\n }\n const { translations, search } = state.localizedConfig.header;\n const isParcelTrackingNr = this.parcelSuggestion && 'sending' in this.parcelSuggestion;\n const showPortalRecommendations =\n this.searchBox?.value === '' && search.searchRecommendations?.links.length > 0;\n\n return (\n <Host role=\"search\">\n <SvgSprite />\n <div class=\"search\">\n <button\n id=\"post-internet-header-search-button\"\n class=\"search-button\"\n type=\"button\"\n aria-expanded={`${this.searchDropdownOpen}`}\n onClick={e => void this.toggleDropdown(e)}\n >\n <span class=\"visually-hidden\">\n {this.searchDropdownOpen\n ? translations.searchToggleExpanded\n : translations.searchToggle}\n </span>\n <SvgIcon name={this.searchDropdownOpen ? 'pi-close' : 'pi-search'} />\n </button>\n <If condition={this.searchDropdownOpen}>\n <div class=\"flyout\" ref={e => (this.searchFlyout = e)}>\n <div class=\"container box\">\n <div class=\"row\">\n <div class=\"col-xs-12 col-md-10 col-lg-8\">\n <div class=\"form-group form-floating\">\n <input\n type=\"text\"\n role=\"searchbox\"\n id=\"searchBox\"\n class=\"form-control form-control-lg\"\n placeholder={translations.flyoutSearchBoxFloatingLabel}\n autocomplete=\"off\"\n ref={el => (this.searchBox = el)}\n onInput={() => void this.handleSearchInput()}\n onKeyDown={e => this.handleKeyDown(e)}\n />\n <label htmlFor=\"searchBox\">{translations.flyoutSearchBoxFloatingLabel}</label>\n <button\n onClick={() => this.handleClearSearchBox()}\n class=\"clear-search-button\"\n type=\"reset\"\n id=\"clearButton\"\n ref={el => (this.clearButton = el)}\n >\n <span class=\"visually-hidden\">{translate('Delete search term')}</span>\n <SvgIcon name=\"pi-close\" />\n </button>\n <button onClick={() => void this.startSearch()} class=\"start-search-button\">\n <span class=\"visually-hidden\">{translations.searchSubmit}</span>\n <SvgIcon name=\"pi-search\" />\n </button>\n </div>\n {showPortalRecommendations && (\n <h2 id=\"post-internet-header-search-recommendations-title\" class=\"bold\">\n {search.searchRecommendations.title}\n </h2>\n )}\n <ul\n class=\"suggestions no-list\"\n onMouseLeave={() => this.handleMouseLeaveSuggestions()}\n aria-labelledby={\n showPortalRecommendations\n ? 'post-internet-header-search-recommendations-title'\n : undefined\n }\n >\n {showPortalRecommendations &&\n search.searchRecommendations.links.map(recommendation => (\n <li key={recommendation.href}>\n <a\n class=\"nav-link search-recommendation\"\n href={new URL(recommendation.href, 'https://post.ch').href}\n data-suggestion-text={recommendation.label}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n onClick={() => this.trackRecommendationClick(recommendation)}\n >\n <span\n class=\"search-recommendation__icon\"\n innerHTML={recommendation.inlineSvg}\n ></span>\n <span>{recommendation.label}</span>\n </a>\n </li>\n ))}\n {isParcelTrackingNr && (\n <li>\n <a\n class=\"nav-link parcel-suggestion\"\n href={this.parcelSuggestion!.url}\n data-suggestion-text={this.searchBox?.value}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-letter-parcel\" />\n <span class=\"bold\">{this.parcelSuggestion?.sending?.id}: </span>\n <span>\n {[\n this.parcelSuggestion?.sending?.product,\n ' ' + this.parcelSuggestion?.sending?.recipient.zipcode,\n ' ' + this.parcelSuggestion?.sending?.recipient.city,\n ', ' + this.parcelSuggestion?.sending?.state,\n ]\n .filter(s => s !== '' && s !== ' ')\n .join('')}\n </span>\n </a>\n </li>\n )}\n {!showPortalRecommendations &&\n this.coveoSuggestions &&\n this.coveoSuggestions.map(suggestion => (\n <li key={suggestion.objectId}>\n <a\n class=\"nav-link\"\n href={suggestion.redirectUrl}\n data-suggestion-text={suggestion.expression}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-search\" />\n <HighlightedText text={suggestion.highlighted} />\n </a>\n </li>\n ))}\n {!showPortalRecommendations &&\n this.placeSuggestions &&\n this.placeSuggestions.map(suggestion => (\n <li key={suggestion.id}>\n <a\n class=\"nav-link\"\n href={getPlacesUrl(suggestion)}\n data-suggestion-text={suggestion.name}\n onMouseEnter={e => this.handleMouseEnterSuggestion(e)}\n >\n <SvgIcon name=\"pi-place\" />\n <HighlightedText\n text={highlightPlacesString(\n this.searchBox?.value?.trim(),\n suggestion.name,\n )}\n />\n </a>\n </li>\n ))}\n </ul>\n </div>\n </div>\n </div>\n </div>\n </If>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as t,c as e,h as i,H as o,g as n}from"./p-e2e1c5d4.js";import{d as s,t as r}from"./p-a74b380d.js";import{g as a,p as l,t as d}from"./p-dc8296bd.js";import{u as c}from"./p-3339310e.js";import{s as h,d as f}from"./p-624d732c.js";import{S as u}from"./p-60ea6000.js";import{S as p}from"./p-2470951e.js";import{I as g}from"./p-cf06f703.js";const m=(t,e)=>{if(e===false){return t}let i;t=y(t);if(e==="auto"||e==="exact"){if(w(t)){return v(t)}i=new URL(window.location.href)}else{try{i=new URL(e,document.location.origin)}catch(i){console.warn(`Active Route: ${e} is not a valid URL. Navigation highlighting has been disabled.`);return t}}const o=b(t,i,e);if(o.length===0){return t}const n=o[0];n.main.isActiveOverride=true;if(n.sub)n.sub.isActiveOverride=true;return t};const w=t=>t.filter((t=>t.isActive)).length>0;const v=t=>t.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:t.isActive,flyout:t.flyout.map((t=>Object.assign(Object.assign({},t),{linkList:t.linkList.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:t.isActive})))})))})));const y=t=>t.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:false,flyout:t.flyout.map((t=>Object.assign(Object.assign({},t),{linkList:t.linkList.map((t=>Object.assign(Object.assign({},t),{isActiveOverride:false})))})))})));const b=(t,e,i)=>{let o=false;const n=[];t.filter((t=>!o&&t)).forEach((t=>{try{const s=k(e,new URL(t.url),i);o=x(n,s,{main:t,score:s},o)}catch(t){}t.flyout.forEach((s=>{var r;(r=s.linkList)===null||r===void 0?void 0:r.forEach((s=>{if(s.isActive&&(i==="auto"||i==="exact")){o=true;return}try{const r=new URL(s.url);const a=k(e,r,i);o=x(n,a,{main:t,sub:s,score:a},o)}catch(t){}}))}))}));return n.sort(((t,e)=>e.score-t.score))};function x(t,e,i,o){let n=o;if(e>0){if(e===Infinity)n=true;t.push(i)}return n}const k=(t,e,i)=>{if(t===null||e===null||t.origin!==e.origin){return 0}const o=t.pathname.toLocaleLowerCase();const n=e.pathname.toLocaleLowerCase();if(o===n){return Infinity}if(t.pathname.length<e.pathname.length){return 0}if(i==="auto"){const i=[t.origin.toLocaleLowerCase(),...o.split("/").filter((t=>t!==null&&t!==""))];const s=[e.origin.toLocaleLowerCase(),...n.split("/").filter((t=>t!==null&&t!==""))];const r=j(i,s);return Math.min(i.length,s.length)===r?r:0}return 0};const j=(t,e)=>{if(t==null||e==null||t.length===0||e.length===0){return 0}let i=0;for(;i<Math.min(t.length,e.length);i++){if(t[i]!==e[i]){return 0}}return i};let O=null;let C=null;const F=()=>{const t=document.querySelector("#PPM_HEADER_DATA");if((t===null||t===void 0?void 0:t.textContent)!=null){return JSON.parse(t.textContent)}return null};const N=async({projectId:t,environment:e,language:i,cookieKey:o,localStorageKey:n,activeRouteProp:s,localizedCustomConfig:r,osFlyoutOverrides:d})=>{var c,h;const f=F();let u;let p=null;let g;if(f){u=f;g=document.documentElement.lang}else{if(O==null){O=I(t,e)}p=await O;g=a(Object.keys(p),i,n,o);if(g===undefined){throw new Error("Internet Header: unable to determine current language")}u=Object.assign({},p[g])}if(r){const t=((c=r===null||r===void 0?void 0:r.header)===null||c===void 0?void 0:c.navMain)?Object.assign(Object.assign({},u.header),{navMain:[...u.header.navMain,...r.header.navMain]}):u.header;u=Object.assign(Object.assign({},u),{header:t})}if(d)u.header.navMain=P(u,d);if(s!=null)u.header.navMain=m(u.header.navMain,s);R((h=u===null||u===void 0?void 0:u.header)===null||h===void 0?void 0:h.navMain);l(g,o,n);return u};const P=(t,e)=>{if(e==null)return t.header.navMain;return t.header.navMain.map((t=>{var i,o;if(t.id!=="flyout_os")return t;if(C===null){C=JSON.parse(JSON.stringify(t))}const n=(i=e.text)!==null&&i!==void 0?i:C.text;const s=(o=e.title)!==null&&o!==void 0?o:C.title;if(C.flyout==null||C.flyout.length===0||e.flyout==null||e.flyout.length===0)return Object.assign(Object.assign({},t),{title:s,text:n});const r=[...C.flyout.map(((t,i)=>{var o;const n=e.flyout[i];const s=(o=n.title)!==null&&o!==void 0?o:t.title;const r=n.linkList!=null?e.flyout[i].linkList:[];return{title:s,linkList:[...t.linkList,...r]}})),...e.flyout.slice(C.flyout.length)];return Object.assign(Object.assign({},t),{text:n,title:s,flyout:r})}))};const I=async(t,e)=>{if(!L(t)){throw new Error(`Internet Header: invalid project id "${t}"`)}if(t==="test"){e="int01"}let i=S(t,e);try{const t=await fetch(i);return await t.json()}catch(t){throw new Error(`Internet Header: fetching config failed. ${t.message}`)}};const S=(t,e)=>{if(t==="test")return"assets/config/test-configuration.json";const i=e.toLowerCase();const o=i==="prod";const n=`https://${o?"www":"int"}.post.ch`;try{return new URL(`${n}/api/headerjs/Json?serviceid=${encodeURIComponent(t)}${!o?"&environment="+i:""}`).toString()}catch(t){throw new Error(`Internet Header: Config URL is invalid.`)}};const L=t=>t!==""&&t.length>0&&/^[a-zA-Z][\w-]*[a-zA-Z0-9]$/.test(t);const z=(t,e)=>{var i;let o;try{o=typeof t==="string"?JSON.parse(t):t}catch(t){throw new Error(`Internet Header: Custom config is invalid. Make sure your custom config contains valid JSON syntax and matches the definition. `)}let n=o[e];if((i=n===null||n===void 0?void 0:n.header)===null||i===void 0?void 0:i.navMain)R(n.header.navMain);return n};const R=t=>{t.forEach((t=>{t.id=t.id==="flyout_os"?t.id:c("main-nav-")}))};const A="@swisspost/internet-header";const E="1.12.0";const K="The header for client facing applications.";const M="Swiss Post <oss@post.ch>";const T="Apache-2.0";const W={type:"git",url:"https://github.com/swisspost/design-system.git"};const $="https://next.design-system.post.ch";const D={url:"https://github.com/swisspost/design-system/issues"};const H="dist/index.cjs.js";const J="dist/index.js";const U="dist/esm/index.js";const B="dist/types/index.d.ts";const _="dist/collection/collection-manifest.json";const q="dist/swisspost-internet-header/swisspost-internet-header.esm.js";const G={access:"public"};const V=["dist/","loader/"];const X={dev:"stencil build --serve --port 9310 --watch --docs-readme",start:"stencil build --watch --docs-readme",build:"stencil build --docs-readme",clean:"rimraf www dist loader",test:"npm run unit",unit:"jest","unit:watch":"jest --watch",e2e:"cypress run","e2e:watch":"cypress open",lint:"eslint src/**/*{.ts,.tsx}","lint:fix":"eslint src/**/*{.ts,.tsx} --fix",generate:"stencil generate"};const Z={"@stencil/core":"4.6.0","@stencil/store":"2.0.11","@swisspost/design-system-styles":"workspace:6.4.3","body-scroll-lock":"4.0.0-beta.0","iframe-resizer":"4.3.7",jquery:"3.7.1",tabbable:"6.2.0","throttle-debounce":"5.0.0","url-polyfill":"1.1.12"};const Q={"@babel/core":"7.22.20","@percy/cli":"1.27.2","@percy/cypress":"3.1.2","@stencil-community/eslint-plugin":"0.5.0","@stencil/sass":"3.0.7","@types/body-scroll-lock":"3.1.0","@types/iframe-resizer":"3.5.9","@types/jest":"27.5.2","@types/jquery":"3.5.19","@types/node":"18.17.19","@types/throttle-debounce":"5.0.0","babel-loader":"9.1.3",bootstrap:"5.3.2",cypress:"13.2.0","cypress-each":"1.13.3","cypress-storybook":"0.5.1","eslint-plugin-react":"7.33.2",globby:"13.2.2",jest:"27.5.1",rimraf:"5.0.1","rollup-plugin-node-polyfills":"0.2.1","rollup-plugin-scss":"4.0.0","rollup-plugin-visualizer":"5.9.2",sass:"1.68.0","start-server-and-test":"2.0.1","ts-jest":"27.1.5",typescript:"4.9.5"};const Y={name:A,version:E,description:K,author:M,license:T,repository:W,homepage:$,bugs:D,main:H,module:J,es2017:U,types:B,collection:_,"collection:main":"dist/collection/index.js",unpkg:q,publishConfig:G,files:V,scripts:X,dependencies:Z,devDependencies:Q};const tt=t=>{if(!(t instanceof HTMLElement||t instanceof SVGElement)){return false}const e=getComputedStyle(t);return["overflow","overflow-x","overflow-y"].some((t=>{const i=e.getPropertyValue(t);return i==="auto"||i==="scroll"}))};const et=t=>{let e=t.parentElement;while(e){if(tt(e)){return e}e=e.parentElement}return document};const it=(t,e)=>{const i=et(e);const o=()=>{const o=h.stickyness==="full";let n=1;const s=e.clientHeight-1;const r=i instanceof Element?i.scrollTop:i.documentElement.scrollTop;const a=o?0:r;if(t.clientHeight>0){n=Math.max((s-Math.max(a,0))/(s-t.clientHeight),1)}e.style.setProperty("--logo-scale",n.toString())};const n=s(150,o);const r=new IntersectionObserver((t=>{t.forEach((t=>{if(t.isIntersecting&&t.intersectionRatio>0){i.addEventListener("scroll",o,{passive:true});window.addEventListener("resize",n);window.requestAnimationFrame(o)}else{i.removeEventListener("scroll",o);window.removeEventListener("resize",n);window.requestAnimationFrame(o)}}))}),{threshold:[0,.001]});r.observe(t);return o};const ot='@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{--logo-scale:1}@media (max-width: 1023.98px){:host{--logo-scale:1 !important}}post-logo{height:var(--header-height);-webkit-transform-origin:bottom left;transform-origin:bottom left;-webkit-transform:scale(var(--logo-scale));transform:scale(var(--logo-scale))}post-main-navigation{margin-left:calc(var(--header-height)*var(--logo-scale) - var(--header-height))}:host{display:block;position:relative;font-size:1rem;font-weight:300;z-index:var(--header-z-index, 10);--header-height:3.5rem;--meta-header-height:0px;--language-dropdown-margin-top:0px}@media (min-width: 1024px){:host{--meta-header-height:3rem;--header-height:4rem}}@media (min-width: 1280px){:host{--header-height:4.5rem}}:host([meta=false]){--meta-header-height:0px;--language-dropdown-margin-top:1px}@supports ((position: -webkit-sticky) or (position: sticky)){:host(:not(.stickyness-none)){position:-webkit-sticky;position:sticky}:host(.stickyness-full){top:0}:host(.stickyness-main){top:calc(var(--meta-header-height, 0px)*-1)}:host(.stickyness-minimal){top:calc((var(--header-height, 0px) + var(--meta-header-height, 0px) + 1px)*-1);-webkit-transition:top 200ms ease-in;transition:top 200ms ease-in}:host(.stickyness-minimal.scrolling-up),:host(.stickyness-minimal.dropdown-open){top:calc(var(--meta-header-height, 0px)*-1);-webkit-transition:top 200ms ease-out;transition:top 200ms ease-out}}.post-internet-header{border-bottom:1px solid #e6e6e6;background-color:#fff}.main-navigation-container{display:-ms-flexbox;display:flex}.main-navigation-container>.main-navigation-controls{-ms-flex:0 0 auto;flex:0 0 auto}.main-navigation{display:-ms-flexbox;display:flex}.sub-navigation-container{position:absolute;top:100%;left:0;width:100%;display:-ms-flexbox;display:flex;background:#fff;visibility:hidden}.main-navigation-item:hover .sub-navigation-container{visibility:visible}.main-navigation-controls{display:-ms-flexbox;display:flex;margin-left:auto}@media (max-width: 1023.98px){.main-navigation-controls{font-weight:400}}@media (min-width: 1024px){.main-navigation-controls{font-size:1.0625rem}}.main-navigation-controls>*{border-left:1px solid #e6e6e6}.menu-button{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0 calc(1rem - 1px);font-weight:300;cursor:pointer;border-left:1px solid #e6e6e6;-ms-flex-order:1;order:1}@media (min-width: 1024px){.menu-button{display:none}}@media (min-width: 600px)and (max-width: 1023.98px){.menu-button .visually-hidden{position:static;width:auto;height:auto;margin:auto;overflow:visible;clip:auto;visibility:visible;margin-right:.5rem}}.menu-button svg{width:1.5rem;height:1.5rem}.full-width .wide-container{max-width:none}';const nt=class{async getCurrentLanguage(){var t;return(t=h.currentLanguage)!==null&&t!==void 0?t:"de"}constructor(i){t(this,i);this.headerLoaded=e(this,"headerLoaded",7);this.lastScrollTop=window.scrollY||document.documentElement.scrollTop;this.lastWindowWidth=window.innerWidth;this.handleClickOutsideBound=this.handleClickOutside.bind(this);this.project=undefined;this.stickyness="minimal";this.language=undefined;this.meta=true;this.login=true;this.search=true;this.skiplinks=true;this.configProxy=undefined;this.environment="prod";this.languageSwitchOverrides=undefined;this.customConfig=undefined;this.languageCookieKey=undefined;this.languageLocalStorageKey="swisspost-internet-header-language";this.logoutUrl=undefined;this.activeRoute="auto";this.osFlyoutOverrides=undefined;this.fullWidth=false;this.activeFlyout=null;this.activeDropdownElement=null;if(this.project===undefined||this.project===""||!L(this.project)){throw new Error(`Internet Header project key is "${this.project}". Please provide a valid project key.`)}}connectedCallback(){this.throttledScroll=r(300,(()=>this.handleScrollEvent()));this.debouncedResize=s(200,(()=>this.handleResize()))}disconnectedCallback(){this.scrollParent.removeEventListener("scroll",this.throttledScroll);this.scrollParent.removeEventListener("resize",this.debouncedResize);f()}async componentWillLoad(){this.scrollParent=et(this.host);this.scrollParent.addEventListener("scroll",this.throttledScroll,{passive:true});this.scrollParent.addEventListener("resize",this.debouncedResize,{passive:true});try{h.projectId=this.project;h.stickyness=this.stickyness;h.environment=this.environment.toLocaleLowerCase();if(this.language!==undefined)h.currentLanguage=this.language;h.languageSwitchOverrides=typeof this.languageSwitchOverrides==="string"?JSON.parse(this.languageSwitchOverrides):this.languageSwitchOverrides;h.osFlyoutOverrides=typeof this.osFlyoutOverrides==="string"?JSON.parse(this.osFlyoutOverrides):this.osFlyoutOverrides;if(this.customConfig!==undefined){const t=Object.keys(typeof this.customConfig==="string"?JSON.parse(this.customConfig):this.customConfig);const e=h.currentLanguage||a(t,this.language);h.localizedCustomConfig=z(this.customConfig,e)}h.localizedConfig=await N({projectId:this.project,environment:h.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}catch(t){console.error(t)}}componentDidLoad(){window.requestAnimationFrame((()=>{this.handleResize();this.headerLoaded.emit();this.host.classList.add("header-loaded");if(this.meta&&this.metaNav){this.updateLogoAnimation=it(this.metaNav,this.host)}}));if(this.stickyness==="full")console.warn('Internet Header: The stickyness="full" option is deprecated.')}async handleLanguageChange(t){h.currentLanguage=t;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:t,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides});if(this.customConfig)h.localizedCustomConfig=z(this.customConfig,t)}handleAvailableLanguagesChange(t){h.languageSwitchOverrides=typeof t==="string"?JSON.parse(t):t}async handleOsFlyoutOverrides(t){h.osFlyoutOverrides=typeof t==="string"?JSON.parse(t):t;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}async handleActiveRouteChange(t){h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:t,localizedCustomConfig:h.localizedCustomConfig,osFlyoutOverrides:h.osFlyoutOverrides})}async handleCustomConfigChange(t){if(this.language===undefined)return;const e=z(t,this.language);h.localizedCustomConfig=e;h.localizedConfig=await N({projectId:this.project,environment:this.environment,language:this.language,cookieKey:this.languageCookieKey,localStorageKey:this.languageLocalStorageKey,activeRouteProp:this.activeRoute,localizedCustomConfig:e,osFlyoutOverrides:h.osFlyoutOverrides})}handleSearchChange(t){h.search=t}handleLoginChange(t){h.login=t}handleMetaChange(t){h.meta=t}handleLanguageChangeEvent(t){void this.handleLanguageChange(t.detail)}handleStickynessChange(t){h.stickyness=t;if(typeof this.updateLogoAnimation==="function")this.updateLogoAnimation()}handleClickOutside(t){if(this.activeDropdownElement&&!t.composedPath().includes(this.activeDropdownElement)){void this.activeDropdownElement.toggleDropdown(false)}}handleKeyUp(t){if(t.key==="Escape"){if(this.activeDropdownElement){void this.activeDropdownElement.toggleDropdown(false)}if(this.activeFlyout!==null&&this.mainNav){void this.mainNav.toggleDropdown(false)}}}handleScrollEvent(){const t=this.scrollParent instanceof Document?this.scrollParent.documentElement.scrollTop:this.scrollParent.scrollTop;if(this.stickyness==="minimal"){this.host.classList.toggle("scrolling-up",t<=this.lastScrollTop)}this.lastScrollTop=t<=0?0:t}handleResize(){var t;if(this.isMainNavOpen()&&this.lastWindowWidth<1024&&window.innerWidth>=1024){(t=this.activeDropdownElement)===null||t===void 0?void 0:t.toggleDropdown(false)}this.lastWindowWidth=window.innerWidth}handleDropdownToggled(t){if(!t.detail.open&&this.activeDropdownElement!==t.detail.element){return}if(t.detail.open){if(this.activeDropdownElement){void this.activeDropdownElement.toggleDropdown(false)}this.activeDropdownElement=t.detail.element;if(window.innerWidth>=1024){window.setTimeout((()=>{window.addEventListener("click",this.handleClickOutsideBound)}),10)}if(this.activeFlyout!==null&&this.mainNav){void this.mainNav.setActiveFlyout(null)}}else{this.activeDropdownElement=null;window.removeEventListener("click",this.handleClickOutsideBound)}}handleFlyoutToggled(t){this.activeFlyout=t.detail;if(this.activeDropdownElement&&t.detail&&!this.isMainNavOpen()){void this.activeDropdownElement.toggleDropdown(false)}}toggleMobileDropdown(){var t;(t=this.mainNav)===null||t===void 0?void 0:t.toggleDropdown()}isMainNavOpen(){return this.activeDropdownElement&&this.activeDropdownElement.tagName==="POST-MAIN-NAVIGATION"}render(){var t,e,n;if(!((t=h.localizedConfig)===null||t===void 0?void 0:t.header)){console.error(new Error("Internet Header: Config cannot be loaded"));return}const s=h.localizedConfig;const r=this.meta&&s.header.navMeta!==undefined&&((e=s.header.navMeta)===null||e===void 0?void 0:e.filter((t=>!t.isHomeLink)).length)>0;const a=((n=this.login)!==null&&n!==void 0?n:!s.header.isLoginWidgetHidden)&&s.header.loginWidgetOptions;const l=s.header.navLang.length>1;return i(o,{class:`stickyness-${this.stickyness} ${Boolean(this.activeDropdownElement)||Boolean(this.activeFlyout)?"dropdown-open":""}`,"data-version":Y.version,onKeyup:t=>this.handleKeyUp(t)},i("header",{class:`post-internet-header${this.fullWidth?" full-width":""}`},i(u,null),i("h1",{class:"visually-hidden"},d("Navigate on post.ch")),i(g,{condition:this.skiplinks},i("post-skiplinks",null)),i(g,{condition:r},i("post-meta-navigation",{orientation:"horizontal",class:"hidden-lg","full-width":this.fullWidth,ref:t=>this.metaNav=t},i(g,{condition:l},i("post-language-switch",{id:"post-language-switch-desktop",mode:"dropdown",onDropdownToggled:t=>this.handleDropdownToggled(t)})))),i("div",{class:"main-navigation-container wide-container"},i("post-logo",null),i("button",{class:"menu-button nav-link",onClick:()=>this.toggleMobileDropdown(),"aria-haspopup":"menu","aria-controls":"post-internet-header-main-navigation","aria-expanded":this.activeDropdownElement?"true":"false"},i("span",{class:"menu-button-text visually-hidden"},s.header.mobileMenu.text),i(p,{name:this.isMainNavOpen()?"pi-close":"pi-menu"})),i("post-main-navigation",{onDropdownToggled:t=>this.handleDropdownToggled(t),onFlyoutToggled:t=>this.handleFlyoutToggled(t),ref:t=>this.mainNav=t},i(g,{condition:r},i("post-meta-navigation",{orientation:"vertical"},i(g,{condition:l},i("post-language-switch",{id:"post-language-switch-mobile",mode:"list"}))))),i("div",{class:"main-navigation-controls"},i(g,{condition:this.search},i("post-search",{onDropdownToggled:t=>this.handleDropdownToggled(t)})),i(g,{condition:!!a},i("post-klp-login-widget",{"logout-url":this.logoutUrl},i("slot",{name:"login-widget"}))),i(g,{condition:!r&&l},i("post-language-switch",{id:"post-language-switch-no-meta",onDropdownToggled:t=>this.handleDropdownToggled(t),mode:"dropdown"})),i("slot",{name:"main"})))))}get host(){return n(this)}static get watchers(){return{language:["handleLanguageChange"],languageSwitchOverrides:["handleAvailableLanguagesChange"],osFlyoutOverrides:["handleOsFlyoutOverrides"],activeRoute:["handleActiveRouteChange"],customConfig:["handleCustomConfigChange"],search:["handleSearchChange"],login:["handleLoginChange"],meta:["handleMetaChange"],stickyness:["handleStickynessChange"]}}};nt.style=ot;export{nt as P};
|
|
2
|
+
//# sourceMappingURL=p-f5876cc8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["markActiveRoute","config","activeRouteProp","compareUrl","resetOverrideConfig","hasActivePortalRoute","resetActiveStateToPortalConfig","URL","window","location","href","document","origin","error","console","warn","scoreList","compileScoreList","length","winnerPair","main","isActiveOverride","sub","filter","nav","isActive","map","Object","assign","flyout","linkList","link","hadAnyActiveLink","mainNav","forEach","score","compareRoutes","url","updateScoreList","_a","linklist","sort","a","b","scoreListItem","hadActiveLink","Infinity","push","baseUrl","matchMode","baseUrlPath","pathname","toLocaleLowerCase","compareUrlPath","baseSegments","split","x","compareSegments","getSimilarityScore","Math","min","i","request","osFlyoutCache","getPPMConfig","ppmConfigScript","querySelector","textContent","JSON","parse","getLocalizedConfig","async","projectId","environment","language","cookieKey","localStorageKey","localizedCustomConfig","osFlyoutOverrides","ppmConfig","localizedConfig","lang","documentElement","fetchConfig","getUserLang","keys","undefined","Error","header","navMain","mergeOsFlyoutOverrides","setMainNavigationIds","_b","persistLanguageChoice","id","stringify","mainNavText","text","mainNavTitle","title","mainNavFlyout","col","index","overrides","slice","isValidProjectId","generateConfigUrl","res","fetch","json","message","parsedEnvironment","toLowerCase","isProd","host","encodeURIComponent","toString","test","getLocalizedCustomConfig","customConfig","navMainEntities","navMainEntity","uniqueId","isScrollable","node","HTMLElement","SVGElement","style","getComputedStyle","some","propertyName","value","getPropertyValue","getScrollParent","currentParent","parentElement","registerLogoAnimationObserver","target","headerRef","scrollParent","handleScroll","fullStickyness","state","stickyness","scale","adjustedHeaderHeight","clientHeight","scrollDistance","Element","scrollTop","scrollY","max","setProperty","debounced","debounce","observer","IntersectionObserver","entries","entry","isIntersecting","intersectionRatio","addEventListener","passive","requestAnimationFrame","removeEventListener","threshold","observe","postInternetHeaderCss","PostInternetHeader","getCurrentLanguage","currentLanguage","constructor","hostRef","this","lastScrollTop","lastWindowWidth","innerWidth","handleClickOutsideBound","handleClickOutside","bind","project","connectedCallback","throttledScroll","throttle","handleScrollEvent","debouncedResize","handleResize","disconnectedCallback","dispose","componentWillLoad","languageSwitchOverrides","langs","languageCookieKey","languageLocalStorageKey","activeRoute","componentDidLoad","headerLoaded","emit","classList","add","meta","metaNav","updateLogoAnimation","handleLanguageChange","newValue","handleAvailableLanguagesChange","handleOsFlyoutOverrides","handleActiveRouteChange","handleCustomConfigChange","handleSearchChange","search","handleLoginChange","login","handleMetaChange","handleLanguageChangeEvent","event","detail","handleStickynessChange","activeDropdownElement","composedPath","includes","toggleDropdown","handleKeyUp","key","activeFlyout","st","Document","toggle","isMainNavOpen","handleDropdownToggled","open","element","setTimeout","setActiveFlyout","handleFlyoutToggled","toggleMobileDropdown","tagName","render","renderMetaNavigation","navMeta","isHomeLink","renderLogin","_c","isLoginWidgetHidden","loginWidgetOptions","renderLanguageSwitch","navLang","h","Host","class","Boolean","packageJson","version","onKeyup","e","fullWidth","SvgSprite","translate","If","condition","skiplinks","orientation","ref","el","mode","onDropdownToggled","onClick","mobileMenu","SvgIcon","name","onFlyoutToggled","logoutUrl"],"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"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register([],(function(e){"use strict";return{execute:function(){e("c",
|
|
1
|
+
System.register([],(function(e){"use strict";return{execute:function(){e("c",o);var n=e("a",typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{});function o(e,n,o){return o={path:n,exports:{},require:function(e,n){return r()}},e(o,o.exports),o.exports}function r(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}}}}));
|
|
2
2
|
//# sourceMappingURL=p-f887c8bb.system.js.map
|