@oiz/stzh-components 4.3.0 → 4.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-8ce8837c.js → app-globals-123a5a5f.js} +2 -2
- package/dist/cjs/{app-globals-8ce8837c.js.map → app-globals-123a5a5f.js.map} +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/stzh-accordion_3.cjs.entry.js +2 -2
- package/dist/cjs/stzh-actions_6.cjs.entry.js +1 -1
- package/dist/cjs/stzh-actionset.cjs.entry.js +5 -5
- package/dist/cjs/stzh-amount.cjs.entry.js +1 -1
- package/dist/cjs/stzh-anchornav.cjs.entry.js +1 -1
- package/dist/cjs/stzh-app-nav.cjs.entry.js +1 -1
- package/dist/cjs/stzh-appointments.cjs.entry.js +6 -6
- package/dist/cjs/stzh-audio.cjs.entry.js +3 -3
- package/dist/cjs/stzh-badge_3.cjs.entry.js +2 -2
- package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-buttongroup.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-searchresult.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-card-superteaser.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card.cjs.entry.js +9 -24
- package/dist/cjs/stzh-card.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-components.cjs.js +2 -2
- package/dist/cjs/stzh-contact-cv.cjs.entry.js +1 -1
- package/dist/cjs/stzh-contact.cjs.entry.js +5 -5
- package/dist/cjs/stzh-datatable.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-disturber.cjs.entry.js +2 -2
- package/dist/cjs/stzh-editor.cjs.entry.js +1 -1
- package/dist/cjs/stzh-eventdata.cjs.entry.js +1 -1
- package/dist/cjs/stzh-eventinfo.cjs.entry.js +1 -1
- package/dist/cjs/stzh-feedreader-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-feedreader.cjs.entry.js +1 -1
- package/dist/cjs/stzh-geo-ref-data.cjs.entry.js +3 -3
- package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-homepage-search.cjs.entry.js +1 -1
- package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +2 -2
- package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +3 -3
- package/dist/cjs/stzh-page-skiplinks.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagebottom.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +2 -2
- package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +2 -2
- package/dist/cjs/stzh-pi-menu.cjs.entry.js +2 -2
- package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-quote.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
- package/dist/cjs/stzh-poicard.cjs.entry.js +2 -2
- package/dist/cjs/stzh-poilist.cjs.entry.js +2 -2
- package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-search.cjs.entry.js +2 -2
- package/dist/cjs/stzh-sitemap.cjs.entry.js +1 -1
- package/dist/cjs/stzh-socialmediastream-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
- package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
- package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js +8 -1
- package/dist/cjs/stzh-vbz-connection-finder.cjs.entry.js.map +1 -1
- package/dist/collection/assets/i18n/en.json +1 -1
- package/dist/collection/collection-manifest.json +2 -2
- package/dist/collection/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js +26 -1
- package/dist/collection/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.js.map +1 -1
- package/dist/collection/components/CMS/stzh-card-superteaser/stzh-card-superteaser.js +1 -1
- package/dist/collection/components/CMS/stzh-contact/stzh-contact.js +5 -5
- package/dist/collection/components/CMS/stzh-contact-cv/stzh-contact-cv.js +1 -1
- package/dist/collection/components/CMS/stzh-disturber/stzh-disturber.js +2 -2
- package/dist/collection/components/CMS/stzh-editor/stzh-editor.js +1 -1
- package/dist/collection/components/CMS/stzh-eventdata/stzh-eventdata.js +1 -1
- package/dist/collection/components/CMS/stzh-eventinfo/stzh-eventinfo.js +1 -1
- package/dist/collection/components/CMS/stzh-feedreader/stzh-feedreader.js +1 -1
- package/dist/collection/components/CMS/stzh-feedreader-item/stzh-feedreader-item.js +1 -1
- package/dist/collection/components/CMS/stzh-geo-ref-data/stzh-geo-ref-data.js +3 -3
- package/dist/collection/components/CMS/stzh-ghettobox/stzh-ghettobox.js +1 -1
- package/dist/collection/components/CMS/stzh-homepage-search/stzh-homepage-search.js +1 -1
- package/dist/collection/components/CMS/stzh-homepage-service-highlights/stzh-homepage-service-highlights.js +2 -2
- package/dist/collection/components/CMS/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +3 -3
- package/dist/collection/components/CMS/stzh-page-skiplinks/stzh-page-skiplinks.js +1 -1
- package/dist/collection/components/CMS/stzh-pagebottom/stzh-pagebottom.js +1 -1
- package/dist/collection/components/CMS/stzh-pagecontent/stzh-pagecontent.js +1 -1
- package/dist/collection/components/CMS/stzh-pagetitle/stzh-pagetitle.js +1 -1
- package/dist/collection/components/CMS/stzh-pagetitle-hero/stzh-pagetitle-hero.js +2 -2
- package/dist/collection/components/CMS/stzh-pagetitle-home/stzh-pagetitle-home.js +1 -1
- package/dist/collection/components/CMS/stzh-pi-content-navigation/stzh-pi-content-navigation.js +2 -2
- package/dist/collection/components/CMS/stzh-pi-menu/stzh-pi-menu.js +2 -2
- package/dist/collection/components/CMS/stzh-pi-pagetitle/stzh-pi-pagetitle.js +1 -1
- package/dist/collection/components/CMS/stzh-pi-quote/stzh-pi-quote.js +1 -1
- package/dist/collection/components/CMS/stzh-pi-teaser/stzh-pi-teaser.js +1 -1
- package/dist/collection/components/CMS/stzh-poicard/stzh-poicard.js +2 -2
- package/dist/collection/components/CMS/stzh-poilist/stzh-poilist.js +2 -2
- package/dist/collection/components/CMS/stzh-print/stzh-print.js +1 -1
- package/dist/collection/components/CMS/stzh-search/stzh-search.js +2 -2
- package/dist/collection/components/CMS/stzh-sitemap/stzh-sitemap.js +1 -1
- package/dist/collection/components/CMS/stzh-socialmediastream/stzh-socialmediastream.js +1 -1
- package/dist/collection/components/CMS/stzh-socialmediastream-item/stzh-socialmediastream-item.js +1 -1
- package/dist/collection/components/CMS/stzh-textandimage/stzh-textandimage.js +1 -1
- package/dist/collection/components/CMS/stzh-twocolumns/stzh-twocolumns.js +1 -1
- package/dist/collection/components/stzh-accordion/stzh-accordion.js +1 -1
- package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +1 -1
- package/dist/collection/components/stzh-actions/stzh-actions.js +1 -1
- package/dist/collection/components/stzh-actionset/stzh-actionset.js +5 -5
- package/dist/collection/components/stzh-amount/stzh-amount.js +1 -1
- package/dist/collection/components/stzh-anchornav/stzh-anchornav.js +1 -1
- package/dist/collection/components/stzh-app-nav/stzh-app-nav.js +1 -1
- package/dist/collection/components/stzh-appointments/stzh-appointments.js +6 -6
- package/dist/collection/components/stzh-audio/stzh-audio.js +3 -3
- package/dist/collection/components/stzh-badge/stzh-badge.js +1 -1
- package/dist/collection/components/stzh-breadcrumb/stzh-breadcrumb.js +1 -1
- package/dist/collection/components/stzh-button/stzh-button.js +1 -1
- package/dist/collection/components/stzh-buttongroup/stzh-buttongroup.js +1 -1
- package/dist/collection/components/stzh-card/stzh-card.e2e.js +1 -0
- package/dist/collection/components/stzh-card/stzh-card.e2e.js.map +1 -1
- package/dist/collection/components/stzh-card/stzh-card.js +11 -26
- package/dist/collection/components/stzh-card/stzh-card.js.map +1 -1
- package/dist/collection/components/stzh-card/stzh-card.stories.js +148 -12
- package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.e2e.js +2 -2
- package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.e2e.js.map +1 -0
- package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.js +3 -3
- package/dist/collection/components/stzh-card-navigation/stzh-card-navigation.js.map +1 -0
- package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.stories.js +3 -3
- package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.e2e.js +2 -2
- package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.e2e.js.map +1 -0
- package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.js +7 -7
- package/dist/collection/components/stzh-card-searchresult/stzh-card-searchresult.js.map +1 -0
- package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.stories.js +3 -3
- package/dist/collection/components/stzh-datatable/stzh-datatable.js +1 -1
- package/dist/collection/components/stzh-datatable/stzh-datatable.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-02dde838.js → p-0315f0e6.js} +3 -3
- package/dist/components/{p-02dde838.js.map → p-0315f0e6.js.map} +1 -1
- package/dist/components/{p-022b1add.js → p-0bed6703.js} +3 -3
- package/dist/components/{p-022b1add.js.map → p-0bed6703.js.map} +1 -1
- package/dist/components/{p-75de2b52.js → p-12654708.js} +5 -5
- package/dist/components/{p-75de2b52.js.map → p-12654708.js.map} +1 -1
- package/dist/components/{p-6eb9fbaf.js → p-12c55d67.js} +3 -3
- package/dist/components/{p-6eb9fbaf.js.map → p-12c55d67.js.map} +1 -1
- package/dist/components/{p-60bfdfcf.js → p-1dc83d62.js} +2 -2
- package/dist/components/{p-60bfdfcf.js.map → p-1dc83d62.js.map} +1 -1
- package/dist/components/{p-78ff471a.js → p-21e55e49.js} +3 -3
- package/dist/components/{p-78ff471a.js.map → p-21e55e49.js.map} +1 -1
- package/dist/components/{p-61e8a4c8.js → p-26475e68.js} +2 -2
- package/dist/components/{p-61e8a4c8.js.map → p-26475e68.js.map} +1 -1
- package/dist/components/{p-2e58848d.js → p-318eb8ce.js} +7 -7
- package/dist/components/{p-2e58848d.js.map → p-318eb8ce.js.map} +1 -1
- package/dist/components/{p-bc35e5a1.js → p-3be733b1.js} +4 -4
- package/dist/components/{p-bc35e5a1.js.map → p-3be733b1.js.map} +1 -1
- package/dist/components/{p-fc1aafb5.js → p-3c92a168.js} +2 -2
- package/dist/components/{p-fc1aafb5.js.map → p-3c92a168.js.map} +1 -1
- package/dist/components/{p-ae438bdc.js → p-46b3c290.js} +3 -3
- package/dist/components/{p-ae438bdc.js.map → p-46b3c290.js.map} +1 -1
- package/dist/components/{p-7733b8ca.js → p-54e44cdb.js} +4 -4
- package/dist/components/{p-7733b8ca.js.map → p-54e44cdb.js.map} +1 -1
- package/dist/components/{p-ec047685.js → p-5d6829ef.js} +6 -6
- package/dist/components/{p-ec047685.js.map → p-5d6829ef.js.map} +1 -1
- package/dist/components/{p-ffec300d.js → p-5e30852c.js} +3 -3
- package/dist/components/{p-ffec300d.js.map → p-5e30852c.js.map} +1 -1
- package/dist/components/{p-fb02e9f7.js → p-652ae542.js} +2 -2
- package/dist/components/{p-fb02e9f7.js.map → p-652ae542.js.map} +1 -1
- package/dist/components/{p-3ec7da5f.js → p-65d498b6.js} +3 -3
- package/dist/components/{p-3ec7da5f.js.map → p-65d498b6.js.map} +1 -1
- package/dist/components/{p-b9b2eb1b.js → p-80a893df.js} +2 -2
- package/dist/components/{p-b9b2eb1b.js.map → p-80a893df.js.map} +1 -1
- package/dist/components/{p-fbdd0f8f.js → p-83a7ac2c.js} +3 -3
- package/dist/components/{p-fbdd0f8f.js.map → p-83a7ac2c.js.map} +1 -1
- package/dist/components/{p-f87105bb.js → p-8c662622.js} +2 -2
- package/dist/components/{p-f87105bb.js.map → p-8c662622.js.map} +1 -1
- package/dist/components/{p-2dc162f9.js → p-8c9e8d25.js} +5 -5
- package/dist/components/{p-2dc162f9.js.map → p-8c9e8d25.js.map} +1 -1
- package/dist/components/{p-b1d32805.js → p-9187b0ea.js} +3 -3
- package/dist/components/{p-b1d32805.js.map → p-9187b0ea.js.map} +1 -1
- package/dist/components/{p-8e4c1a5e.js → p-9da09a5b.js} +2 -2
- package/dist/components/{p-8e4c1a5e.js.map → p-9da09a5b.js.map} +1 -1
- package/dist/components/{p-f35400e1.js → p-a0c79a46.js} +2 -2
- package/dist/components/{p-f35400e1.js.map → p-a0c79a46.js.map} +1 -1
- package/dist/components/{p-6eaf5218.js → p-a81a3a4c.js} +3 -3
- package/dist/components/{p-6eaf5218.js.map → p-a81a3a4c.js.map} +1 -1
- package/dist/components/{p-2a972be2.js → p-ba5a005c.js} +4 -4
- package/dist/components/{p-2a972be2.js.map → p-ba5a005c.js.map} +1 -1
- package/dist/components/{p-907db6a9.js → p-bb4f4ffc.js} +5 -5
- package/dist/components/{p-907db6a9.js.map → p-bb4f4ffc.js.map} +1 -1
- package/dist/components/{p-55350e52.js → p-bd503085.js} +3 -3
- package/dist/components/{p-55350e52.js.map → p-bd503085.js.map} +1 -1
- package/dist/components/{p-0c2de460.js → p-c16c49ca.js} +4 -4
- package/dist/components/{p-0c2de460.js.map → p-c16c49ca.js.map} +1 -1
- package/dist/components/{p-07da844f.js → p-c3216aa7.js} +3 -3
- package/dist/components/{p-07da844f.js.map → p-c3216aa7.js.map} +1 -1
- package/dist/components/{p-4eb35d23.js → p-c6550ae3.js} +4 -4
- package/dist/components/{p-4eb35d23.js.map → p-c6550ae3.js.map} +1 -1
- package/dist/components/{p-8054dcb8.js → p-c8b4046a.js} +9 -9
- package/dist/components/{p-8054dcb8.js.map → p-c8b4046a.js.map} +1 -1
- package/dist/components/{p-273d413c.js → p-dbe86180.js} +14 -29
- package/dist/components/p-dbe86180.js.map +1 -0
- package/dist/components/{p-aa78661e.js → p-dd7410cb.js} +4 -4
- package/dist/components/{p-aa78661e.js.map → p-dd7410cb.js.map} +1 -1
- package/dist/components/{p-8b1537d5.js → p-f4ff43ee.js} +2 -2
- package/dist/components/{p-8b1537d5.js.map → p-f4ff43ee.js.map} +1 -1
- package/dist/components/{p-e6d206c1.js → p-fcde2fcb.js} +3 -3
- package/dist/components/{p-e6d206c1.js.map → p-fcde2fcb.js.map} +1 -1
- package/dist/components/stzh-accordion-item.js +1 -1
- package/dist/components/stzh-accordion.js +1 -1
- package/dist/components/stzh-actions.js +1 -1
- package/dist/components/stzh-actionset.js +1 -1
- package/dist/components/stzh-amount.js +5 -5
- package/dist/components/stzh-anchornav.js +4 -4
- package/dist/components/stzh-app-nav.js +1 -1
- package/dist/components/stzh-appointments.js +12 -12
- package/dist/components/stzh-archivelist.js +4 -4
- package/dist/components/stzh-audio.js +3 -3
- package/dist/components/stzh-badge.js +1 -1
- package/dist/components/stzh-banner.js +2 -2
- package/dist/components/stzh-bathstatus-item.js +1 -1
- package/dist/components/stzh-bathstatus-list.js +3 -3
- package/dist/components/stzh-breadcrumb.js +1 -1
- package/dist/components/stzh-button.js +1 -1
- package/dist/components/stzh-buttongroup.js +1 -1
- package/dist/components/stzh-calendar.js +1 -1
- package/dist/components/stzh-card-navigation.js +1 -1
- package/dist/components/stzh-card-navigation.js.map +1 -1
- package/dist/components/stzh-card-searchresult.js +9 -9
- package/dist/components/stzh-card-searchresult.js.map +1 -1
- package/dist/components/stzh-card-superteaser.js +9 -9
- package/dist/components/stzh-card.js +1 -1
- package/dist/components/stzh-cardlist.js +1 -1
- package/dist/components/stzh-chip.js +1 -1
- package/dist/components/stzh-chipselect.js +1 -1
- package/dist/components/stzh-clamp.js +1 -1
- package/dist/components/stzh-contact-cv.js +1 -1
- package/dist/components/stzh-contact.js +7 -7
- package/dist/components/stzh-datalist-item.js +1 -1
- package/dist/components/stzh-datalist.js +1 -1
- package/dist/components/stzh-datamessagelist-item.js +6 -6
- package/dist/components/stzh-datatable.js +9 -9
- package/dist/components/stzh-datatable.js.map +1 -1
- package/dist/components/stzh-datepicker.js +1 -1
- package/dist/components/stzh-daterange.js +2 -2
- package/dist/components/stzh-dialog.js +1 -1
- package/dist/components/stzh-disturber.js +4 -4
- package/dist/components/stzh-editor.js +3 -3
- package/dist/components/stzh-eventdata.js +1 -1
- package/dist/components/stzh-eventinfo.js +3 -3
- package/dist/components/stzh-feedreader-item.js +1 -1
- package/dist/components/stzh-feedreader.js +5 -5
- package/dist/components/stzh-footer.js +2 -2
- package/dist/components/stzh-gallery.js +2 -2
- package/dist/components/stzh-geo-ref-data.js +15 -15
- package/dist/components/stzh-ghettobox.js +1 -1
- package/dist/components/stzh-header.js +1 -1
- package/dist/components/stzh-homepage-search.js +1 -1
- package/dist/components/stzh-homepage-service-highlights.js +4 -4
- package/dist/components/stzh-http-error.js +3 -3
- package/dist/components/stzh-iframe.js +1 -1
- package/dist/components/stzh-input.js +1 -1
- package/dist/components/stzh-link.js +1 -1
- package/dist/components/stzh-menu-item.js +1 -1
- package/dist/components/stzh-message.js +1 -1
- package/dist/components/stzh-microsite-teaserlist.js +13 -13
- package/dist/components/stzh-offline-indicator.js +4 -4
- package/dist/components/stzh-page-skiplinks.js +1 -1
- package/dist/components/stzh-pagebottom.js +5 -5
- package/dist/components/stzh-pagecontent.js +1 -1
- package/dist/components/stzh-pagetitle-hero.js +2 -2
- package/dist/components/stzh-pagetitle-home.js +1 -1
- package/dist/components/stzh-pagetitle.js +1 -1
- package/dist/components/stzh-pagination.js +1 -1
- package/dist/components/stzh-panorama.js +3 -3
- package/dist/components/stzh-pi-content-navigation.js +2 -2
- package/dist/components/stzh-pi-menu.js +2 -2
- package/dist/components/stzh-pi-pagetitle.js +1 -1
- package/dist/components/stzh-pi-quote.js +1 -1
- package/dist/components/stzh-pi-teaser.js +1 -1
- package/dist/components/stzh-pkzh-qr.js +7 -7
- package/dist/components/stzh-poicard.js +1 -1
- package/dist/components/stzh-poilist.js +10 -10
- package/dist/components/stzh-print.js +1 -1
- package/dist/components/stzh-readspeaker.js +2 -2
- package/dist/components/stzh-saptcha.js +3 -3
- package/dist/components/stzh-search.js +9 -9
- package/dist/components/stzh-share.js +1 -1
- package/dist/components/stzh-sitemap.js +5 -5
- package/dist/components/stzh-socialmediastream-item.js +1 -1
- package/dist/components/stzh-socialmediastream.js +2 -2
- package/dist/components/stzh-tag.js +1 -1
- package/dist/components/stzh-textandimage.js +1 -1
- package/dist/components/stzh-timeline-item.js +1 -1
- package/dist/components/stzh-toast.js +1 -1
- package/dist/components/stzh-toastbar.js +1 -1
- package/dist/components/stzh-twocolumns.js +1 -1
- package/dist/components/stzh-upload.js +7 -7
- package/dist/components/stzh-vbz-connection-finder.js +10 -2
- package/dist/components/stzh-vbz-connection-finder.js.map +1 -1
- package/dist/components/stzh-vbz-intro.js +2 -2
- package/dist/components/stzh-vbz-majorticker.js +3 -3
- package/dist/components/stzh-vbz-ticker.js +2 -2
- package/dist/components/stzh-youtube.js +3 -3
- package/dist/esm/{app-globals-c92f16c0.js → app-globals-fc68a15b.js} +2 -2
- package/dist/esm/{app-globals-c92f16c0.js.map → app-globals-fc68a15b.js.map} +1 -1
- package/dist/esm/loader.js +2 -2
- package/dist/esm/stzh-accordion_3.entry.js +2 -2
- package/dist/esm/stzh-actions_6.entry.js +1 -1
- package/dist/esm/stzh-actionset.entry.js +5 -5
- package/dist/esm/stzh-amount.entry.js +1 -1
- package/dist/esm/stzh-anchornav.entry.js +1 -1
- package/dist/esm/stzh-app-nav.entry.js +1 -1
- package/dist/esm/stzh-appointments.entry.js +6 -6
- package/dist/esm/stzh-audio.entry.js +3 -3
- package/dist/esm/stzh-badge_3.entry.js +2 -2
- package/dist/esm/stzh-breadcrumb_2.entry.js +1 -1
- package/dist/esm/stzh-buttongroup.entry.js +1 -1
- package/dist/esm/stzh-card-navigation.entry.js +1 -1
- package/dist/esm/stzh-card-navigation.entry.js.map +1 -1
- package/dist/esm/stzh-card-searchresult.entry.js +1 -1
- package/dist/esm/stzh-card-searchresult.entry.js.map +1 -1
- package/dist/esm/stzh-card-superteaser.entry.js +1 -1
- package/dist/esm/stzh-card.entry.js +9 -24
- package/dist/esm/stzh-card.entry.js.map +1 -1
- package/dist/esm/stzh-components.js +2 -2
- package/dist/esm/stzh-contact-cv.entry.js +1 -1
- package/dist/esm/stzh-contact.entry.js +5 -5
- package/dist/esm/stzh-datatable.entry.js.map +1 -1
- package/dist/esm/stzh-disturber.entry.js +2 -2
- package/dist/esm/stzh-editor.entry.js +1 -1
- package/dist/esm/stzh-eventdata.entry.js +1 -1
- package/dist/esm/stzh-eventinfo.entry.js +1 -1
- package/dist/esm/stzh-feedreader-item.entry.js +1 -1
- package/dist/esm/stzh-feedreader.entry.js +1 -1
- package/dist/esm/stzh-geo-ref-data.entry.js +3 -3
- package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
- package/dist/esm/stzh-homepage-search.entry.js +1 -1
- package/dist/esm/stzh-homepage-service-highlights.entry.js +2 -2
- package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -3
- package/dist/esm/stzh-page-skiplinks.entry.js +1 -1
- package/dist/esm/stzh-pagebottom.entry.js +1 -1
- package/dist/esm/stzh-pagecontent.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-hero.entry.js +2 -2
- package/dist/esm/stzh-pagetitle-home.entry.js +1 -1
- package/dist/esm/stzh-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-pi-content-navigation.entry.js +2 -2
- package/dist/esm/stzh-pi-menu.entry.js +2 -2
- package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-pi-quote.entry.js +1 -1
- package/dist/esm/stzh-pi-teaser.entry.js +1 -1
- package/dist/esm/stzh-poicard.entry.js +2 -2
- package/dist/esm/stzh-poilist.entry.js +2 -2
- package/dist/esm/stzh-print_2.entry.js +1 -1
- package/dist/esm/stzh-search.entry.js +2 -2
- package/dist/esm/stzh-sitemap.entry.js +1 -1
- package/dist/esm/stzh-socialmediastream-item.entry.js +1 -1
- package/dist/esm/stzh-socialmediastream.entry.js +1 -1
- package/dist/esm/stzh-textandimage.entry.js +1 -1
- package/dist/esm/stzh-twocolumns.entry.js +1 -1
- package/dist/esm/stzh-vbz-connection-finder.entry.js +8 -1
- package/dist/esm/stzh-vbz-connection-finder.entry.js.map +1 -1
- package/dist/stzh-components/assets/i18n/en.json +1 -1
- package/dist/stzh-components/{p-466ce2ed.entry.js → p-1a4b1e07.entry.js} +2 -2
- package/dist/stzh-components/{p-588eaf19.entry.js → p-238862e6.entry.js} +2 -2
- package/dist/stzh-components/{p-fc532b6d.entry.js → p-2abd5e52.entry.js} +2 -2
- package/dist/stzh-components/{p-04ad66ce.entry.js → p-3099c1a4.entry.js} +2 -2
- package/dist/stzh-components/p-3356301f.entry.js +2 -0
- package/dist/stzh-components/{p-001a94ff.entry.js.map → p-3356301f.entry.js.map} +1 -1
- package/dist/stzh-components/{p-19e9cfcb.entry.js → p-33776d2d.entry.js} +2 -2
- package/dist/stzh-components/{p-03f81303.entry.js → p-34ae771d.entry.js} +2 -2
- package/dist/stzh-components/{p-712e88e4.entry.js → p-3ea25700.entry.js} +2 -2
- package/dist/stzh-components/{p-f0950d01.entry.js → p-44027d66.entry.js} +2 -2
- package/dist/stzh-components/{p-d230175b.entry.js → p-49385921.entry.js} +2 -2
- package/dist/stzh-components/{p-dd0da396.entry.js → p-496d3d37.entry.js} +2 -2
- package/dist/stzh-components/{p-89eb7d18.entry.js → p-4bb9dbd6.entry.js} +2 -2
- package/dist/stzh-components/{p-23ae4720.entry.js → p-5460b0ab.entry.js} +2 -2
- package/dist/stzh-components/{p-85fc1586.entry.js → p-57e17a51.entry.js} +2 -2
- package/dist/stzh-components/{p-89a10196.entry.js → p-5b1ce6b8.entry.js} +2 -2
- package/dist/stzh-components/{p-28d64550.entry.js → p-5c15d9a0.entry.js} +2 -2
- package/dist/stzh-components/{p-65ac1df7.entry.js → p-5cf0212b.entry.js} +2 -2
- package/dist/stzh-components/{p-10afcbfe.entry.js → p-5e098dcd.entry.js} +2 -2
- package/dist/stzh-components/{p-d8f7f464.entry.js → p-5ebdee72.entry.js} +2 -2
- package/dist/stzh-components/p-5ebdee72.entry.js.map +1 -0
- package/dist/stzh-components/{p-4eb4bbfb.entry.js → p-6d494b4b.entry.js} +2 -2
- package/dist/stzh-components/{p-18faf89f.entry.js → p-759bf70a.entry.js} +2 -2
- package/dist/stzh-components/{p-c79d559d.entry.js → p-78d27630.entry.js} +2 -2
- package/dist/stzh-components/{p-70602177.entry.js → p-7a5ae4fe.entry.js} +2 -2
- package/dist/stzh-components/{p-b1cf7284.entry.js → p-7ba43dfe.entry.js} +2 -2
- package/dist/stzh-components/{p-129e3895.entry.js → p-82a2a943.entry.js} +2 -2
- package/dist/stzh-components/{p-b20a4d1f.entry.js → p-8908ff04.entry.js} +2 -2
- package/dist/stzh-components/{p-a0864a0b.entry.js → p-895a053d.entry.js} +2 -2
- package/dist/stzh-components/{p-c73ce503.entry.js → p-8d2022f7.entry.js} +2 -2
- package/dist/stzh-components/{p-71c33a68.entry.js → p-90cd0105.entry.js} +2 -2
- package/dist/stzh-components/{p-5d4a0fd1.entry.js → p-91ff396d.entry.js} +2 -2
- package/dist/stzh-components/p-91ff396d.entry.js.map +1 -0
- package/dist/stzh-components/{p-daddb702.entry.js → p-98ebe720.entry.js} +2 -2
- package/dist/stzh-components/{p-e9cc01e3.entry.js → p-9aea8195.entry.js} +2 -2
- package/dist/stzh-components/{p-5c85487e.entry.js → p-9f47ab4a.entry.js} +2 -2
- package/dist/stzh-components/p-9f47ab4a.entry.js.map +1 -0
- package/dist/stzh-components/{p-2c2896a5.entry.js → p-a22d71d8.entry.js} +2 -2
- package/dist/stzh-components/{p-8493a7ab.entry.js → p-a250a770.entry.js} +2 -2
- package/dist/stzh-components/p-a250a770.entry.js.map +1 -0
- package/dist/stzh-components/{p-5970ced7.entry.js → p-a46ae0cd.entry.js} +2 -2
- package/dist/stzh-components/{p-2a0bf4cb.entry.js → p-a7d9f6f1.entry.js} +2 -2
- package/dist/stzh-components/{p-f5b5b83e.entry.js → p-ac2efdad.entry.js} +2 -2
- package/dist/stzh-components/{p-e81765c0.entry.js → p-af507306.entry.js} +2 -2
- package/dist/stzh-components/{p-3642d44b.entry.js → p-bd11c719.entry.js} +2 -2
- package/dist/stzh-components/p-bed50961.entry.js.map +1 -1
- package/dist/stzh-components/{p-838776fd.entry.js → p-c421e3a8.entry.js} +2 -2
- package/dist/stzh-components/{p-5083e7fb.entry.js → p-c7fb2e0b.entry.js} +2 -2
- package/dist/stzh-components/{p-aea128ba.entry.js → p-d274a5af.entry.js} +2 -2
- package/dist/stzh-components/{p-6dd3708b.entry.js → p-d745c0fc.entry.js} +2 -2
- package/dist/stzh-components/{p-95ed49c6.entry.js → p-e18672e6.entry.js} +2 -2
- package/dist/stzh-components/{p-0fd8221a.entry.js → p-e2546fd2.entry.js} +2 -2
- package/dist/stzh-components/{p-99b217dc.entry.js → p-e40e6c83.entry.js} +2 -2
- package/dist/stzh-components/{p-acec3687.entry.js → p-ee07bb5c.entry.js} +2 -2
- package/dist/stzh-components/{p-dc677b81.js → p-eeac40e8.js} +2 -2
- package/dist/stzh-components/{p-44c77ad6.entry.js → p-fedaf68c.entry.js} +2 -2
- package/dist/stzh-components/stzh-components.esm.js +1 -1
- package/dist/stzh-components/stzh-components.esm.js.map +1 -1
- package/dist/types/components/CMS/VBZ/stzh-vbz-connection-finder/stzh-vbz-connection-finder.d.ts +3 -0
- package/dist/types/components/stzh-card/stzh-card.d.ts +2 -10
- package/dist/types/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.d.ts +2 -2
- package/dist/types/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.d.ts +2 -2
- package/dist/types/components/stzh-datatable/stzh-datatable.d.ts +1 -1
- package/dist/types/components.d.ts +13 -5
- package/dist/vscode-data.json +14 -2
- package/package.json +1 -1
- package/dist/collection/components/CMS/stzh-card-navigation/stzh-card-navigation.e2e.js.map +0 -1
- package/dist/collection/components/CMS/stzh-card-navigation/stzh-card-navigation.js.map +0 -1
- package/dist/collection/components/CMS/stzh-card-searchresult/stzh-card-searchresult.e2e.js.map +0 -1
- package/dist/collection/components/CMS/stzh-card-searchresult/stzh-card-searchresult.js.map +0 -1
- package/dist/components/p-273d413c.js.map +0 -1
- package/dist/stzh-components/p-001a94ff.entry.js +0 -2
- package/dist/stzh-components/p-5c85487e.entry.js.map +0 -1
- package/dist/stzh-components/p-5d4a0fd1.entry.js.map +0 -1
- package/dist/stzh-components/p-8493a7ab.entry.js.map +0 -1
- package/dist/stzh-components/p-d8f7f464.entry.js.map +0 -1
- /package/dist/collection/components/{CMS/stzh-card-navigation → stzh-card-navigation}/stzh-card-navigation.css +0 -0
- /package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/assets/placeholder-image.svg +0 -0
- /package/dist/collection/components/{CMS/stzh-card-searchresult → stzh-card-searchresult}/stzh-card-searchresult.css +0 -0
- /package/dist/stzh-components/{p-466ce2ed.entry.js.map → p-1a4b1e07.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-588eaf19.entry.js.map → p-238862e6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fc532b6d.entry.js.map → p-2abd5e52.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-04ad66ce.entry.js.map → p-3099c1a4.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-19e9cfcb.entry.js.map → p-33776d2d.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-03f81303.entry.js.map → p-34ae771d.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-712e88e4.entry.js.map → p-3ea25700.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f0950d01.entry.js.map → p-44027d66.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d230175b.entry.js.map → p-49385921.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-dd0da396.entry.js.map → p-496d3d37.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-89eb7d18.entry.js.map → p-4bb9dbd6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-23ae4720.entry.js.map → p-5460b0ab.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-85fc1586.entry.js.map → p-57e17a51.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-89a10196.entry.js.map → p-5b1ce6b8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-28d64550.entry.js.map → p-5c15d9a0.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-65ac1df7.entry.js.map → p-5cf0212b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-10afcbfe.entry.js.map → p-5e098dcd.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4eb4bbfb.entry.js.map → p-6d494b4b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-18faf89f.entry.js.map → p-759bf70a.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c79d559d.entry.js.map → p-78d27630.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-70602177.entry.js.map → p-7a5ae4fe.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b1cf7284.entry.js.map → p-7ba43dfe.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-129e3895.entry.js.map → p-82a2a943.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b20a4d1f.entry.js.map → p-8908ff04.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a0864a0b.entry.js.map → p-895a053d.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c73ce503.entry.js.map → p-8d2022f7.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-71c33a68.entry.js.map → p-90cd0105.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-daddb702.entry.js.map → p-98ebe720.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e9cc01e3.entry.js.map → p-9aea8195.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2c2896a5.entry.js.map → p-a22d71d8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5970ced7.entry.js.map → p-a46ae0cd.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2a0bf4cb.entry.js.map → p-a7d9f6f1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f5b5b83e.entry.js.map → p-ac2efdad.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e81765c0.entry.js.map → p-af507306.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-3642d44b.entry.js.map → p-bd11c719.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-838776fd.entry.js.map → p-c421e3a8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-5083e7fb.entry.js.map → p-c7fb2e0b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-aea128ba.entry.js.map → p-d274a5af.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-6dd3708b.entry.js.map → p-d745c0fc.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-95ed49c6.entry.js.map → p-e18672e6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0fd8221a.entry.js.map → p-e2546fd2.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-99b217dc.entry.js.map → p-e40e6c83.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-acec3687.entry.js.map → p-ee07bb5c.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-dc677b81.js.map → p-eeac40e8.js.map} +0 -0
- /package/dist/stzh-components/{p-44c77ad6.entry.js.map → p-fedaf68c.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-ec047685.js","mappings":"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","names":[],"sources":["src/components/stzh-header/stzh-header.scss?tag=stzh-header&encapsulation=scoped","src/components/stzh-header/stzh-header.tsx"],"sourcesContent":["/**\n * @prop --logo-width: Width of logo\n * @prop --logo-height: Height of logo\n * @prop --logobar-background-color: Background color of logobar\n * @prop --stzh-header-logobar-background-color: **Global**: Background color of logobar\n *\n * @prop --stzh-header-height: **Global**: Height of header (readonly variable on `<html>`)\n * @prop --stzh-header-main-height: **Global**: Height of main header part (readonly variable on `<html>`)\n * @prop --stzh-header-metabar-height: **Global**: Height of metabar header (readonly variable on `<html>`)\n * @prop --stzh-header-logobar-height: **Global**: Height of logobar header (readonly variable on `<html>`)\n * @prop --stzh-header-is-stuck: **Global**: Whether head is currently sticky (readonly variable on `<html>`)\n * @prop --stzh-header-is-not-stuck: **Global**: Whether head is currently not sticky (readonly variable on `<html>`)\n */\n\n:host {\n --logo-width: var(--stzh-header-logo-width, auto);\n --logo-height: 100%;\n --logobar-background-color: #{$headerLogobarBackgroundColor};\n --metabar-background-color: var(--stzh-header-metabar-background-color, #{$colorCoolgrey10});\n --menu-background-color: var(--stzh-header-menu-background-color, #{$colorSecondary30});\n --menu-list-item-background-hover: var(--stzh-header-menu-list-item-background-hover, #{$colorSecondary40});\n --menu-list-item-background-level2: var(--stzh-header-menu-list-item-background-level2, #{$colorSecondary20});\n --menu-list-item-background-level2-hover: var(--stzh-header-menu-list-item-background-level2-hover, #{$colorSecondary10});\n --menu-item-color: var(--stzh-header-menu-item-color, #{$colorPrimary70});\n --metanav-item-color: var(--stzh-header-metanav-item-color, #{$colorGrey90});\n\n @media print {\n display: none;\n }\n\n &[logo-type=\"aoz\"],\n &[logo-type=\"pkzh\"],\n &[logo-type=\"uvz\"] {\n --logo-height: 31px;\n\n @include mq($from: medium) {\n --logo-height: 35px;\n }\n\n @include mq($from: ultra) {\n --logo-height: 53px;\n }\n }\n\n &[logo-type=\"vbz\"] {\n --logo-height: 29px;\n\n @include mq($from: medium) {\n --logo-height: 53px;\n }\n\n @include mq($from: ultra) {\n --logo-height: 60px;\n }\n }\n\n &[logo-type=\"vbz\"] ::slotted([slot=\"logo\"]) {\n align-self: center;\n }\n\n ::slotted([slot=\"logo\"]) {\n width: var(--logo-width);\n height: var(--logo-height);\n }\n}\n\n\n.stzh-header {\n @include fontSize('milli');\n color: $colorGrey90;\n\n &__inner,\n &__main {\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n // transition-property: box-shadow;\n // transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__inner {\n @include mq($from: small) {\n position: relative;\n z-index: $zIndexHeader;\n }\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__main {\n display: flex;\n flex-direction: column;\n background-color: $colorWhite;\n\n @include mq($to: small) {\n position: relative;\n z-index: $zIndexHeader;\n }\n }\n\n &__metabar {\n background-color: var(--metabar-background-color);\n }\n\n &__metabar-inner {\n @include container;\n display: flex;\n align-items: center;\n height: $headerMetabarHeight;\n\n // @include mq($to: medium) {\n // // overwrite container margin for regular\n // // to be able to use fullwidth of metabar\n // margin: 0 auto;\n // }\n\n @include mq($from: medium) {\n height: $headerMetabarHeightMediumUp;\n }\n }\n\n &__burger,\n &__search,\n &__metanav-item {\n color: var(--metanav-item-color);\n transition: color $baseTransitionAnimationSpeed;\n cursor: pointer;\n\n &:hover {\n color: $colorBlack;\n }\n }\n\n &__burger {\n @include font('heavy');\n @include fontSize('milli');\n display: flex;\n align-items: center;\n appearance: none;\n background-color: transparent;\n border: none;\n padding: 0;\n margin-right: space('medium');\n gap: space('medium');\n color: var(--menu-item-color);\n\n @include mq($from: small) {\n margin-right: space('xxlarge');\n }\n\n @include mq($from: medium) {\n margin-right: space('xxxxlarge');\n }\n }\n\n &__burger-icon {\n &.is-open {\n display: none;\n }\n }\n\n &__burger.is-open &__burger-icon.is-open {\n display: inline-flex;\n }\n\n &__burger.is-open &__burger-icon.is-close {\n display: none;\n }\n\n &__burger-text {\n @include mq($to: small) {\n @include visuallyhidden;\n }\n }\n\n &__metabar-search {\n overflow: hidden; // prevents input from going out in smaller viewports\n margin-right: space('medium');\n transition-property: width;\n transition-duration: $baseTransitionAnimationSpeed;\n width: 40px;\n max-width: 345px;\n\n &:focus-within {\n width: 100%;\n }\n\n @include mq($from: small) {\n width: 96px;\n margin-right: space('xxlarge');\n }\n\n @include mq($from: medium) {\n // flex-shrink: 0; // prevent shrinking when metanav is in way\n width: 160px;\n margin-left: 0;\n margin-right: space('xxxxlarge');\n }\n }\n\n &__search {\n position: relative;\n display: block;\n width: 100%;\n }\n\n &__search-input {\n // width: 96px;\n width: 100%;\n max-width: 100%;\n background-color: transparent;\n color: transparent;\n font-family: inherit;\n font-size: inherit;\n border: none;\n padding: space('xsmall');\n padding-left: 0;\n padding-right: 0;\n height: $formInputHeightSmall;\n transition-property: padding-left, padding-right, background-color, color;\n transition-duration: $baseTransitionAnimationSpeed;\n\n @include mq($from: small) {\n color: $colorSecondary60;\n padding-left: calc(#{iconSize()} + #{space('medium')});\n }\n\n &:focus {\n // width: 345px;\n color: $colorSecondary60;\n background-color: $colorWhite;\n padding-left: calc(#{space('medium')} + #{iconSize()} + #{space('medium')});\n padding-right: space('xlarge');\n }\n\n // prevent ugly autofill background color in chrome\n &:-webkit-autofill {\n background-clip: text;\n }\n\n // hide search clear icon on chrome\n &[type=\"search\"]::-webkit-search-decoration,\n &[type=\"search\"]::-webkit-search-cancel-button,\n &[type=\"search\"]::-webkit-search-results-button,\n &[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n }\n\n &__search-input:focus ~ &__search-icon,\n &__search-input:focus ~ &__search-text {\n transform: translate(space('medium'), -50%);\n }\n\n &__search-input:focus ~ &__search-text {\n color: $colorGrey70;\n }\n\n &__search-text,\n &__search-icon {\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n transition: transform $baseTransitionAnimationSpeed;\n }\n\n &__search-icon {\n left: 0px;\n\n @include mq($to: small) {\n transform: translate((40px - 24px) * 0.5, -50%);\n }\n }\n\n &__search-text {\n pointer-events: none;\n left: calc(#{iconSize()} + #{space('medium')});\n\n @include mq($to: small) {\n @include visuallyhidden;\n }\n }\n\n &__metabar-nav {\n display: flex;\n align-items: center;\n margin-left: auto;\n gap: space('medium');\n\n @include mq($from: small) {\n gap: space('xlarge');\n }\n\n @include mq($from: medium) {\n gap: space('xxlarge');\n }\n }\n\n &__metanav-popover {\n --width: auto;\n --min-width: 254px;\n --background-color: var(--stzh-color-coolgrey10);\n\n &.is-langnav {\n --min-width: 140px;\n }\n }\n\n &__metanav-item {\n display: none;\n gap: space('small');\n align-items: center;\n justify-content: center;\n appearance: none;\n background-color: transparent;\n padding: 0;\n border: none;\n text-decoration: none;\n font-size: 100%;\n font-family: inherit;\n white-space: nowrap;\n min-width: 40px;\n\n @include mq($from: medium) {\n display: flex;\n }\n\n &[aria-expanded=\"true\"] {\n color: $colorPrimary70;\n }\n\n &.is-heavy {\n @include font('heavy');\n }\n\n &.is-stay {\n display: flex;\n }\n\n &.is-popover-mobile {\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &.is-popover-desktop {\n display: none;\n\n @include mq($from: medium) {\n display: flex;\n }\n }\n }\n\n &__metanav-menu-item {\n &.is-heavy {\n @include font('heavy');\n }\n\n &--extra {\n margin-top: var(--stzh-space-medium);\n }\n }\n\n\n &__metanav-item-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n &.is-vhidden {\n @include visuallyhidden;\n }\n\n &.has-no-short-label {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n }\n\n &__metanav-item-text-label-long {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n\n &__metanav-item-text-label-short {\n display: flex;\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__metanav-icon-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__metanav-icon-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n }\n\n &__metanav-icon {\n &.is-open {\n display: none;\n }\n }\n\n &__metanav-item[aria-expanded=\"true\"] &__metanav-icon.is-open {\n display: inline-flex;\n }\n\n &__metanav-item[aria-expanded=\"true\"] &__metanav-icon.is-close {\n display: none;\n }\n\n // &__metabar-login {\n // display: flex;\n // flex-basis: 50%;\n\n // &:not(:empty) {\n // \t\t@include mq($from: medium) {\n // flex-basis: auto;\n // margin-left: space('small');\n // }\n // }\n // }\n\n // &__metabar-langnav {\n // &:not(:empty) {\n // @include mq($from: medium) {\n // margin-left: space('medium');\n // }\n // }\n // }\n\n &__logobar {\n display: flex;\n\n @include mq($from: ultra) {\n margin-left: auto;\n margin-right: auto;\n width: $containerMaxWidth;\n }\n }\n\n &__logobar-logo {\n box-sizing: content-box;\n display: flex;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n &__logobar-decoration {\n background-color: var(--logobar-background-color);\n flex-grow: 1;\n\n @include mq($from: ultra) {\n width: calc((100% - 553px) + ((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2));\n margin-right: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / -2);\n }\n }\n\n &__logo-link {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n padding-top: 14px;\n padding-bottom: 11px;\n padding-left: $containerMargin;\n display: inline-flex;\n width: 288px;\n height: 66px;\n transition: opacity $baseTransitionAnimationSpeed;\n\n @include mq($from: small) {\n width: 300px;\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n width: 399px;\n height: 88px;\n padding-top: 18px;\n padding-bottom: 18px;\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n width: 617px;\n height: 135px;\n padding-top: 28px;\n padding-bottom: 24px;\n padding-left: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n width: 553px;\n padding-left: 0;\n }\n }\n\n &__flyout,\n &__flyout-search {\n @include fontSize('milli');\n z-index: calc(#{$zIndexHeader} - 1);\n position: fixed;\n visibility: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100dvw;\n height: 100dvh;\n overflow: auto;\n transition: visibility $baseTransitionAnimationSpeed;\n }\n\n &__flyout {\n @media (min-height: 580px) {\n overflow: hidden;\n }\n\n @include mq($from: medium) {\n overflow: hidden;\n }\n }\n\n &__flyout-backdrop {\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: $colorBlack40op;\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n }\n\n &__menu {\n position: absolute;\n width: 100%;\n height: auto;\n background-color: var(--menu-background-color);\n display: grid;\n grid-template-rows: auto auto;\n transition-property: opacity, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n transform: translateX(-100%);\n opacity: 0;\n\n @media (min-height: 580px) {\n height: 100%;\n grid-template-rows: minmax(0, 1fr) auto;\n }\n\n @include mq($from: medium) {\n height: 100%;\n grid-template-rows: minmax(0, 1fr) auto;\n }\n\n @include mq($from: medium) {\n width: 335px;\n }\n\n @include mq($from: large) {\n width: 374px;\n }\n\n @include mq($from: large) {\n width: 439px;\n }\n\n @include mq($from: ultra) {\n width: calc((439px - #{$containerMarginLarge}) + ((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2))\n }\n }\n \n &__menu-nav {\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n\n @include mq($from: medium) {\n position: static;\n }\n }\n\n &__menu-metanav {\n @include spaceCurve('padding-top', 'tiny');\n @include spaceCurve('padding-bottom', 'medium');\n background-color: $colorSecondary20;\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__menu-metanav-nav {\n max-width: 375px;\n }\n\n &__menu-list,\n &__menu-metanav-list {\n display: block;\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n &__menu-list,\n &__menu-metanav-list.is-level-2 {\n padding-top: calc(var(--stzh-header-main-height) + #{space('xxxlarge')});\n padding-bottom: space('xxxlarge');\n\n @include mq($from: medium) {\n padding-top: calc(var(--stzh-header-main-height) + #{space('huge')});\n }\n }\n\n &__menu-list.is-level-2,\n &__menu-metanav-list.is-level-2 {\n overflow: auto;\n background-color: var(--menu-list-item-background-level2);\n visibility: hidden;\n opacity: 0;\n transform: translateX(100%);\n position: absolute;\n z-index: 200;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: opacity, visibility, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n\n @include mq($from: medium) {\n z-index: initial;\n width: 315px;\n transform: none;\n left: 100%;\n // transition-property: opacity, visibility, transform;\n transition-property: opacity, visibility;\n }\n\n @include mq($from: large) {\n width: 334px;\n }\n\n @include mq($from: ultra) {\n width: 345px;\n }\n }\n\n &__menu-list.is-level-2 {\n height: max-content;\n\n @media (min-height: 580px) {\n height: 100%;\n }\n\n @include mq($from: medium) {\n height: 100%;\n }\n }\n\n &__menu-metanav-list.is-level-2 {\n background-color: $colorSecondary30;\n transform: none;\n transition-property: opacity, visibility;\n }\n\n // we add closing transition delay only to menu-list if hovering/focusing of another is currently active\n // to prevent showing background (flickering) when transitioning from one menu-list to another (on the same level)\n &__menu-list:where(:has(> #{&}__menu-list-item:hover > #{&}__menu-list) > #{&}__menu-list-item > #{&}__menu-list),\n &__menu-list:where(:has(> #{&}__menu-list-item.is-open > #{&}__menu-list) > #{&}__menu-list-item > #{&}__menu-list) {\n @include mq($from: medium) {\n transition-delay: $baseTransitionAnimationSpeed;\n }\n }\n\n &__menu-list-item:hover > &__menu-list,\n &__menu-list-item.is-open > &__menu-list {\n @include mq($from: medium) {\n z-index: 200;\n transition-delay: 0ms;\n visibility: visible;\n opacity: 1;\n }\n }\n\n &__menu-list-item:hover > &__menu-item,\n &__menu-list-item.is-open > &__menu-item {\n @include mq($from: medium) {\n background-color: var(--menu-list-item-background-hover);\n }\n\n &.is-level-2 {\n @include mq($from: medium) {\n background-color: var(--menu-list-item-background-level2-hover);\n }\n }\n }\n\n &__menu-nav:has(#{&}__menu-list-item.is-open), // hide menu when any menu-list has been opened\n &__menu:has(#{&}__menu-metanav-list-item.is-open) &__menu-nav, // hide menu when menu metanav menu-list has been opened\n &__menu-list:has(#{&}__menu-list-item.is-open), // hide parent menu-list when sub menu-list has been opened\n &__menu-metanav-list:has(#{&}__menu-metanav-list-item.is-open) { // hide parent metanav menu-list when sub menu-list has been opened\n @include mq($to: medium) {\n transition-property: visibility;\n transition-duration: 0ms;\n transition-delay: $baseTransitionAnimationSpeed;\n visibility: hidden;\n }\n }\n\n // force showing menu-list that is currently open\n &__menu-list-item.is-open > :where(#{&}__menu-list),\n &__menu-metanav-list-item.is-open > :where(#{&}__menu-metanav-list) {\n @include mq($to: medium) {\n transform: translateX(0);\n opacity: 1;\n visibility: visible;\n }\n }\n\n &__menu-list-item,\n &__menu-metanav-list-item {\n display: grid;\n }\n\n &__menu-list-item {\n &.is-backlink {\n display: block;\n }\n }\n\n &__menu-item,\n &__menu-metanav-item {\n @include font('heavy');\n @include fontSize('milli');\n text-align: left;\n display: flex;\n align-items: center;\n gap: space('xsmall');\n appearance: none;\n border: none;\n text-decoration: none;\n background-color: transparent;\n color: var(--menu-item-color);\n padding-left: space('xxxlarge');\n padding-top: space('small');\n padding-bottom: space('small');\n padding-right: space('large');\n transition-property: color, background-color;\n transition-duration: $baseTransitionAnimationSpeed;\n cursor: pointer;\n }\n\n &__menu-item,\n &__menu-metanav-item.is-title {\n @include fontSize('deci');\n min-height: 56px;\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginLarge;\n }\n }\n\n &__menu-item {\n &.is-level-1 {\n @include mq($from: ultra) {\n padding-left: calc(((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2));\n }\n }\n\n &.has-items {\n @include mq($from: medium) {\n cursor: default;\n }\n }\n\n &.is-level-2 {\n @include fontSize('milli');\n min-height: 48px;\n\n @include mq($from: medium) {\n padding-left: space('xlarge');\n }\n\n @include mq($from: ultra) {\n padding-left: space('xxlarge');\n }\n }\n\n &.is-level-2.is-backlink {\n @include font;\n @include fontSize('micro');\n @include spaceCurve('margin-bottom', 'regular');\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'small');\n min-height: none;\n padding-left: $containerMargin;\n padding-right: $containerMargin;\n gap: space('xxsmall');\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n padding-right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &.is-level-2.is-main {\n @include fontSize('centi');\n margin-bottom: space('xlarge');\n }\n }\n\n &__menu-metanav-item {\n &.is-level-1 {\n min-height: 44px;\n padding-top: space('xsmall');\n padding-bottom: space('xsmall');\n }\n\n &.is-level-2 {\n min-height: 56px;\n gap: space('medium');\n padding-right: space('xxlarge');\n }\n\n &.is-title {\n @include font('heavy');\n justify-content: space-between;\n padding-top: 0;\n padding-bottom: 0;\n padding-right: space('medium');\n margin-bottom: space('xlarge');\n cursor: default;\n }\n\n &.is-language {\n @include font;\n justify-content: space-between;\n }\n\n &.is-action {\n display: grid;\n padding-right: space('xxxlarge');\n margin-top: space('xlarge');\n }\n\n &.is-action--extra {\n margin-top: space('xxsmall');\n }\n\n &.is-hidden {\n display: none;\n }\n }\n\n &__menu-metanav-item.is-level-1 &__menu-metanav-item-icon {\n --size: #{iconSize('small')};\n }\n\n &__menu-metanav-item-text {\n display: flex;\n gap: space('xsmall');\n\n &.is-vhidden {\n @include visuallyhidden;\n }\n }\n\n &__menu-metanav-item-counter {\n @include font;\n }\n\n /* app-nav */\n\n &__app-nav {\n display: none;\n\n @include mq($from: medium) {\n display: block;\n }\n }\n\n &__app-nav-bottom {\n position: fixed;\n bottom: 0;\n left: 0;\n width: calc(100vw - var(--stzh-scrollbar-width));\n z-index: calc(#{$zIndexHeader} - 1);\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n /* Search is filled */\n\n &--is-search-filled &__search-text {\n @include visuallyhidden;\n }\n\n /* Hide logo */\n\n &--hide-logo &__logo-link {\n opacity: 0;\n }\n\n /* Fixed variant (as soon as header is passed) */\n\n &--is-fixed &__inner {\n @include mq($from: small) {\n transform: translateY(-100%);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n margin-top: calc(var(--stzh-header-logobar-height) / -1);\n }\n }\n\n &--is-fixed &__main {\n @include mq($to: small) {\n transform: translateY(-100%);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n margin-top: calc(var(--stzh-header-logobar-height) / -1);\n }\n }\n\n &--is-fixed-transition &__inner {\n @include mq($from: small) {\n transition-property: transform;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n }\n\n &--is-fixed-transition &__main {\n @include mq($to: small) {\n transition-property: transform;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n }\n\n /* Sticky (transition) variant */\n\n &--is-sticky-transition &__logobar {\n transition-property: opacity, visibility;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &--is-sticky-transition &__inner,\n &--is-sticky-transition &__main {\n transition-property: transform, margin-top;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &--is-sticky &__inner {\n @include mq($from: small) {\n transform: translateY(0);\n }\n }\n\n &--is-sticky &__main {\n @include mq($to: small) {\n transform: translateY(0);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__inner {\n @include mq($from: small, $to: medium) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__main {\n @include mq($to: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n // &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__inner {\n // \t@include mq($from: small, $to: medium) {\n // box-shadow: none;\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__main {\n // \t@include mq($to: small) {\n // box-shadow: none;\n // }\n // }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__metabar {\n @include mq($to: medium) {\n visibility: hidden;\n }\n }\n\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__inner {\n @include mq($from: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__main {\n @include mq($to: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n // &--is-sticky:where(#{&}--has-empty-metabar) &__inner {\n // \t@include mq($from: small) {\n // box-shadow: none;\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-empty-metabar) &__main {\n // \t@include mq($to: small) {\n // box-shadow: none;\n // }\n // }\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__metabar {\n visibility: hidden;\n }\n\n &--is-sticky &__logobar {\n visibility: hidden;\n opacity: 0;\n }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__metabar {\n // visibility: visible;\n // }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__main {\n // \t@include mq($to: small) {\n // // box-shadow: $boxShadowHeader;\n // margin-top: calc((var(--stzh-header-logobar-height)) / -1);\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__inner {\n // \t@include mq($from: small) {\n // // box-shadow: $boxShadowHeader;\n // margin-top: calc((var(--stzh-header-logobar-height)) / -1);\n // }\n // }\n\n /* Sticky disabled */\n\n // &--sticky-disabled &__main {\n // @include mq($from: medium) {\n // padding-top: $headerMetabarHeightMediumUp;\n // }\n // }\n\n /* Sticky always */\n\n &--sticky-always-full &__inner,\n &--sticky-always-full &__main {\n margin-top: 0px;\n }\n\n &--sticky-always-full &__logobar {\n visibility: visible;\n opacity: 1;\n }\n\n /* Flyout open */\n\n &__flyout-search-main {\n position: absolute;\n width: 100%;\n transition-property: opacity, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n transform: translateY(-100px);\n opacity: 0;\n margin-top: var(--stzh-header-main-height);\n overflow: auto;\n }\n\n &--is-flyout-open &__flyout,\n &--is-flyout-search-open &__flyout-search {\n visibility: visible;\n }\n\n &--is-flyout-open &__flyout-backdrop,\n &--is-flyout-search-open &__flyout-backdrop {\n opacity: 1;\n }\n\n &--is-flyout-open &__flyout-scrollbar,\n &--is-flyout-search-open &__flyout-scrollbar {\n display: none;\n z-index: 999;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: var(--stzh-scrollbar-width);\n background-color: $colorGrey10;\n border-left: calc(0.5px * var(--stzh-scrollbar-active)) solid $colorGrey30;\n\n @media (min-height: 580px) {\n display: block;\n }\n\n @include mq($from: medium) {\n display: block;\n }\n }\n\n &--is-flyout-open &__menu {\n opacity: 1;\n transform: translateX(0);\n }\n\n &--is-flyout-search-open &__flyout-search-main {\n opacity: 1;\n transform: translateX(0);\n }\n\n &--is-flyout-open &__inner,\n &--is-flyout-search-open &__inner {\n @include mq($from: small) {\n z-index: $zIndexHeader;\n transform: translateY(0);\n position: fixed;\n top: 0;\n left: 0;\n right: var(--stzh-scrollbar-width);\n margin-top: 0;\n }\n }\n\n &--is-flyout-open &__main,\n &--is-flyout-search-open &__main {\n @include mq($to: small) {\n z-index: $zIndexHeader;\n transform: translateY(0);\n position: fixed;\n top: 0;\n left: 0;\n right: var(--stzh-scrollbar-width);\n margin-top: 0;\n }\n }\n\n &--is-flyout-open &__logobar,\n &--is-flyout-search-open &__logobar {\n opacity: 1;\n }\n\n &--is-flyout-open &__logobar,\n &--is-flyout-search-open &__logobar,\n &--is-flyout-open &__metabar,\n &--is-flyout-search-open &__metabar {\n visibility: visible;\n }\n\n &--is-flyout-open &__logo-link,\n &--is-flyout-search-open &__logo-link {\n opacity: 1;\n transition: none;\n }\n\n /**\n * Search button.\n */\n &__search-button--is-hidden {\n display: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Listen,\n Method,\n Prop,\n readTask,\n State,\n Watch,\n writeTask,\n} from \"@stencil/core\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { media } from \"../../utils/media-utils\";\nimport {\n StzhAppNavItem,\n StzhDropdownOption,\n StzhHeaderLanguageChangeEvent,\n StzhHeaderMenuItem,\n StzhHeaderMenuItemClickEvent,\n StzhHeaderMetanavItem,\n StzhHeaderMetanavItemButton,\n StzhHeaderMetanavItemButtonClickEvent,\n StzhHeaderMetanavItemChild,\n StzhHeaderMetanavItemChildClickEvent,\n StzhHeaderMetanavItemClickEvent,\n StzhHeaderSearchChangedEvent,\n StzhHeaderSearchChangeEvent,\n} from \"../../index\";\n\nimport { tabbable } from \"tabbable\";\nimport { createBaseFocusTrapOptions } from \"../../utils/overlay-utils\";\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\n\nimport { StzhHeaderLocalizedText } from \"./stzh-header.localization\";\n\nconst CLASS_BODY_OPEN = \"stzh-header-open\";\n\n// for flyout a11y see also: https://www.w3.org/WAI/tutorials/menus/flyout/\n\n/**\n * @slot logo - Slot for brand logo. Logos for every Dienstabteilung (DA) are available in Adobe AEM using this url: https://www.stadt-zuerich.ch/content/dam/corporate-design/de/logos/{DA}.svg\n * @slot menu-before - Slot for custom elements before other menu elements\n * @slot menu-after - Slot for custom elements after other menu elements\n * @slot metanav-before - Slot for custom elements before other metanav elements\n * @slot metanav-after - Slot for custom elements after other metanav elements\n * @slot search - Slot for search element\n */\n@Component({\n tag: \"stzh-header\",\n styleUrl: \"stzh-header.scss\",\n scoped: true,\n})\nexport class StzhHeader {\n /** Translation strings */\n @Prop() localization: StzhHeaderLocalizedText;\n\n /** The href attribute for the logo */\n @Prop() href: string = \"https://www.stadt-zuerich.ch\";\n\n /** Menu element ID */\n @Prop() menuId: string = \"anchorNavMain\";\n\n /** AppNav element ID */\n @Prop() appNavId: string = \"anchorNavAppNav\";\n\n /** Search element ID */\n @Prop() searchId: string = \"anchorSearch\";\n\n /** Metanav element ID */\n @Prop() metanavId: string = \"anchorNavMeta\";\n\n /** Language element ID */\n @Prop() languageId: string = \"anchorNavLang\";\n\n /**\n * Type of logo (used for setting the correct height).\n * Will enlarge the logo to 100% by default (default logos are using whitespace).\n */\n @Prop({ reflect: true }) logoType: \"default\" | \"vbz\" | \"aoz\" | \"pkzh\" | \"uvz\" = \"default\";\n\n /** Menu navigation items */\n @Prop() menuItems: StzhHeaderMenuItem[] | string = [];\n @State() _menuItems: StzhHeaderMenuItem[];\n\n /** Overwrite menu back label */\n @Prop() menuBackLabel: string;\n\n /** Meta navigation items */\n @Prop() metanavItems: StzhHeaderMetanavItem[] | string = [];\n @State() _metanavItems: StzhHeaderMetanavItem[];\n\n /** CMS-specific (do not use): user specific meta navigation items when the user is not logged in or the api call failed */\n @Prop({}) userSpecificMetanavItemsNotLoggedIn: StzhHeaderMetanavItem[] = [];\n @State() _userSpecificMetanavItemsNotLoggedIn: StzhHeaderMetanavItem[] = [];\n\n /** If set, a stzh-appnav will be rendered instead of a menu navigation. */\n @Prop() appNavItems: StzhAppNavItem[] | string = [];\n @State() _appNavItems: StzhAppNavItem[];\n\n /** CMS-specific (do not use): endpoint for cart and user menu when logged in */\n @Prop() userSpecificMetanavItemsEndpoint: string;\n\n /** Current language page path */\n @Prop({ mutable: true }) languageActive: string;\n\n /** Available language (paths) in language switch */\n @Prop() languages: StzhDropdownOption[] | string = [];\n @State() _languages: StzhDropdownOption[];\n\n /** Prevent url change when language has changed (will only fire `stzhLanguageChange`) */\n @Prop() languagePreventUrlchange: boolean = false;\n\n /** Whether language switch should stay on mobile */\n @Prop() languageStay: boolean = false;\n\n /** Whether the whole metabar (containing all the menus) should be hidden */\n @Prop() hideMetabar: boolean = false;\n\n /** Search form action (if set, a search input will be shown) */\n @Prop() searchAction: string;\n\n /** Search field name */\n @Prop() searchFieldName: string = \"q\";\n\n /** Search input value */\n @Prop() searchValue: string = \"\";\n\n /** Sticky behaviour */\n @Prop() sticky: \"default\" | \"disabled\" | \"always-full\" | \"always\" = \"default\";\n\n /** CMS-specific (do not use): message sent to stzh-toastbar when the fetch for the user specific data fails */\n @Prop() loginErrorMessage: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the logo link element.\n * Default value is \"Header Logo\".\n */\n @Prop() logoAnalyticsId: string;\n\n @State() hideLogo: boolean = false;\n @State() headerHeight: number;\n @State() paddingTop: number;\n @State() stickyActive: boolean = false;\n @State() flyoutOpen: boolean = false;\n @State() flyoutSearchOpen: boolean = false;\n @State() searchFilled: boolean;\n\n @State() fixed: boolean = false;\n @State() fixedTransition: boolean = false;\n\n @State() currentOpenMenuItem: StzhHeaderMenuItem = null;\n @State() currentOpenMetanavItem: StzhHeaderMetanavItem = null;\n @State() currentOpenLanguage: boolean = false;\n\n @State() userSpecificMetanavItemsLoggedIn: StzhHeaderMetanavItem[] = [];\n\n @State() combinedMetanavItems: StzhHeaderMetanavItem[] = [];\n\n @State() isSmallOrMicro: boolean;\n\n private openSubmenuElement: HTMLElement;\n\n @Element() element: HTMLStzhHeaderElement;\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeydown(event: KeyboardEvent) {\n if (event.key === \"Escape\") {\n this.flyoutOpen = false;\n this.flyoutSearchOpen = false;\n }\n }\n\n @Listen(\"stzhOverlayCloseClick\")\n flyoutCloseClicked() {\n this.flyoutSearchOpen = false;\n this.updatePosition();\n }\n\n @Watch(\"flyoutOpen\")\n @Watch(\"flyoutSearchOpen\")\n async flyoutOpenWatcher(open: boolean) {\n if (!open) {\n // reset current open menu when flyout was closed\n this.currentOpenMenuItem = null;\n this.currentOpenMetanavItem = null;\n this.currentOpenLanguage = null;\n // reset further flags\n this.flyoutOpenedByMetanavItem = false;\n\n document.body.classList.remove(CLASS_BODY_OPEN);\n this.enableSiblings();\n\n if (this.trap) {\n this.trap.deactivate();\n }\n } else {\n document.body.classList.add(CLASS_BODY_OPEN);\n this.disableSiblings();\n\n if (this.trap) {\n this.trap.activate();\n }\n }\n }\n\n @Watch(\"fixed\")\n @Watch(\"flyoutOpen\")\n @Watch(\"flyoutSearchOpen\")\n @Watch(\"headerHeight\")\n async fixedWatcher() {\n this.paddingTop = this.fixed || this.flyoutOpen || this.flyoutSearchOpen ? this.headerHeight : 0;\n // we don't want to run transitions on applying fixed class (out transition),\n // so we set them in the next render\n await this.waitForNextRender();\n this.fixedTransition = this.fixed || this.flyoutOpen || this.flyoutSearchOpen;\n }\n\n @Watch(\"sticky\")\n stickyWatcher() {\n this.updatePosition();\n }\n\n /** Update position / sticky state of header */\n @Method()\n async updatePosition() {\n if (this.flyoutOpen || this.flyoutSearchOpen) {\n return;\n }\n\n const activateSticky = () => {\n this.stickyActive = true;\n document.documentElement.style.setProperty(\"--stzh-header-is-stuck\", \"1\");\n document.documentElement.style.setProperty(\"--stzh-header-is-not-stuck\", \"0\");\n };\n\n const disableSticky = () => {\n document.documentElement.style.setProperty(\"--stzh-header-is-stuck\", \"0\");\n document.documentElement.style.setProperty(\"--stzh-header-is-not-stuck\", \"1\");\n this.stickyActive = false;\n };\n\n if (this.sticky === \"disabled\") {\n disableSticky();\n } else if (this.sticky === \"always-full\") {\n activateSticky();\n } else if (this.sticky === \"always\") {\n if (this.belowStayStickyPoint) {\n activateSticky();\n } else {\n disableSticky();\n }\n } else {\n if (this.scrollingUp && this.belowStayStickyPoint) {\n if (!this.stickyActive && this.belowStartStickyPoint) {\n activateSticky();\n }\n } else {\n if (this.stickyActive && this.belowStayStickyPoint) {\n disableSticky();\n } else {\n disableSticky();\n }\n }\n }\n }\n\n @Listen(\"scroll\", { target: \"window\" })\n scrollListener() {\n if (this.sticky === \"disabled\") {\n return;\n }\n\n readTask(() => {\n this.currentScrollY = window.scrollY;\n this.scrollingUp = this.lastScrollY && this.lastScrollY > this.currentScrollY;\n this.lastScrollY = this.currentScrollY;\n\n this.belowStayStickyPoint = this.currentScrollY > this.logobarHeight;\n this.belowStartStickyPoint = this.currentScrollY > this.headerHeight;\n\n this.fixed =\n this.belowStartStickyPoint ||\n (this.scrollingUp && this.belowStayStickyPoint && this.stickyActive) ||\n (this.sticky === \"always\" && this.belowStayStickyPoint) ||\n this.sticky === \"always-full\";\n\n this.headerOverlap = (this.headerTop - this.currentScrollY) / -1;\n this.hideLogo = this.sticky !== \"always-full\" && this.isMedium && this.headerOverlap > 1;\n });\n\n writeTask(() => {\n this.updatePosition();\n });\n }\n\n /** Metanav item click event */\n @Event() stzhMetanavItemClick: EventEmitter<StzhHeaderMetanavItemClickEvent>;\n\n /** Metanav item child click event */\n @Event() stzhMetanavItemChildClick: EventEmitter<StzhHeaderMetanavItemChildClickEvent>;\n\n /** Metanav item button click event */\n @Event() stzhMetanavItemButtonClick: EventEmitter<StzhHeaderMetanavItemButtonClickEvent>;\n\n /** Metanav item click event */\n @Event() stzhMenuItemClick: EventEmitter<StzhHeaderMenuItemClickEvent>;\n\n /** Language change event */\n @Event() stzhLanguageChange: EventEmitter<StzhHeaderLanguageChangeEvent>;\n\n /** Search input change event */\n @Event() stzhSearchChange: EventEmitter<StzhHeaderSearchChangeEvent>;\n\n /** Search input changed event */\n @Event() stzhSearchChanged: EventEmitter<StzhHeaderSearchChangedEvent>;\n\n @Watch(\"searchValue\")\n searchValueWatcher(newValue: string) {\n this.searchFilled = newValue !== \"\";\n }\n\n @Watch(\"menuItems\")\n menuItemsWatcher(newValue: StzhHeaderMenuItem[] | string) {\n if (typeof newValue === \"string\") {\n this._menuItems = JSON.parse(newValue);\n } else {\n this._menuItems = newValue;\n }\n\n this._menuItems = this._menuItems.map((menuItem, index) => ({\n id: `submenu-${index}`,\n ...menuItem,\n }));\n }\n\n @Watch(\"metanavItems\")\n metanavItemsWatcher(newValue: StzhHeaderMetanavItem[] | string) {\n if (typeof newValue === \"string\") {\n this._metanavItems = JSON.parse(newValue);\n } else {\n this._metanavItems = newValue;\n }\n\n this._metanavItems = this._metanavItems.map((metanavItem, index) => ({\n id: `metanav-submenu-${index}`,\n ...metanavItem,\n }));\n this.combineMetanavItems();\n }\n\n @Watch(\"appNavItems\")\n appNavItemsWatcher(newValue: StzhAppNavItem[] | string) {\n if (typeof newValue === \"string\") {\n this._appNavItems = JSON.parse(newValue);\n } else {\n this._appNavItems = newValue;\n }\n }\n\n @Watch(\"userSpecificMetanavItemsNotLoggedIn\")\n userSpecificMetanavItemsNotLoggedInWatcher(newValue: StzhHeaderMetanavItem[]) {\n this._userSpecificMetanavItemsNotLoggedIn = newValue;\n this.combineMetanavItems();\n }\n\n @Watch(\"languages\")\n languagesWatcher(newValue: StzhDropdownOption[] | string) {\n if (typeof newValue === \"string\") {\n this._languages = JSON.parse(newValue);\n } else {\n this._languages = newValue;\n }\n }\n\n private renderPromiseResolve: (value?: unknown) => void;\n\n private currentScrollY: number;\n private lastScrollY: number;\n private headerOverlap: number;\n private scrollingUp: boolean;\n private belowStayStickyPoint: boolean;\n private belowStartStickyPoint: boolean;\n\n private headerTop: number;\n // private innerHeight: number;\n private mainHeight: number;\n private metabarHeight: number;\n private logobarHeight: number;\n\n private isMedium: boolean;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n private flyoutResizeObserver: ResizeObserver;\n\n // private innerElement: HTMLDivElement;\n private mainElement: HTMLDivElement;\n private logobarElement: HTMLDivElement;\n private metabarElement: HTMLDivElement;\n private menunavElement: HTMLElement;\n private flyoutElement: HTMLElement;\n private flyoutSearchElement: HTMLElement;\n\n private searchInput: HTMLInputElement;\n\n private lastOpener: HTMLButtonElement | null = null;\n private flyoutOpenedByMetanavItem: boolean = null;\n\n private trap: FocusTrap;\n private _parentElement: HTMLElement;\n\n private getSiblings() {\n if (!this._parentElement) {\n return [];\n }\n\n return Array.from(this._parentElement.children).filter(child => child !== this.element);\n }\n\n private disableSiblings() {\n this.getSiblings().forEach(sibling => {\n sibling.setAttribute(\"aria-hidden\", \"true\");\n });\n }\n\n private enableSiblings() {\n this.getSiblings().forEach(sibling => {\n sibling.removeAttribute(\"aria-hidden\");\n });\n }\n\n private waitForNextRender() {\n return new Promise(resolve => (this.renderPromiseResolve = resolve));\n }\n\n private resizeMenunavElement() {\n // reset height when metanav is sticky, or on medium or no submenu element is open\n if (media(\"headerMetanavSticky\").matches || media(\"medium\").matches || !this.openSubmenuElement) {\n Object.assign(this.menunavElement.style, {\n height: null,\n });\n } else {\n const { height } = this.openSubmenuElement.getBoundingClientRect();\n Object.assign(this.menunavElement.style, {\n height: `${height}px`,\n });\n }\n }\n\n private async openMenuItem(event: MouseEvent, menuItem: StzhHeaderMenuItem) {\n this.flyoutOpen = true;\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.openSubmenuElement = this.element.querySelector(`#${menuItem.id}`) as HTMLElement;\n this.currentOpenMenuItem = menuItem;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.menunavElement.scrollTop = 0;\n\n const firstButtonOrLink = this.openSubmenuElement && tabbable(this.openSubmenuElement)[0];\n firstButtonOrLink?.focus();\n\n this.resizeMenunavElement();\n });\n }\n\n private async closeMenuItem(focusOpener: boolean = true) {\n this.openSubmenuElement = null;\n this.currentOpenMenuItem = null;\n await this.waitForNextRender();\n\n if (focusOpener) {\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n\n this.resizeMenunavElement();\n });\n }\n }\n\n private async openMetanavItem(event: MouseEvent, metanavItem: StzhHeaderMetanavItem) {\n if (!this.flyoutOpen) {\n this.flyoutOpenedByMetanavItem = true;\n this.flyoutOpen = true;\n }\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.currentOpenMetanavItem = metanavItem;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n const openMetanavSubmenuElement = this.element.querySelector(`#${metanavItem.id}`);\n const firstButtonOrLink = openMetanavSubmenuElement && tabbable(openMetanavSubmenuElement)[0];\n firstButtonOrLink?.focus();\n });\n }\n\n private async closeMetanavItem() {\n this.currentOpenMetanavItem = null;\n\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpen = false;\n }\n\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n });\n }\n\n private async openLanguage(event: MouseEvent) {\n if (!this.flyoutOpen) {\n this.flyoutOpenedByMetanavItem = true;\n this.flyoutOpen = true;\n }\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.currentOpenLanguage = true;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n const openMetanavSubmenuElement = this.element.querySelector(\"#submenu-languages\");\n const firstButtonOrLink = openMetanavSubmenuElement && tabbable(openMetanavSubmenuElement)[0];\n firstButtonOrLink?.focus();\n });\n }\n\n private async closeLanguage() {\n this.currentOpenLanguage = false;\n\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpen = false;\n }\n\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n });\n }\n\n private handleMenuListFocusout = (event: FocusEvent) => {\n const isNextFocusOutOfMenuList = !(event.currentTarget as HTMLElement).contains(event.relatedTarget as HTMLElement);\n\n if (this.isMedium && isNextFocusOutOfMenuList) {\n this.closeMenuItem(false);\n }\n };\n\n private handleBurgerClick = async () => {\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpenedByMetanavItem = false;\n this.closeMetanavItem();\n } else {\n this.flyoutSearchOpen = false;\n this.flyoutOpen = !this.flyoutOpen;\n }\n\n // focus first menu item\n const element = this.element.querySelector(\".stzh-header__menu-item\") as HTMLElement;\n\n if (element) {\n window.setTimeout(() => {\n element.focus();\n }, 100);\n }\n\n this.updatePosition();\n };\n\n private handleSearchButtonClick = async () => {\n this.flyoutOpen = false;\n this.flyoutSearchOpen = !this.flyoutSearchOpen;\n\n // focus first search input\n const element = this.element.querySelector(\".stzh-search input[type='search']\") as HTMLElement;\n\n if (element) {\n window.setTimeout(() => {\n element.focus();\n }, 100);\n }\n this.updatePosition();\n };\n\n private handleBackdropClick = async () => {\n this.flyoutOpen = false;\n this.updatePosition();\n };\n\n private handleBackdropSearchClick = async () => {\n this.flyoutSearchOpen = false;\n this.updatePosition();\n };\n\n private handleMetanavItemClick = (event: MouseEvent, item: StzhHeaderMetanavItem) => {\n this.stzhMetanavItemClick.emit({\n component: \"stzh-header\",\n item,\n originalEvent: event,\n });\n };\n\n private handleMetanavItemChildClick = (event: MouseEvent, itemChild: StzhHeaderMetanavItemChild) => {\n this.stzhMetanavItemChildClick.emit({\n component: \"stzh-header\",\n itemChild: itemChild,\n originalEvent: event,\n });\n };\n\n private handleMetanavItemButtonClick = (event: MouseEvent, itemButton: StzhHeaderMetanavItemButton) => {\n this.stzhMetanavItemButtonClick.emit({\n component: \"stzh-header\",\n itemButton: itemButton,\n originalEvent: event,\n });\n };\n\n private handleMenuItemClick = (event: MouseEvent, item: StzhHeaderMenuItem) => {\n this.flyoutOpen = false;\n this.stzhMenuItemClick.emit({\n component: \"stzh-header\",\n item,\n originalEvent: event,\n });\n };\n\n private handleSearchInput = (event: InputEvent) => {\n this.searchValue = this.searchInput.value;\n\n this.stzhSearchChange.emit({\n component: \"stzh-header\",\n originalEvent: event,\n value: this.searchValue,\n });\n };\n\n private handleSearchChange = (event: InputEvent) => {\n this.searchValue = this.searchInput.value;\n this.stzhSearchChanged.emit({\n component: \"stzh-header\",\n originalEvent: event,\n value: this.searchValue,\n });\n };\n\n private handleLanguageClick = (event: MouseEvent, dropdownOption: StzhDropdownOption) => {\n if (this.languagePreventUrlchange) {\n event.preventDefault();\n }\n this.languageActive = dropdownOption.value;\n\n this.stzhLanguageChange.emit({\n component: \"stzh-header\",\n value: this.languageActive,\n });\n };\n\n private handleFlyoutResize = () => {\n this.resizeMenunavElement();\n };\n\n private handleResize = () => {\n if (this.sticky === \"disabled\") {\n return;\n }\n\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(() => {\n readTask(() => {\n this.isMedium = media(\"medium\").matches;\n this.isSmallOrMicro = !this.isMedium;\n\n this.mainHeight = this.mainElement?.offsetHeight || 0;\n this.metabarHeight = this.metabarElement?.offsetHeight || 0;\n this.logobarHeight = this.logobarElement?.offsetHeight || 0;\n\n this.headerTop = this.element.offsetTop;\n this.headerHeight = this.metabarHeight + this.logobarHeight;\n });\n\n writeTask(() => {\n document.documentElement.style.setProperty(\"--stzh-header-height\", `${this.headerHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-main-height\", `${this.mainHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-metabar-height\", `${this.metabarHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-logobar-height\", `${this.logobarHeight}px`);\n });\n\n this.scrollListener();\n });\n };\n\n /** CMS-specific (do not use): fetch user specific metanav items from userSpecificMetanavItemsEndpoint */\n @Method()\n async requestUserSpecificMetanavItems() {\n if (!this.userSpecificMetanavItemsEndpoint) {\n return;\n }\n try {\n const response = await fetch(this.userSpecificMetanavItemsEndpoint);\n this.userSpecificMetanavItemsLoggedIn = await response.json();\n this.combineMetanavItems();\n } catch (error) {\n this.combineMetanavItems(true); // fallback to not logged in items\n console.error(\"Error fetching data:\", error);\n if (this.loginErrorMessage) {\n document.querySelector(\"stzh-toastbar\").toast(this.loginErrorMessage, {\n type: \"error\",\n });\n }\n }\n }\n\n private combineMetanavItems(fallback: boolean = false) {\n if (!this.userSpecificMetanavItemsEndpoint || fallback) {\n //not logged in or login fetch failed\n this.combinedMetanavItems = [\n ...this._metanavItems,\n ...this._userSpecificMetanavItemsNotLoggedIn,\n ];\n } else {\n this.combinedMetanavItems = [\n ...this._metanavItems,\n ...this.userSpecificMetanavItemsLoggedIn,\n ];\n }\n }\n\n async componentWillLoad() {\n this.menuItemsWatcher(this.menuItems);\n this.metanavItemsWatcher(this.metanavItems);\n this.appNavItemsWatcher(this.appNavItems);\n this.languagesWatcher(this.languages);\n this.searchValueWatcher(this.searchValue);\n this.userSpecificMetanavItemsNotLoggedInWatcher(this.userSpecificMetanavItemsNotLoggedIn);\n\n this.requestUserSpecificMetanavItems();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"header\");\n }\n }\n\n componentDidRender() {\n if (this.renderPromiseResolve) {\n this.renderPromiseResolve();\n }\n\n if (this.flyoutElement && this.flyoutResizeObserver) {\n this.flyoutResizeObserver.observe(this.flyoutElement);\n }\n if (this.flyoutSearchElement && this.flyoutResizeObserver) {\n this.flyoutResizeObserver.observe(this.flyoutSearchElement);\n }\n }\n\n componentDidLoad() {\n this.trap = createFocusTrap(this.element, {\n ...createBaseFocusTrapOptions(),\n initialFocus: false,\n });\n\n this.flyoutResizeObserver = new ResizeObserver(this.handleFlyoutResize);\n if (this.flyoutElement) {\n this.flyoutResizeObserver.observe(this.flyoutElement);\n }\n }\n\n connectedCallback() {\n this._parentElement = this.element.parentElement;\n\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n this.flyoutOpenWatcher(false);\n this.resizeObserver?.disconnect();\n this.flyoutResizeObserver?.disconnect();\n }\n\n render() {\n const metanavBeforeUsed: boolean = hasSlot(this.element, \"metanav-before\");\n const metanavAfterUsed: boolean = hasSlot(this.element, \"metanav-after\");\n\n const classes = {\n \"stzh-header\": true,\n \"stzh-header--is-flyout-open\": this.flyoutOpen,\n \"stzh-header--is-flyout-search-open\": this.flyoutSearchOpen,\n \"stzh-header--is-search-filled\": this.searchFilled,\n \"stzh-header--is-fixed\": this.fixed,\n \"stzh-header--is-fixed-transition\": this.fixedTransition,\n \"stzh-header--is-sticky\": this.stickyActive,\n \"stzh-header--is-sticky-transition\": this.stickyActive && this.fixedTransition,\n \"stzh-header--hide-logo\": this.hideLogo,\n \"stzh-header--has-empty-metabar-mobile\":\n !metanavBeforeUsed &&\n !metanavAfterUsed &&\n this._metanavItems.filter(item => item.stay || item.stayAndShowInMobileMenu).length === 0 &&\n this._menuItems.length === 0 &&\n (this._languages.length === 0 || (this._languages.length > 0 && !this.languageStay)) &&\n !this.searchAction,\n \"stzh-header--has-empty-metabar\":\n !metanavBeforeUsed &&\n !metanavAfterUsed &&\n this._metanavItems.length === 0 &&\n this._menuItems.length === 0 &&\n this._languages.length === 0 &&\n !this.searchAction,\n [`stzh-header--sticky-${this.sticky}`]: !!this.sticky,\n };\n\n const activeLanguage = this.languageActive || window.stzhComponents.utils.getLocale(this.element);\n const activeLanguageOption =\n this._languages?.find(({ value }) => value === activeLanguage) || this._languages?.[0] || null;\n\n const renderMetanavItemButton = (\n item: StzhHeaderMetanavItem,\n additionalClasses?: { [className: string]: boolean },\n additionalAttributes?: any,\n ) => {\n const Element = item.items?.length > 0 || item.itemButton || !item.href ? \"button\" : \"a\";\n\n return (\n <Element\n {...additionalAttributes}\n id={item.id + \"-button\"}\n href={Element === \"a\" && item.href}\n target={Element === \"a\" && item.target}\n style={{ order: item.cssOrder }}\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-heavy\": item.important,\n \"is-stay\": item.stay || item.stayAndShowInMobileMenu,\n ...(additionalClasses || {}),\n }}\n >\n <span\n class={{\n \"stzh-header__metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n \"has-no-short-label\": !item.labelShort,\n }}\n >\n <span class=\"stzh-header__metanav-item-text-label-long\">{item.label}</span>\n <span class=\"stzh-header__metanav-item-text-label-short\" aria-hidden=\"true\">\n {item.labelShort}\n </span>\n </span>\n {item.icon && (\n <span class=\"stzh-header__metanav-icon-wrapper\">\n {item.icon && (\n <stzh-icon\n class={`stzh-header__metanav-icon ${item.iconOpen ? \"is-close\" : \"\"}`}\n name={item.icon}\n ></stzh-icon>\n )}\n {item.iconOpen && <stzh-icon class=\"stzh-header__metanav-icon is-open\" name={item.iconOpen}></stzh-icon>}\n {(item.badge || item.badgeEmpty) && (\n <stzh-badge\n class=\"stzh-header__metanav-icon-badge\"\n label={item.badge}\n type={typeof item.badgeType === \"undefined\" ? \"error\" : item.badgeType}\n ></stzh-badge>\n )}\n </span>\n )}\n </Element>\n );\n };\n\n return (\n <Host>\n <header class={classes}>\n <div class=\"stzh-header__header\" style={{ paddingTop: `${this.paddingTop}px` }}>\n {this.isSmallOrMicro && this._appNavItems.length > 0 && (\n <div class=\"stzh-header__app-nav-bottom\">\n <stzh-app-nav items={this._appNavItems} app-nav-id={this.appNavId}></stzh-app-nav>\n </div>\n )}\n <div\n class=\"stzh-header__inner\"\n // ref={(el) => (this.innerElement = el as HTMLDivElement)}\n >\n <div class=\"stzh-header__main\" ref={el => (this.mainElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__logobar\" ref={el => (this.logobarElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__logobar-logo\">\n <a\n href={this.href}\n class=\"stzh-header__logo-link\"\n s-object-id={this.logoAnalyticsId || \"Header Logo\"}\n >\n <slot name=\"logo\"></slot>\n </a>\n </div>\n <div class=\"stzh-header__logobar-decoration\"></div>\n </div>\n\n {!this.hideMetabar && (\n <div class=\"stzh-header__metabar\" ref={el => (this.metabarElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__metabar-inner\">\n <slot name=\"menu-before\"></slot>\n\n {this._menuItems.length > 0 && (\n <button\n id={this.menuId}\n class={`stzh-header__burger ${\n this.flyoutOpen && !this.flyoutOpenedByMetanavItem && \"is-open\"\n }`}\n onClick={this.handleBurgerClick}\n >\n <stzh-icon class=\"stzh-header__burger-icon is-close\" name=\"menu\"></stzh-icon>\n <stzh-icon class=\"stzh-header__burger-icon is-open\" name=\"close\"></stzh-icon>\n <div class=\"stzh-header__burger-text\">{this.localization.menuLabel}</div>\n </button>\n )}\n {this.searchAction && !hasSlot(this.element, \"search\") && (\n <form class=\"stzh-header__metabar-search\" action={this.searchAction} role=\"search\">\n <label class=\"stzh-header__search\">\n <input\n id={this.searchId}\n ref={el => (this.searchInput = el as HTMLInputElement)}\n class=\"stzh-header__search-input\"\n type=\"search\"\n name={this.searchFieldName}\n onChange={this.handleSearchChange}\n onInput={this.handleSearchInput}\n ></input>\n <stzh-icon class=\"stzh-header__search-icon\" name=\"search\"></stzh-icon>\n <div class=\"stzh-header__search-text\">{this.localization.searchLabel}</div>\n </label>\n </form>\n )}\n {hasSlot(this.element, \"search\") && (\n <stzh-button\n iconPosition={\"left\"}\n onClick={this.handleSearchButtonClick}\n variant=\"tertiary-plain\"\n size=\"small\"\n >\n <stzh-icon\n slot=\"icon\"\n name=\"search\"\n class={this.flyoutSearchOpen ? \"stzh-header__search-button--is-hidden\" : \"\"}\n ></stzh-icon>\n <stzh-icon\n slot=\"icon\"\n name=\"close\"\n class={this.flyoutSearchOpen ? \"\" : \"stzh-header__search-button--is-hidden\"}\n ></stzh-icon>\n {this.localization.searchLabel}\n </stzh-button>\n )}\n\n <slot name=\"menu-after\"></slot>\n\n {!this.isSmallOrMicro && this._appNavItems.length > 0 && (\n <div class=\"stzh-header__app-nav\">\n <stzh-app-nav items={this._appNavItems} app-nav-id={this.appNavId}></stzh-app-nav>\n </div>\n )}\n\n <div class=\"stzh-header__metabar-nav\" id={this.metanavId}>\n <slot name=\"metanav-before\"></slot>\n {this.combinedMetanavItems.map(item =>\n item.items?.length > 0 || item.itemButton ? (\n <Fragment>\n {renderMetanavItemButton(\n item,\n {\n \"is-popover-mobile\": true,\n },\n {\n \"aria-expanded\": item === this.currentOpenMetanavItem ? \"true\" : \"false\",\n \"aria-controls\": item.id,\n onClick: (e: MouseEvent) => {\n if (item === this.currentOpenMetanavItem) {\n this.closeMetanavItem();\n } else {\n this.openMetanavItem(e, item);\n }\n\n this.handleMetanavItemClick(e, item);\n },\n },\n )}\n <stzh-popover\n class={{\n \"stzh-header__metanav-popover\": true,\n }}\n placement=\"bottom-end\"\n distance={20}\n variant={item.variant}\n size={typeof item.size === \"undefined\" ? \"large\" : item.size}\n >\n {renderMetanavItemButton(\n item,\n {\n \"is-popover-desktop\": true,\n },\n {\n onClick: (e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n },\n },\n )}\n <div slot=\"content\">\n {item.items?.length > 0 && (\n <stzh-menu>\n {item.items.map(childItem => (\n <stzh-menu-item\n class={{\n \"stzh-header__metanav-menu-item\": true,\n \"is-heavy\":\n typeof item.importantSubmenu === \"undefined\" || item.importantSubmenu,\n }}\n size={typeof item.size === \"undefined\" ? \"large\" : item.size}\n variant={item.variant}\n href={childItem.href}\n target={childItem.target}\n icon={childItem.icon}\n counter={childItem.counter}\n badge={childItem.badge}\n badgeType={childItem.badgeType}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemChildClick(e, childItem);\n }}\n >\n {childItem.label}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n )}\n </div>\n {item.itemButton && (\n <stzh-button\n slot=\"action\"\n size={item.itemButton.size}\n href={item.itemButton.href}\n target={item.itemButton.target}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemButtonClick(e, item.itemButton);\n }}\n >\n {item.itemButton.label}\n </stzh-button>\n )}\n {item.itemButtonExtra && (\n <stzh-button\n class={{\n \"stzh-header__metanav-menu-item--extra\": true,\n }}\n slot=\"action\"\n size={item.itemButtonExtra.size}\n href={item.itemButtonExtra.href}\n target={item.itemButtonExtra.target}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemButtonClick(e, item.itemButtonExtra);\n }}\n >\n {item.itemButtonExtra.label}\n </stzh-button>\n )}\n </stzh-popover>\n </Fragment>\n ) : (\n renderMetanavItemButton(\n item,\n {},\n {\n onClick: (e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n },\n },\n )\n ),\n )}\n\n {this._languages?.length > 0 && (\n <Fragment>\n <h2 id={this.languageId} class=\"stzh-header__vhidden\">\n {this.localization.languageLabel}\n </h2>\n {this._menuItems.length > 0 && this.languageStay && (\n <button\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-popover-mobile\": true,\n \"is-stay\": this.languageStay,\n }}\n aria-expanded={this.currentOpenLanguage ? \"true\" : \"false\"}\n aria-controls=\"submenu-languages\"\n onClick={(e: MouseEvent) => {\n if (this.currentOpenLanguage) {\n this.closeLanguage();\n } else {\n this.openLanguage(e);\n }\n }}\n >\n <span class=\"stzh-header__metanav-item-text\">{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__metanav-icon is-close\" name=\"angle-down\"></stzh-icon>\n <stzh-icon class=\"stzh-header__metanav-icon is-open\" name=\"angle-up\"></stzh-icon>\n </button>\n )}\n <stzh-popover\n class=\"stzh-header__metanav-popover is-langnav\"\n placement=\"bottom-end\"\n distance={20}\n >\n <button\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-popover-desktop\": this._menuItems.length > 0,\n \"is-stay\": this.languageStay,\n }}\n >\n <span class=\"stzh-header__metanav-item-text\">{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__metanav-icon is-close\" name=\"angle-down\"></stzh-icon>\n <stzh-icon class=\"stzh-header__metanav-icon is-open\" name=\"angle-up\"></stzh-icon>\n </button>\n <div slot=\"content\">\n <stzh-menu>\n {this._languages.map(language => (\n <stzh-menu-item\n class=\"stzh-header__metanav-menu-item\"\n active={activeLanguageOption?.value === language.value}\n href={language.value}\n onClick={event => this.handleLanguageClick(event, language)}\n >\n {language.text}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n </div>\n </stzh-popover>\n </Fragment>\n )}\n\n <slot name=\"metanav-after\"></slot>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {(this._menuItems.length > 0 || this.combinedMetanavItems?.length > 0) && (\n <div ref={el => (this.flyoutElement = el as HTMLElement)} class=\"stzh-header__flyout\">\n <div class=\"stzh-header__flyout-backdrop\" onClick={this.handleBackdropClick}></div>\n <div class=\"stzh-header__flyout-scrollbar\"></div>\n <div class=\"stzh-header__menu\">\n <nav\n class=\"stzh-header__menu-nav\"\n ref={el => (this.menunavElement = el as HTMLElement)}\n aria-label={this.localization.navigationLabel}\n >\n <ul class=\"stzh-header__menu-list is-level-1\">\n {this._menuItems.map(item => (\n <li\n class={{\n \"stzh-header__menu-list-item\": true,\n \"is-open\": item === this.currentOpenMenuItem,\n }}\n >\n {item.items?.length > 0 ? (\n <button\n aria-expanded={item === this.currentOpenMenuItem ? \"true\" : \"false\"}\n aria-controls={item.id}\n class=\"stzh-header__menu-item is-level-1 has-items\"\n onClick={\n item === this.currentOpenMenuItem\n ? () => this.closeMenuItem()\n : e => this.openMenuItem(e, item)\n }\n >\n {item.label}\n </button>\n ) : (\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-1\"\n >\n {item.label}\n </a>\n )}\n {item.items?.length > 0 && (\n <ul\n id={item.id}\n class=\"stzh-header__menu-list is-level-2\"\n onFocusout={this.handleMenuListFocusout}\n >\n <li class=\"stzh-header__menu-list-item is-backlink\">\n <button\n class=\"stzh-header__menu-item is-level-2 is-backlink\"\n onClick={() => this.closeMenuItem()}\n >\n <stzh-icon name=\"angle-left\"></stzh-icon>\n <span>{this.menuBackLabel ? this.menuBackLabel : this.localization.menuBackLabel}</span>\n </button>\n </li>\n <li class=\"stzh-header__menu-list-item\">\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-2 is-main\"\n >\n {item.label}\n </a>\n </li>\n {item.items.map(item => (\n <li class=\"stzh-header__menu-list-item\">\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-2\"\n >\n {item.label}\n </a>\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </ul>\n </nav>\n\n {(this.combinedMetanavItems?.length > 0 || this._languages?.length > 0) && (\n <div class=\"stzh-header__menu-metanav\">\n <nav class=\"stzh-header__menu-metanav-nav\">\n <ul class=\"stzh-header__menu-metanav-list is-level-1\">\n {this.combinedMetanavItems.map(item => (\n <li\n class={{\n \"stzh-header__menu-metanav-list-item\": true,\n \"is-open\": item === this.currentOpenMetanavItem,\n }}\n >\n {item.items?.length > 0 ? (\n <button\n aria-expanded={item === this.currentOpenMetanavItem ? \"true\" : \"false\"}\n aria-controls={item.id}\n class={{\n \"stzh-header__menu-metanav-item is-level-1\": true,\n \"is-hidden\": item.stay && !item.stayAndShowInMobileMenu,\n }}\n onClick={(e: MouseEvent) => {\n if (item === this.currentOpenMetanavItem) {\n this.closeMetanavItem();\n } else {\n this.openMetanavItem(e, item);\n }\n\n this.handleMetanavItemClick(e, item);\n }}\n >\n <span\n class={{\n \"stzh-header__menu-metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n }}\n >\n {item.label}\n </span>\n {item.icon && (\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name={item.icon}></stzh-icon>\n )}\n </button>\n ) : (\n <a\n href={item.href}\n class={{\n \"stzh-header__menu-metanav-item is-level-1\": true,\n \"is-hidden\": item.stay && !item.stayAndShowInMobileMenu,\n }}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n }}\n >\n <span\n class={{\n \"stzh-header__menu-metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n }}\n >\n {item.label}\n </span>\n {item.icon && (\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name={item.icon}></stzh-icon>\n )}\n </a>\n )}\n {item.items?.length > 0 && (\n <ul id={item.id} class=\"stzh-header__menu-metanav-list is-level-2\">\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-title\">\n <span>{item.label}</span>\n <stzh-button\n class=\"stzh-header__menu-metanav-item-icon\"\n variant=\"tertiary\"\n icon=\"close\"\n iconOnly={true}\n label={this.localization.closeMetanavMenuLabel?.replace(\n /\\{itemLabel\\}/gi,\n item.label,\n )}\n onClick={() => this.closeMetanavItem()}\n ></stzh-button>\n </div>\n </li>\n {item.items.map(item => (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <a href={item.href} class=\"stzh-header__menu-metanav-item is-level-2\">\n {item.icon && (\n <stzh-icon\n class=\"stzh-header__menu-metanav-item-icon\"\n name={item.icon}\n ></stzh-icon>\n )}\n <span class=\"stzh-header__menu-metanav-item-text\">\n <span>{item.label}</span>\n {item.counter !== undefined && item.counter > 0 && (\n <span class=\"stzh-header__menu-metanav-item-counter\">({item.counter})</span>\n )}\n </span>\n </a>\n </li>\n ))}\n\n {item.itemButton && (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-action\">\n <stzh-button href={item.itemButton.href} target={item.itemButton.target}>\n {item.itemButton.label}\n </stzh-button>\n </div>\n </li>\n )}\n\n {item.itemButtonExtra && (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-action is-action--extra\">\n <stzh-button href={item.itemButtonExtra.href} target={item.itemButtonExtra.target}>\n {item.itemButtonExtra.label}\n </stzh-button>\n </div>\n </li>\n )}\n </ul>\n )}\n </li>\n ))}\n\n {this._languages?.length > 0 && (\n <li\n class={{\n \"stzh-header__menu-metanav-list-item\": true,\n \"is-open\": this.currentOpenLanguage,\n }}\n >\n <button\n aria-expanded={this.currentOpenLanguage ? \"true\" : \"false\"}\n aria-controls=\"submenu-languages\"\n class=\"stzh-header__menu-metanav-item is-level-1\"\n onClick={e => this.openLanguage(e)}\n >\n <span>{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name=\"angle-down\"></stzh-icon>\n </button>\n <ul id=\"submenu-languages\" class=\"stzh-header__menu-metanav-list is-level-2\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-title\">\n <span>{this.localization.dialogLanguageTitle}</span>\n <stzh-button\n class=\"stzh-header__menu-metanav-item-icon\"\n variant=\"tertiary\"\n icon=\"close\"\n iconOnly={true}\n label={\"Sprach-Dialog schliessen\"}\n onClick={() => this.closeLanguage()}\n ></stzh-button>\n </div>\n {this._languages.map(language => (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <a\n class=\"stzh-header__menu-metanav-item is-level-2 is-language\"\n href={language.value}\n onClick={event => this.handleLanguageClick(event, language)}\n >\n <span>{language.text}</span>\n {activeLanguageOption?.value === language.value && (\n <stzh-icon\n class=\"stzh-header__menu-metanav-item-icon\"\n name=\"checkmark\"\n ></stzh-icon>\n )}\n </a>\n </li>\n ))}\n </ul>\n </li>\n )}\n </ul>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n\n {hasSlot(this.element, \"search\") && (\n <div ref={el => (this.flyoutSearchElement = el as HTMLElement)} class=\"stzh-header__flyout-search\">\n <div class=\"stzh-header__flyout-backdrop\" onClick={this.handleBackdropSearchClick}></div>\n <div class=\"stzh-header__flyout-scrollbar\"></div>\n <div class=\"stzh-header__flyout-search-main\">\n <slot name=\"search\"></slot>\n </div>\n </div>\n )}\n </header>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-5d6829ef.js","mappings":"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","names":[],"sources":["src/components/stzh-header/stzh-header.scss?tag=stzh-header&encapsulation=scoped","src/components/stzh-header/stzh-header.tsx"],"sourcesContent":["/**\n * @prop --logo-width: Width of logo\n * @prop --logo-height: Height of logo\n * @prop --logobar-background-color: Background color of logobar\n * @prop --stzh-header-logobar-background-color: **Global**: Background color of logobar\n *\n * @prop --stzh-header-height: **Global**: Height of header (readonly variable on `<html>`)\n * @prop --stzh-header-main-height: **Global**: Height of main header part (readonly variable on `<html>`)\n * @prop --stzh-header-metabar-height: **Global**: Height of metabar header (readonly variable on `<html>`)\n * @prop --stzh-header-logobar-height: **Global**: Height of logobar header (readonly variable on `<html>`)\n * @prop --stzh-header-is-stuck: **Global**: Whether head is currently sticky (readonly variable on `<html>`)\n * @prop --stzh-header-is-not-stuck: **Global**: Whether head is currently not sticky (readonly variable on `<html>`)\n */\n\n:host {\n --logo-width: var(--stzh-header-logo-width, auto);\n --logo-height: 100%;\n --logobar-background-color: #{$headerLogobarBackgroundColor};\n --metabar-background-color: var(--stzh-header-metabar-background-color, #{$colorCoolgrey10});\n --menu-background-color: var(--stzh-header-menu-background-color, #{$colorSecondary30});\n --menu-list-item-background-hover: var(--stzh-header-menu-list-item-background-hover, #{$colorSecondary40});\n --menu-list-item-background-level2: var(--stzh-header-menu-list-item-background-level2, #{$colorSecondary20});\n --menu-list-item-background-level2-hover: var(--stzh-header-menu-list-item-background-level2-hover, #{$colorSecondary10});\n --menu-item-color: var(--stzh-header-menu-item-color, #{$colorPrimary70});\n --metanav-item-color: var(--stzh-header-metanav-item-color, #{$colorGrey90});\n\n @media print {\n display: none;\n }\n\n &[logo-type=\"aoz\"],\n &[logo-type=\"pkzh\"],\n &[logo-type=\"uvz\"] {\n --logo-height: 31px;\n\n @include mq($from: medium) {\n --logo-height: 35px;\n }\n\n @include mq($from: ultra) {\n --logo-height: 53px;\n }\n }\n\n &[logo-type=\"vbz\"] {\n --logo-height: 29px;\n\n @include mq($from: medium) {\n --logo-height: 53px;\n }\n\n @include mq($from: ultra) {\n --logo-height: 60px;\n }\n }\n\n &[logo-type=\"vbz\"] ::slotted([slot=\"logo\"]) {\n align-self: center;\n }\n\n ::slotted([slot=\"logo\"]) {\n width: var(--logo-width);\n height: var(--logo-height);\n }\n}\n\n\n.stzh-header {\n @include fontSize('milli');\n color: $colorGrey90;\n\n &__inner,\n &__main {\n max-width: calc(100vw - var(--stzh-scrollbar-width));\n // transition-property: box-shadow;\n // transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &__inner {\n @include mq($from: small) {\n position: relative;\n z-index: $zIndexHeader;\n }\n }\n\n &__vhidden {\n @include visuallyhidden;\n }\n\n &__main {\n display: flex;\n flex-direction: column;\n background-color: $colorWhite;\n\n @include mq($to: small) {\n position: relative;\n z-index: $zIndexHeader;\n }\n }\n\n &__metabar {\n background-color: var(--metabar-background-color);\n }\n\n &__metabar-inner {\n @include container;\n display: flex;\n align-items: center;\n height: $headerMetabarHeight;\n\n // @include mq($to: medium) {\n // // overwrite container margin for regular\n // // to be able to use fullwidth of metabar\n // margin: 0 auto;\n // }\n\n @include mq($from: medium) {\n height: $headerMetabarHeightMediumUp;\n }\n }\n\n &__burger,\n &__search,\n &__metanav-item {\n color: var(--metanav-item-color);\n transition: color $baseTransitionAnimationSpeed;\n cursor: pointer;\n\n &:hover {\n color: $colorBlack;\n }\n }\n\n &__burger {\n @include font('heavy');\n @include fontSize('milli');\n display: flex;\n align-items: center;\n appearance: none;\n background-color: transparent;\n border: none;\n padding: 0;\n margin-right: space('medium');\n gap: space('medium');\n color: var(--menu-item-color);\n\n @include mq($from: small) {\n margin-right: space('xxlarge');\n }\n\n @include mq($from: medium) {\n margin-right: space('xxxxlarge');\n }\n }\n\n &__burger-icon {\n &.is-open {\n display: none;\n }\n }\n\n &__burger.is-open &__burger-icon.is-open {\n display: inline-flex;\n }\n\n &__burger.is-open &__burger-icon.is-close {\n display: none;\n }\n\n &__burger-text {\n @include mq($to: small) {\n @include visuallyhidden;\n }\n }\n\n &__metabar-search {\n overflow: hidden; // prevents input from going out in smaller viewports\n margin-right: space('medium');\n transition-property: width;\n transition-duration: $baseTransitionAnimationSpeed;\n width: 40px;\n max-width: 345px;\n\n &:focus-within {\n width: 100%;\n }\n\n @include mq($from: small) {\n width: 96px;\n margin-right: space('xxlarge');\n }\n\n @include mq($from: medium) {\n // flex-shrink: 0; // prevent shrinking when metanav is in way\n width: 160px;\n margin-left: 0;\n margin-right: space('xxxxlarge');\n }\n }\n\n &__search {\n position: relative;\n display: block;\n width: 100%;\n }\n\n &__search-input {\n // width: 96px;\n width: 100%;\n max-width: 100%;\n background-color: transparent;\n color: transparent;\n font-family: inherit;\n font-size: inherit;\n border: none;\n padding: space('xsmall');\n padding-left: 0;\n padding-right: 0;\n height: $formInputHeightSmall;\n transition-property: padding-left, padding-right, background-color, color;\n transition-duration: $baseTransitionAnimationSpeed;\n\n @include mq($from: small) {\n color: $colorSecondary60;\n padding-left: calc(#{iconSize()} + #{space('medium')});\n }\n\n &:focus {\n // width: 345px;\n color: $colorSecondary60;\n background-color: $colorWhite;\n padding-left: calc(#{space('medium')} + #{iconSize()} + #{space('medium')});\n padding-right: space('xlarge');\n }\n\n // prevent ugly autofill background color in chrome\n &:-webkit-autofill {\n background-clip: text;\n }\n\n // hide search clear icon on chrome\n &[type=\"search\"]::-webkit-search-decoration,\n &[type=\"search\"]::-webkit-search-cancel-button,\n &[type=\"search\"]::-webkit-search-results-button,\n &[type=\"search\"]::-webkit-search-results-decoration {\n -webkit-appearance: none;\n }\n }\n\n &__search-input:focus ~ &__search-icon,\n &__search-input:focus ~ &__search-text {\n transform: translate(space('medium'), -50%);\n }\n\n &__search-input:focus ~ &__search-text {\n color: $colorGrey70;\n }\n\n &__search-text,\n &__search-icon {\n position: absolute;\n top: 50%;\n transform: translate(0, -50%);\n transition: transform $baseTransitionAnimationSpeed;\n }\n\n &__search-icon {\n left: 0px;\n\n @include mq($to: small) {\n transform: translate((40px - 24px) * 0.5, -50%);\n }\n }\n\n &__search-text {\n pointer-events: none;\n left: calc(#{iconSize()} + #{space('medium')});\n\n @include mq($to: small) {\n @include visuallyhidden;\n }\n }\n\n &__metabar-nav {\n display: flex;\n align-items: center;\n margin-left: auto;\n gap: space('medium');\n\n @include mq($from: small) {\n gap: space('xlarge');\n }\n\n @include mq($from: medium) {\n gap: space('xxlarge');\n }\n }\n\n &__metanav-popover {\n --width: auto;\n --min-width: 254px;\n --background-color: var(--stzh-color-coolgrey10);\n\n &.is-langnav {\n --min-width: 140px;\n }\n }\n\n &__metanav-item {\n display: none;\n gap: space('small');\n align-items: center;\n justify-content: center;\n appearance: none;\n background-color: transparent;\n padding: 0;\n border: none;\n text-decoration: none;\n font-size: 100%;\n font-family: inherit;\n white-space: nowrap;\n min-width: 40px;\n\n @include mq($from: medium) {\n display: flex;\n }\n\n &[aria-expanded=\"true\"] {\n color: $colorPrimary70;\n }\n\n &.is-heavy {\n @include font('heavy');\n }\n\n &.is-stay {\n display: flex;\n }\n\n &.is-popover-mobile {\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &.is-popover-desktop {\n display: none;\n\n @include mq($from: medium) {\n display: flex;\n }\n }\n }\n\n &__metanav-menu-item {\n &.is-heavy {\n @include font('heavy');\n }\n\n &--extra {\n margin-top: var(--stzh-space-medium);\n }\n }\n\n\n &__metanav-item-text {\n text-overflow: ellipsis;\n white-space: nowrap;\n overflow: hidden;\n\n &.is-vhidden {\n @include visuallyhidden;\n }\n\n &.has-no-short-label {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n }\n\n &__metanav-item-text-label-long {\n @include mq($to: medium) {\n @include visuallyhidden;\n }\n }\n\n &__metanav-item-text-label-short {\n display: flex;\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__metanav-icon-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__metanav-icon-badge {\n position: absolute;\n top: -4px;\n right: -4px;\n }\n\n &__metanav-icon {\n &.is-open {\n display: none;\n }\n }\n\n &__metanav-item[aria-expanded=\"true\"] &__metanav-icon.is-open {\n display: inline-flex;\n }\n\n &__metanav-item[aria-expanded=\"true\"] &__metanav-icon.is-close {\n display: none;\n }\n\n // &__metabar-login {\n // display: flex;\n // flex-basis: 50%;\n\n // &:not(:empty) {\n // \t\t@include mq($from: medium) {\n // flex-basis: auto;\n // margin-left: space('small');\n // }\n // }\n // }\n\n // &__metabar-langnav {\n // &:not(:empty) {\n // @include mq($from: medium) {\n // margin-left: space('medium');\n // }\n // }\n // }\n\n &__logobar {\n display: flex;\n\n @include mq($from: ultra) {\n margin-left: auto;\n margin-right: auto;\n width: $containerMaxWidth;\n }\n }\n\n &__logobar-logo {\n box-sizing: content-box;\n display: flex;\n overflow: hidden;\n flex-shrink: 0;\n }\n\n &__logobar-decoration {\n background-color: var(--logobar-background-color);\n flex-grow: 1;\n\n @include mq($from: ultra) {\n width: calc((100% - 553px) + ((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2));\n margin-right: calc((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / -2);\n }\n }\n\n &__logo-link {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n padding-top: 14px;\n padding-bottom: 11px;\n padding-left: $containerMargin;\n display: inline-flex;\n width: 288px;\n height: 66px;\n transition: opacity $baseTransitionAnimationSpeed;\n\n @include mq($from: small) {\n width: 300px;\n padding-left: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n width: 399px;\n height: 88px;\n padding-top: 18px;\n padding-bottom: 18px;\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n width: 617px;\n height: 135px;\n padding-top: 28px;\n padding-bottom: 24px;\n padding-left: $containerMarginLarge;\n }\n\n @include mq($from: ultra) {\n width: 553px;\n padding-left: 0;\n }\n }\n\n &__flyout,\n &__flyout-search {\n @include fontSize('milli');\n z-index: calc(#{$zIndexHeader} - 1);\n position: fixed;\n visibility: hidden;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n width: 100dvw;\n height: 100dvh;\n overflow: auto;\n transition: visibility $baseTransitionAnimationSpeed;\n }\n\n &__flyout {\n @media (min-height: 580px) {\n overflow: hidden;\n }\n\n @include mq($from: medium) {\n overflow: hidden;\n }\n }\n\n &__flyout-backdrop {\n position: absolute;\n width: 100%;\n height: 100%;\n background-color: $colorBlack40op;\n opacity: 0;\n transition: opacity $baseTransitionAnimationSpeed;\n }\n\n &__menu {\n position: absolute;\n width: 100%;\n height: auto;\n background-color: var(--menu-background-color);\n display: grid;\n grid-template-rows: auto auto;\n transition-property: opacity, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n transform: translateX(-100%);\n opacity: 0;\n\n @media (min-height: 580px) {\n height: 100%;\n grid-template-rows: minmax(0, 1fr) auto;\n }\n\n @include mq($from: medium) {\n height: 100%;\n grid-template-rows: minmax(0, 1fr) auto;\n }\n\n @include mq($from: medium) {\n width: 335px;\n }\n\n @include mq($from: large) {\n width: 374px;\n }\n\n @include mq($from: large) {\n width: 439px;\n }\n\n @include mq($from: ultra) {\n width: calc((439px - #{$containerMarginLarge}) + ((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2))\n }\n }\n \n &__menu-nav {\n position: relative;\n overflow-x: hidden;\n overflow-y: auto;\n\n @include mq($from: medium) {\n position: static;\n }\n }\n\n &__menu-metanav {\n @include spaceCurve('padding-top', 'tiny');\n @include spaceCurve('padding-bottom', 'medium');\n background-color: $colorSecondary20;\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &__menu-metanav-nav {\n max-width: 375px;\n }\n\n &__menu-list,\n &__menu-metanav-list {\n display: block;\n list-style: none;\n padding: 0;\n margin: 0;\n }\n\n &__menu-list,\n &__menu-metanav-list.is-level-2 {\n padding-top: calc(var(--stzh-header-main-height) + #{space('xxxlarge')});\n padding-bottom: space('xxxlarge');\n\n @include mq($from: medium) {\n padding-top: calc(var(--stzh-header-main-height) + #{space('huge')});\n }\n }\n\n &__menu-list.is-level-2,\n &__menu-metanav-list.is-level-2 {\n overflow: auto;\n background-color: var(--menu-list-item-background-level2);\n visibility: hidden;\n opacity: 0;\n transform: translateX(100%);\n position: absolute;\n z-index: 200;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition-property: opacity, visibility, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n\n @include mq($from: medium) {\n z-index: initial;\n width: 315px;\n transform: none;\n left: 100%;\n // transition-property: opacity, visibility, transform;\n transition-property: opacity, visibility;\n }\n\n @include mq($from: large) {\n width: 334px;\n }\n\n @include mq($from: ultra) {\n width: 345px;\n }\n }\n\n &__menu-list.is-level-2 {\n height: max-content;\n\n @media (min-height: 580px) {\n height: 100%;\n }\n\n @include mq($from: medium) {\n height: 100%;\n }\n }\n\n &__menu-metanav-list.is-level-2 {\n background-color: $colorSecondary30;\n transform: none;\n transition-property: opacity, visibility;\n }\n\n // we add closing transition delay only to menu-list if hovering/focusing of another is currently active\n // to prevent showing background (flickering) when transitioning from one menu-list to another (on the same level)\n &__menu-list:where(:has(> #{&}__menu-list-item:hover > #{&}__menu-list) > #{&}__menu-list-item > #{&}__menu-list),\n &__menu-list:where(:has(> #{&}__menu-list-item.is-open > #{&}__menu-list) > #{&}__menu-list-item > #{&}__menu-list) {\n @include mq($from: medium) {\n transition-delay: $baseTransitionAnimationSpeed;\n }\n }\n\n &__menu-list-item:hover > &__menu-list,\n &__menu-list-item.is-open > &__menu-list {\n @include mq($from: medium) {\n z-index: 200;\n transition-delay: 0ms;\n visibility: visible;\n opacity: 1;\n }\n }\n\n &__menu-list-item:hover > &__menu-item,\n &__menu-list-item.is-open > &__menu-item {\n @include mq($from: medium) {\n background-color: var(--menu-list-item-background-hover);\n }\n\n &.is-level-2 {\n @include mq($from: medium) {\n background-color: var(--menu-list-item-background-level2-hover);\n }\n }\n }\n\n &__menu-nav:has(#{&}__menu-list-item.is-open), // hide menu when any menu-list has been opened\n &__menu:has(#{&}__menu-metanav-list-item.is-open) &__menu-nav, // hide menu when menu metanav menu-list has been opened\n &__menu-list:has(#{&}__menu-list-item.is-open), // hide parent menu-list when sub menu-list has been opened\n &__menu-metanav-list:has(#{&}__menu-metanav-list-item.is-open) { // hide parent metanav menu-list when sub menu-list has been opened\n @include mq($to: medium) {\n transition-property: visibility;\n transition-duration: 0ms;\n transition-delay: $baseTransitionAnimationSpeed;\n visibility: hidden;\n }\n }\n\n // force showing menu-list that is currently open\n &__menu-list-item.is-open > :where(#{&}__menu-list),\n &__menu-metanav-list-item.is-open > :where(#{&}__menu-metanav-list) {\n @include mq($to: medium) {\n transform: translateX(0);\n opacity: 1;\n visibility: visible;\n }\n }\n\n &__menu-list-item,\n &__menu-metanav-list-item {\n display: grid;\n }\n\n &__menu-list-item {\n &.is-backlink {\n display: block;\n }\n }\n\n &__menu-item,\n &__menu-metanav-item {\n @include font('heavy');\n @include fontSize('milli');\n text-align: left;\n display: flex;\n align-items: center;\n gap: space('xsmall');\n appearance: none;\n border: none;\n text-decoration: none;\n background-color: transparent;\n color: var(--menu-item-color);\n padding-left: space('xxxlarge');\n padding-top: space('small');\n padding-bottom: space('small');\n padding-right: space('large');\n transition-property: color, background-color;\n transition-duration: $baseTransitionAnimationSpeed;\n cursor: pointer;\n }\n\n &__menu-item,\n &__menu-metanav-item.is-title {\n @include fontSize('deci');\n min-height: 56px;\n\n @include mq($from: medium) {\n padding-left: $containerMarginMedium;\n }\n\n @include mq($from: large) {\n padding-left: $containerMarginLarge;\n }\n }\n\n &__menu-item {\n &.is-level-1 {\n @include mq($from: ultra) {\n padding-left: calc(((100vw - #{$containerMaxWidth} - var(--stzh-scrollbar-width, 0px)) / 2));\n }\n }\n\n &.has-items {\n @include mq($from: medium) {\n cursor: default;\n }\n }\n\n &.is-level-2 {\n @include fontSize('milli');\n min-height: 48px;\n\n @include mq($from: medium) {\n padding-left: space('xlarge');\n }\n\n @include mq($from: ultra) {\n padding-left: space('xxlarge');\n }\n }\n\n &.is-level-2.is-backlink {\n @include font;\n @include fontSize('micro');\n @include spaceCurve('margin-bottom', 'regular');\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'small');\n min-height: none;\n padding-left: $containerMargin;\n padding-right: $containerMargin;\n gap: space('xxsmall');\n\n @include mq($from: small) {\n padding-left: $containerMarginSmall;\n padding-right: $containerMarginSmall;\n }\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n &.is-level-2.is-main {\n @include fontSize('centi');\n margin-bottom: space('xlarge');\n }\n }\n\n &__menu-metanav-item {\n &.is-level-1 {\n min-height: 44px;\n padding-top: space('xsmall');\n padding-bottom: space('xsmall');\n }\n\n &.is-level-2 {\n min-height: 56px;\n gap: space('medium');\n padding-right: space('xxlarge');\n }\n\n &.is-title {\n @include font('heavy');\n justify-content: space-between;\n padding-top: 0;\n padding-bottom: 0;\n padding-right: space('medium');\n margin-bottom: space('xlarge');\n cursor: default;\n }\n\n &.is-language {\n @include font;\n justify-content: space-between;\n }\n\n &.is-action {\n display: grid;\n padding-right: space('xxxlarge');\n margin-top: space('xlarge');\n }\n\n &.is-action--extra {\n margin-top: space('xxsmall');\n }\n\n &.is-hidden {\n display: none;\n }\n }\n\n &__menu-metanav-item.is-level-1 &__menu-metanav-item-icon {\n --size: #{iconSize('small')};\n }\n\n &__menu-metanav-item-text {\n display: flex;\n gap: space('xsmall');\n\n &.is-vhidden {\n @include visuallyhidden;\n }\n }\n\n &__menu-metanav-item-counter {\n @include font;\n }\n\n /* app-nav */\n\n &__app-nav {\n display: none;\n\n @include mq($from: medium) {\n display: block;\n }\n }\n\n &__app-nav-bottom {\n position: fixed;\n bottom: 0;\n left: 0;\n width: calc(100vw - var(--stzh-scrollbar-width));\n z-index: calc(#{$zIndexHeader} - 1);\n\n @include mq($from: medium) {\n display: none;\n }\n }\n\n /* Search is filled */\n\n &--is-search-filled &__search-text {\n @include visuallyhidden;\n }\n\n /* Hide logo */\n\n &--hide-logo &__logo-link {\n opacity: 0;\n }\n\n /* Fixed variant (as soon as header is passed) */\n\n &--is-fixed &__inner {\n @include mq($from: small) {\n transform: translateY(-100%);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n margin-top: calc(var(--stzh-header-logobar-height) / -1);\n }\n }\n\n &--is-fixed &__main {\n @include mq($to: small) {\n transform: translateY(-100%);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n margin-top: calc(var(--stzh-header-logobar-height) / -1);\n }\n }\n\n &--is-fixed-transition &__inner {\n @include mq($from: small) {\n transition-property: transform;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n }\n\n &--is-fixed-transition &__main {\n @include mq($to: small) {\n transition-property: transform;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n }\n\n /* Sticky (transition) variant */\n\n &--is-sticky-transition &__logobar {\n transition-property: opacity, visibility;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &--is-sticky-transition &__inner,\n &--is-sticky-transition &__main {\n transition-property: transform, margin-top;\n transition-duration: $baseTransitionAnimationSpeed;\n }\n\n &--is-sticky &__inner {\n @include mq($from: small) {\n transform: translateY(0);\n }\n }\n\n &--is-sticky &__main {\n @include mq($to: small) {\n transform: translateY(0);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__inner {\n @include mq($from: small, $to: medium) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__main {\n @include mq($to: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n // &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__inner {\n // \t@include mq($from: small, $to: medium) {\n // box-shadow: none;\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__main {\n // \t@include mq($to: small) {\n // box-shadow: none;\n // }\n // }\n\n &--is-sticky:where(#{&}--has-empty-metabar-mobile) &__metabar {\n @include mq($to: medium) {\n visibility: hidden;\n }\n }\n\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__inner {\n @include mq($from: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__main {\n @include mq($to: small) {\n margin-top: calc((var(--stzh-header-logobar-height) + var(--stzh-header-metabar-height)) / -1);\n }\n }\n\n // &--is-sticky:where(#{&}--has-empty-metabar) &__inner {\n // \t@include mq($from: small) {\n // box-shadow: none;\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-empty-metabar) &__main {\n // \t@include mq($to: small) {\n // box-shadow: none;\n // }\n // }\n\n &--is-sticky:where(#{&}--has-empty-metabar) &__metabar {\n visibility: hidden;\n }\n\n &--is-sticky &__logobar {\n visibility: hidden;\n opacity: 0;\n }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__metabar {\n // visibility: visible;\n // }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__main {\n // \t@include mq($to: small) {\n // // box-shadow: $boxShadowHeader;\n // margin-top: calc((var(--stzh-header-logobar-height)) / -1);\n // }\n // }\n\n // &--is-sticky:where(#{&}--has-metabar-stay) &__inner {\n // \t@include mq($from: small) {\n // // box-shadow: $boxShadowHeader;\n // margin-top: calc((var(--stzh-header-logobar-height)) / -1);\n // }\n // }\n\n /* Sticky disabled */\n\n // &--sticky-disabled &__main {\n // @include mq($from: medium) {\n // padding-top: $headerMetabarHeightMediumUp;\n // }\n // }\n\n /* Sticky always */\n\n &--sticky-always-full &__inner,\n &--sticky-always-full &__main {\n margin-top: 0px;\n }\n\n &--sticky-always-full &__logobar {\n visibility: visible;\n opacity: 1;\n }\n\n /* Flyout open */\n\n &__flyout-search-main {\n position: absolute;\n width: 100%;\n transition-property: opacity, transform;\n transition-duration: $baseTransitionAnimationSpeed;\n transform: translateY(-100px);\n opacity: 0;\n margin-top: var(--stzh-header-main-height);\n overflow: auto;\n }\n\n &--is-flyout-open &__flyout,\n &--is-flyout-search-open &__flyout-search {\n visibility: visible;\n }\n\n &--is-flyout-open &__flyout-backdrop,\n &--is-flyout-search-open &__flyout-backdrop {\n opacity: 1;\n }\n\n &--is-flyout-open &__flyout-scrollbar,\n &--is-flyout-search-open &__flyout-scrollbar {\n display: none;\n z-index: 999;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n width: var(--stzh-scrollbar-width);\n background-color: $colorGrey10;\n border-left: calc(0.5px * var(--stzh-scrollbar-active)) solid $colorGrey30;\n\n @media (min-height: 580px) {\n display: block;\n }\n\n @include mq($from: medium) {\n display: block;\n }\n }\n\n &--is-flyout-open &__menu {\n opacity: 1;\n transform: translateX(0);\n }\n\n &--is-flyout-search-open &__flyout-search-main {\n opacity: 1;\n transform: translateX(0);\n }\n\n &--is-flyout-open &__inner,\n &--is-flyout-search-open &__inner {\n @include mq($from: small) {\n z-index: $zIndexHeader;\n transform: translateY(0);\n position: fixed;\n top: 0;\n left: 0;\n right: var(--stzh-scrollbar-width);\n margin-top: 0;\n }\n }\n\n &--is-flyout-open &__main,\n &--is-flyout-search-open &__main {\n @include mq($to: small) {\n z-index: $zIndexHeader;\n transform: translateY(0);\n position: fixed;\n top: 0;\n left: 0;\n right: var(--stzh-scrollbar-width);\n margin-top: 0;\n }\n }\n\n &--is-flyout-open &__logobar,\n &--is-flyout-search-open &__logobar {\n opacity: 1;\n }\n\n &--is-flyout-open &__logobar,\n &--is-flyout-search-open &__logobar,\n &--is-flyout-open &__metabar,\n &--is-flyout-search-open &__metabar {\n visibility: visible;\n }\n\n &--is-flyout-open &__logo-link,\n &--is-flyout-search-open &__logo-link {\n opacity: 1;\n transition: none;\n }\n\n /**\n * Search button.\n */\n &__search-button--is-hidden {\n display: none;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Fragment,\n h,\n Host,\n Listen,\n Method,\n Prop,\n readTask,\n State,\n Watch,\n writeTask,\n} from \"@stencil/core\";\n\nimport { hasSlot } from \"../../utils/utils\";\nimport { media } from \"../../utils/media-utils\";\nimport {\n StzhAppNavItem,\n StzhDropdownOption,\n StzhHeaderLanguageChangeEvent,\n StzhHeaderMenuItem,\n StzhHeaderMenuItemClickEvent,\n StzhHeaderMetanavItem,\n StzhHeaderMetanavItemButton,\n StzhHeaderMetanavItemButtonClickEvent,\n StzhHeaderMetanavItemChild,\n StzhHeaderMetanavItemChildClickEvent,\n StzhHeaderMetanavItemClickEvent,\n StzhHeaderSearchChangedEvent,\n StzhHeaderSearchChangeEvent,\n} from \"../../index\";\n\nimport { tabbable } from \"tabbable\";\nimport { createBaseFocusTrapOptions } from \"../../utils/overlay-utils\";\nimport { createFocusTrap, FocusTrap } from \"focus-trap\";\n\nimport { StzhHeaderLocalizedText } from \"./stzh-header.localization\";\n\nconst CLASS_BODY_OPEN = \"stzh-header-open\";\n\n// for flyout a11y see also: https://www.w3.org/WAI/tutorials/menus/flyout/\n\n/**\n * @slot logo - Slot for brand logo. Logos for every Dienstabteilung (DA) are available in Adobe AEM using this url: https://www.stadt-zuerich.ch/content/dam/corporate-design/de/logos/{DA}.svg\n * @slot menu-before - Slot for custom elements before other menu elements\n * @slot menu-after - Slot for custom elements after other menu elements\n * @slot metanav-before - Slot for custom elements before other metanav elements\n * @slot metanav-after - Slot for custom elements after other metanav elements\n * @slot search - Slot for search element\n */\n@Component({\n tag: \"stzh-header\",\n styleUrl: \"stzh-header.scss\",\n scoped: true,\n})\nexport class StzhHeader {\n /** Translation strings */\n @Prop() localization: StzhHeaderLocalizedText;\n\n /** The href attribute for the logo */\n @Prop() href: string = \"https://www.stadt-zuerich.ch\";\n\n /** Menu element ID */\n @Prop() menuId: string = \"anchorNavMain\";\n\n /** AppNav element ID */\n @Prop() appNavId: string = \"anchorNavAppNav\";\n\n /** Search element ID */\n @Prop() searchId: string = \"anchorSearch\";\n\n /** Metanav element ID */\n @Prop() metanavId: string = \"anchorNavMeta\";\n\n /** Language element ID */\n @Prop() languageId: string = \"anchorNavLang\";\n\n /**\n * Type of logo (used for setting the correct height).\n * Will enlarge the logo to 100% by default (default logos are using whitespace).\n */\n @Prop({ reflect: true }) logoType: \"default\" | \"vbz\" | \"aoz\" | \"pkzh\" | \"uvz\" = \"default\";\n\n /** Menu navigation items */\n @Prop() menuItems: StzhHeaderMenuItem[] | string = [];\n @State() _menuItems: StzhHeaderMenuItem[];\n\n /** Overwrite menu back label */\n @Prop() menuBackLabel: string;\n\n /** Meta navigation items */\n @Prop() metanavItems: StzhHeaderMetanavItem[] | string = [];\n @State() _metanavItems: StzhHeaderMetanavItem[];\n\n /** CMS-specific (do not use): user specific meta navigation items when the user is not logged in or the api call failed */\n @Prop({}) userSpecificMetanavItemsNotLoggedIn: StzhHeaderMetanavItem[] = [];\n @State() _userSpecificMetanavItemsNotLoggedIn: StzhHeaderMetanavItem[] = [];\n\n /** If set, a stzh-appnav will be rendered instead of a menu navigation. */\n @Prop() appNavItems: StzhAppNavItem[] | string = [];\n @State() _appNavItems: StzhAppNavItem[];\n\n /** CMS-specific (do not use): endpoint for cart and user menu when logged in */\n @Prop() userSpecificMetanavItemsEndpoint: string;\n\n /** Current language page path */\n @Prop({ mutable: true }) languageActive: string;\n\n /** Available language (paths) in language switch */\n @Prop() languages: StzhDropdownOption[] | string = [];\n @State() _languages: StzhDropdownOption[];\n\n /** Prevent url change when language has changed (will only fire `stzhLanguageChange`) */\n @Prop() languagePreventUrlchange: boolean = false;\n\n /** Whether language switch should stay on mobile */\n @Prop() languageStay: boolean = false;\n\n /** Whether the whole metabar (containing all the menus) should be hidden */\n @Prop() hideMetabar: boolean = false;\n\n /** Search form action (if set, a search input will be shown) */\n @Prop() searchAction: string;\n\n /** Search field name */\n @Prop() searchFieldName: string = \"q\";\n\n /** Search input value */\n @Prop() searchValue: string = \"\";\n\n /** Sticky behaviour */\n @Prop() sticky: \"default\" | \"disabled\" | \"always-full\" | \"always\" = \"default\";\n\n /** CMS-specific (do not use): message sent to stzh-toastbar when the fetch for the user specific data fails */\n @Prop() loginErrorMessage: string = \"\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the logo link element.\n * Default value is \"Header Logo\".\n */\n @Prop() logoAnalyticsId: string;\n\n @State() hideLogo: boolean = false;\n @State() headerHeight: number;\n @State() paddingTop: number;\n @State() stickyActive: boolean = false;\n @State() flyoutOpen: boolean = false;\n @State() flyoutSearchOpen: boolean = false;\n @State() searchFilled: boolean;\n\n @State() fixed: boolean = false;\n @State() fixedTransition: boolean = false;\n\n @State() currentOpenMenuItem: StzhHeaderMenuItem = null;\n @State() currentOpenMetanavItem: StzhHeaderMetanavItem = null;\n @State() currentOpenLanguage: boolean = false;\n\n @State() userSpecificMetanavItemsLoggedIn: StzhHeaderMetanavItem[] = [];\n\n @State() combinedMetanavItems: StzhHeaderMetanavItem[] = [];\n\n @State() isSmallOrMicro: boolean;\n\n private openSubmenuElement: HTMLElement;\n\n @Element() element: HTMLStzhHeaderElement;\n\n @Listen(\"keydown\", { target: \"document\" })\n handleKeydown(event: KeyboardEvent) {\n if (event.key === \"Escape\") {\n this.flyoutOpen = false;\n this.flyoutSearchOpen = false;\n }\n }\n\n @Listen(\"stzhOverlayCloseClick\")\n flyoutCloseClicked() {\n this.flyoutSearchOpen = false;\n this.updatePosition();\n }\n\n @Watch(\"flyoutOpen\")\n @Watch(\"flyoutSearchOpen\")\n async flyoutOpenWatcher(open: boolean) {\n if (!open) {\n // reset current open menu when flyout was closed\n this.currentOpenMenuItem = null;\n this.currentOpenMetanavItem = null;\n this.currentOpenLanguage = null;\n // reset further flags\n this.flyoutOpenedByMetanavItem = false;\n\n document.body.classList.remove(CLASS_BODY_OPEN);\n this.enableSiblings();\n\n if (this.trap) {\n this.trap.deactivate();\n }\n } else {\n document.body.classList.add(CLASS_BODY_OPEN);\n this.disableSiblings();\n\n if (this.trap) {\n this.trap.activate();\n }\n }\n }\n\n @Watch(\"fixed\")\n @Watch(\"flyoutOpen\")\n @Watch(\"flyoutSearchOpen\")\n @Watch(\"headerHeight\")\n async fixedWatcher() {\n this.paddingTop = this.fixed || this.flyoutOpen || this.flyoutSearchOpen ? this.headerHeight : 0;\n // we don't want to run transitions on applying fixed class (out transition),\n // so we set them in the next render\n await this.waitForNextRender();\n this.fixedTransition = this.fixed || this.flyoutOpen || this.flyoutSearchOpen;\n }\n\n @Watch(\"sticky\")\n stickyWatcher() {\n this.updatePosition();\n }\n\n /** Update position / sticky state of header */\n @Method()\n async updatePosition() {\n if (this.flyoutOpen || this.flyoutSearchOpen) {\n return;\n }\n\n const activateSticky = () => {\n this.stickyActive = true;\n document.documentElement.style.setProperty(\"--stzh-header-is-stuck\", \"1\");\n document.documentElement.style.setProperty(\"--stzh-header-is-not-stuck\", \"0\");\n };\n\n const disableSticky = () => {\n document.documentElement.style.setProperty(\"--stzh-header-is-stuck\", \"0\");\n document.documentElement.style.setProperty(\"--stzh-header-is-not-stuck\", \"1\");\n this.stickyActive = false;\n };\n\n if (this.sticky === \"disabled\") {\n disableSticky();\n } else if (this.sticky === \"always-full\") {\n activateSticky();\n } else if (this.sticky === \"always\") {\n if (this.belowStayStickyPoint) {\n activateSticky();\n } else {\n disableSticky();\n }\n } else {\n if (this.scrollingUp && this.belowStayStickyPoint) {\n if (!this.stickyActive && this.belowStartStickyPoint) {\n activateSticky();\n }\n } else {\n if (this.stickyActive && this.belowStayStickyPoint) {\n disableSticky();\n } else {\n disableSticky();\n }\n }\n }\n }\n\n @Listen(\"scroll\", { target: \"window\" })\n scrollListener() {\n if (this.sticky === \"disabled\") {\n return;\n }\n\n readTask(() => {\n this.currentScrollY = window.scrollY;\n this.scrollingUp = this.lastScrollY && this.lastScrollY > this.currentScrollY;\n this.lastScrollY = this.currentScrollY;\n\n this.belowStayStickyPoint = this.currentScrollY > this.logobarHeight;\n this.belowStartStickyPoint = this.currentScrollY > this.headerHeight;\n\n this.fixed =\n this.belowStartStickyPoint ||\n (this.scrollingUp && this.belowStayStickyPoint && this.stickyActive) ||\n (this.sticky === \"always\" && this.belowStayStickyPoint) ||\n this.sticky === \"always-full\";\n\n this.headerOverlap = (this.headerTop - this.currentScrollY) / -1;\n this.hideLogo = this.sticky !== \"always-full\" && this.isMedium && this.headerOverlap > 1;\n });\n\n writeTask(() => {\n this.updatePosition();\n });\n }\n\n /** Metanav item click event */\n @Event() stzhMetanavItemClick: EventEmitter<StzhHeaderMetanavItemClickEvent>;\n\n /** Metanav item child click event */\n @Event() stzhMetanavItemChildClick: EventEmitter<StzhHeaderMetanavItemChildClickEvent>;\n\n /** Metanav item button click event */\n @Event() stzhMetanavItemButtonClick: EventEmitter<StzhHeaderMetanavItemButtonClickEvent>;\n\n /** Metanav item click event */\n @Event() stzhMenuItemClick: EventEmitter<StzhHeaderMenuItemClickEvent>;\n\n /** Language change event */\n @Event() stzhLanguageChange: EventEmitter<StzhHeaderLanguageChangeEvent>;\n\n /** Search input change event */\n @Event() stzhSearchChange: EventEmitter<StzhHeaderSearchChangeEvent>;\n\n /** Search input changed event */\n @Event() stzhSearchChanged: EventEmitter<StzhHeaderSearchChangedEvent>;\n\n @Watch(\"searchValue\")\n searchValueWatcher(newValue: string) {\n this.searchFilled = newValue !== \"\";\n }\n\n @Watch(\"menuItems\")\n menuItemsWatcher(newValue: StzhHeaderMenuItem[] | string) {\n if (typeof newValue === \"string\") {\n this._menuItems = JSON.parse(newValue);\n } else {\n this._menuItems = newValue;\n }\n\n this._menuItems = this._menuItems.map((menuItem, index) => ({\n id: `submenu-${index}`,\n ...menuItem,\n }));\n }\n\n @Watch(\"metanavItems\")\n metanavItemsWatcher(newValue: StzhHeaderMetanavItem[] | string) {\n if (typeof newValue === \"string\") {\n this._metanavItems = JSON.parse(newValue);\n } else {\n this._metanavItems = newValue;\n }\n\n this._metanavItems = this._metanavItems.map((metanavItem, index) => ({\n id: `metanav-submenu-${index}`,\n ...metanavItem,\n }));\n this.combineMetanavItems();\n }\n\n @Watch(\"appNavItems\")\n appNavItemsWatcher(newValue: StzhAppNavItem[] | string) {\n if (typeof newValue === \"string\") {\n this._appNavItems = JSON.parse(newValue);\n } else {\n this._appNavItems = newValue;\n }\n }\n\n @Watch(\"userSpecificMetanavItemsNotLoggedIn\")\n userSpecificMetanavItemsNotLoggedInWatcher(newValue: StzhHeaderMetanavItem[]) {\n this._userSpecificMetanavItemsNotLoggedIn = newValue;\n this.combineMetanavItems();\n }\n\n @Watch(\"languages\")\n languagesWatcher(newValue: StzhDropdownOption[] | string) {\n if (typeof newValue === \"string\") {\n this._languages = JSON.parse(newValue);\n } else {\n this._languages = newValue;\n }\n }\n\n private renderPromiseResolve: (value?: unknown) => void;\n\n private currentScrollY: number;\n private lastScrollY: number;\n private headerOverlap: number;\n private scrollingUp: boolean;\n private belowStayStickyPoint: boolean;\n private belowStartStickyPoint: boolean;\n\n private headerTop: number;\n // private innerHeight: number;\n private mainHeight: number;\n private metabarHeight: number;\n private logobarHeight: number;\n\n private isMedium: boolean;\n\n private debounceResize: number;\n private resizeObserver: ResizeObserver;\n private flyoutResizeObserver: ResizeObserver;\n\n // private innerElement: HTMLDivElement;\n private mainElement: HTMLDivElement;\n private logobarElement: HTMLDivElement;\n private metabarElement: HTMLDivElement;\n private menunavElement: HTMLElement;\n private flyoutElement: HTMLElement;\n private flyoutSearchElement: HTMLElement;\n\n private searchInput: HTMLInputElement;\n\n private lastOpener: HTMLButtonElement | null = null;\n private flyoutOpenedByMetanavItem: boolean = null;\n\n private trap: FocusTrap;\n private _parentElement: HTMLElement;\n\n private getSiblings() {\n if (!this._parentElement) {\n return [];\n }\n\n return Array.from(this._parentElement.children).filter(child => child !== this.element);\n }\n\n private disableSiblings() {\n this.getSiblings().forEach(sibling => {\n sibling.setAttribute(\"aria-hidden\", \"true\");\n });\n }\n\n private enableSiblings() {\n this.getSiblings().forEach(sibling => {\n sibling.removeAttribute(\"aria-hidden\");\n });\n }\n\n private waitForNextRender() {\n return new Promise(resolve => (this.renderPromiseResolve = resolve));\n }\n\n private resizeMenunavElement() {\n // reset height when metanav is sticky, or on medium or no submenu element is open\n if (media(\"headerMetanavSticky\").matches || media(\"medium\").matches || !this.openSubmenuElement) {\n Object.assign(this.menunavElement.style, {\n height: null,\n });\n } else {\n const { height } = this.openSubmenuElement.getBoundingClientRect();\n Object.assign(this.menunavElement.style, {\n height: `${height}px`,\n });\n }\n }\n\n private async openMenuItem(event: MouseEvent, menuItem: StzhHeaderMenuItem) {\n this.flyoutOpen = true;\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.openSubmenuElement = this.element.querySelector(`#${menuItem.id}`) as HTMLElement;\n this.currentOpenMenuItem = menuItem;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.menunavElement.scrollTop = 0;\n\n const firstButtonOrLink = this.openSubmenuElement && tabbable(this.openSubmenuElement)[0];\n firstButtonOrLink?.focus();\n\n this.resizeMenunavElement();\n });\n }\n\n private async closeMenuItem(focusOpener: boolean = true) {\n this.openSubmenuElement = null;\n this.currentOpenMenuItem = null;\n await this.waitForNextRender();\n\n if (focusOpener) {\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n\n this.resizeMenunavElement();\n });\n }\n }\n\n private async openMetanavItem(event: MouseEvent, metanavItem: StzhHeaderMetanavItem) {\n if (!this.flyoutOpen) {\n this.flyoutOpenedByMetanavItem = true;\n this.flyoutOpen = true;\n }\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.currentOpenMetanavItem = metanavItem;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n const openMetanavSubmenuElement = this.element.querySelector(`#${metanavItem.id}`);\n const firstButtonOrLink = openMetanavSubmenuElement && tabbable(openMetanavSubmenuElement)[0];\n firstButtonOrLink?.focus();\n });\n }\n\n private async closeMetanavItem() {\n this.currentOpenMetanavItem = null;\n\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpen = false;\n }\n\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n });\n }\n\n private async openLanguage(event: MouseEvent) {\n if (!this.flyoutOpen) {\n this.flyoutOpenedByMetanavItem = true;\n this.flyoutOpen = true;\n }\n\n this.lastOpener = event.currentTarget as HTMLButtonElement;\n this.currentOpenLanguage = true;\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n const openMetanavSubmenuElement = this.element.querySelector(\"#submenu-languages\");\n const firstButtonOrLink = openMetanavSubmenuElement && tabbable(openMetanavSubmenuElement)[0];\n firstButtonOrLink?.focus();\n });\n }\n\n private async closeLanguage() {\n this.currentOpenLanguage = false;\n\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpen = false;\n }\n\n await this.waitForNextRender();\n\n requestAnimationFrame(() => {\n this.lastOpener.focus();\n this.lastOpener = null;\n });\n }\n\n private handleMenuListFocusout = (event: FocusEvent) => {\n const isNextFocusOutOfMenuList = !(event.currentTarget as HTMLElement).contains(event.relatedTarget as HTMLElement);\n\n if (this.isMedium && isNextFocusOutOfMenuList) {\n this.closeMenuItem(false);\n }\n };\n\n private handleBurgerClick = async () => {\n if (this.flyoutOpenedByMetanavItem) {\n this.flyoutOpenedByMetanavItem = false;\n this.closeMetanavItem();\n } else {\n this.flyoutSearchOpen = false;\n this.flyoutOpen = !this.flyoutOpen;\n }\n\n // focus first menu item\n const element = this.element.querySelector(\".stzh-header__menu-item\") as HTMLElement;\n\n if (element) {\n window.setTimeout(() => {\n element.focus();\n }, 100);\n }\n\n this.updatePosition();\n };\n\n private handleSearchButtonClick = async () => {\n this.flyoutOpen = false;\n this.flyoutSearchOpen = !this.flyoutSearchOpen;\n\n // focus first search input\n const element = this.element.querySelector(\".stzh-search input[type='search']\") as HTMLElement;\n\n if (element) {\n window.setTimeout(() => {\n element.focus();\n }, 100);\n }\n this.updatePosition();\n };\n\n private handleBackdropClick = async () => {\n this.flyoutOpen = false;\n this.updatePosition();\n };\n\n private handleBackdropSearchClick = async () => {\n this.flyoutSearchOpen = false;\n this.updatePosition();\n };\n\n private handleMetanavItemClick = (event: MouseEvent, item: StzhHeaderMetanavItem) => {\n this.stzhMetanavItemClick.emit({\n component: \"stzh-header\",\n item,\n originalEvent: event,\n });\n };\n\n private handleMetanavItemChildClick = (event: MouseEvent, itemChild: StzhHeaderMetanavItemChild) => {\n this.stzhMetanavItemChildClick.emit({\n component: \"stzh-header\",\n itemChild: itemChild,\n originalEvent: event,\n });\n };\n\n private handleMetanavItemButtonClick = (event: MouseEvent, itemButton: StzhHeaderMetanavItemButton) => {\n this.stzhMetanavItemButtonClick.emit({\n component: \"stzh-header\",\n itemButton: itemButton,\n originalEvent: event,\n });\n };\n\n private handleMenuItemClick = (event: MouseEvent, item: StzhHeaderMenuItem) => {\n this.flyoutOpen = false;\n this.stzhMenuItemClick.emit({\n component: \"stzh-header\",\n item,\n originalEvent: event,\n });\n };\n\n private handleSearchInput = (event: InputEvent) => {\n this.searchValue = this.searchInput.value;\n\n this.stzhSearchChange.emit({\n component: \"stzh-header\",\n originalEvent: event,\n value: this.searchValue,\n });\n };\n\n private handleSearchChange = (event: InputEvent) => {\n this.searchValue = this.searchInput.value;\n this.stzhSearchChanged.emit({\n component: \"stzh-header\",\n originalEvent: event,\n value: this.searchValue,\n });\n };\n\n private handleLanguageClick = (event: MouseEvent, dropdownOption: StzhDropdownOption) => {\n if (this.languagePreventUrlchange) {\n event.preventDefault();\n }\n this.languageActive = dropdownOption.value;\n\n this.stzhLanguageChange.emit({\n component: \"stzh-header\",\n value: this.languageActive,\n });\n };\n\n private handleFlyoutResize = () => {\n this.resizeMenunavElement();\n };\n\n private handleResize = () => {\n if (this.sticky === \"disabled\") {\n return;\n }\n\n if (this.debounceResize) {\n window.cancelAnimationFrame(this.debounceResize);\n }\n\n this.debounceResize = requestAnimationFrame(() => {\n readTask(() => {\n this.isMedium = media(\"medium\").matches;\n this.isSmallOrMicro = !this.isMedium;\n\n this.mainHeight = this.mainElement?.offsetHeight || 0;\n this.metabarHeight = this.metabarElement?.offsetHeight || 0;\n this.logobarHeight = this.logobarElement?.offsetHeight || 0;\n\n this.headerTop = this.element.offsetTop;\n this.headerHeight = this.metabarHeight + this.logobarHeight;\n });\n\n writeTask(() => {\n document.documentElement.style.setProperty(\"--stzh-header-height\", `${this.headerHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-main-height\", `${this.mainHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-metabar-height\", `${this.metabarHeight}px`);\n document.documentElement.style.setProperty(\"--stzh-header-logobar-height\", `${this.logobarHeight}px`);\n });\n\n this.scrollListener();\n });\n };\n\n /** CMS-specific (do not use): fetch user specific metanav items from userSpecificMetanavItemsEndpoint */\n @Method()\n async requestUserSpecificMetanavItems() {\n if (!this.userSpecificMetanavItemsEndpoint) {\n return;\n }\n try {\n const response = await fetch(this.userSpecificMetanavItemsEndpoint);\n this.userSpecificMetanavItemsLoggedIn = await response.json();\n this.combineMetanavItems();\n } catch (error) {\n this.combineMetanavItems(true); // fallback to not logged in items\n console.error(\"Error fetching data:\", error);\n if (this.loginErrorMessage) {\n document.querySelector(\"stzh-toastbar\").toast(this.loginErrorMessage, {\n type: \"error\",\n });\n }\n }\n }\n\n private combineMetanavItems(fallback: boolean = false) {\n if (!this.userSpecificMetanavItemsEndpoint || fallback) {\n //not logged in or login fetch failed\n this.combinedMetanavItems = [\n ...this._metanavItems,\n ...this._userSpecificMetanavItemsNotLoggedIn,\n ];\n } else {\n this.combinedMetanavItems = [\n ...this._metanavItems,\n ...this.userSpecificMetanavItemsLoggedIn,\n ];\n }\n }\n\n async componentWillLoad() {\n this.menuItemsWatcher(this.menuItems);\n this.metanavItemsWatcher(this.metanavItems);\n this.appNavItemsWatcher(this.appNavItems);\n this.languagesWatcher(this.languages);\n this.searchValueWatcher(this.searchValue);\n this.userSpecificMetanavItemsNotLoggedInWatcher(this.userSpecificMetanavItemsNotLoggedIn);\n\n this.requestUserSpecificMetanavItems();\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, \"header\");\n }\n }\n\n componentDidRender() {\n if (this.renderPromiseResolve) {\n this.renderPromiseResolve();\n }\n\n if (this.flyoutElement && this.flyoutResizeObserver) {\n this.flyoutResizeObserver.observe(this.flyoutElement);\n }\n if (this.flyoutSearchElement && this.flyoutResizeObserver) {\n this.flyoutResizeObserver.observe(this.flyoutSearchElement);\n }\n }\n\n componentDidLoad() {\n this.trap = createFocusTrap(this.element, {\n ...createBaseFocusTrapOptions(),\n initialFocus: false,\n });\n\n this.flyoutResizeObserver = new ResizeObserver(this.handleFlyoutResize);\n if (this.flyoutElement) {\n this.flyoutResizeObserver.observe(this.flyoutElement);\n }\n }\n\n connectedCallback() {\n this._parentElement = this.element.parentElement;\n\n this.resizeObserver = new ResizeObserver(this.handleResize);\n this.resizeObserver.observe(this.element);\n }\n\n disconnectedCallback() {\n this.flyoutOpenWatcher(false);\n this.resizeObserver?.disconnect();\n this.flyoutResizeObserver?.disconnect();\n }\n\n render() {\n const metanavBeforeUsed: boolean = hasSlot(this.element, \"metanav-before\");\n const metanavAfterUsed: boolean = hasSlot(this.element, \"metanav-after\");\n\n const classes = {\n \"stzh-header\": true,\n \"stzh-header--is-flyout-open\": this.flyoutOpen,\n \"stzh-header--is-flyout-search-open\": this.flyoutSearchOpen,\n \"stzh-header--is-search-filled\": this.searchFilled,\n \"stzh-header--is-fixed\": this.fixed,\n \"stzh-header--is-fixed-transition\": this.fixedTransition,\n \"stzh-header--is-sticky\": this.stickyActive,\n \"stzh-header--is-sticky-transition\": this.stickyActive && this.fixedTransition,\n \"stzh-header--hide-logo\": this.hideLogo,\n \"stzh-header--has-empty-metabar-mobile\":\n !metanavBeforeUsed &&\n !metanavAfterUsed &&\n this._metanavItems.filter(item => item.stay || item.stayAndShowInMobileMenu).length === 0 &&\n this._menuItems.length === 0 &&\n (this._languages.length === 0 || (this._languages.length > 0 && !this.languageStay)) &&\n !this.searchAction,\n \"stzh-header--has-empty-metabar\":\n !metanavBeforeUsed &&\n !metanavAfterUsed &&\n this._metanavItems.length === 0 &&\n this._menuItems.length === 0 &&\n this._languages.length === 0 &&\n !this.searchAction,\n [`stzh-header--sticky-${this.sticky}`]: !!this.sticky,\n };\n\n const activeLanguage = this.languageActive || window.stzhComponents.utils.getLocale(this.element);\n const activeLanguageOption =\n this._languages?.find(({ value }) => value === activeLanguage) || this._languages?.[0] || null;\n\n const renderMetanavItemButton = (\n item: StzhHeaderMetanavItem,\n additionalClasses?: { [className: string]: boolean },\n additionalAttributes?: any,\n ) => {\n const Element = item.items?.length > 0 || item.itemButton || !item.href ? \"button\" : \"a\";\n\n return (\n <Element\n {...additionalAttributes}\n id={item.id + \"-button\"}\n href={Element === \"a\" && item.href}\n target={Element === \"a\" && item.target}\n style={{ order: item.cssOrder }}\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-heavy\": item.important,\n \"is-stay\": item.stay || item.stayAndShowInMobileMenu,\n ...(additionalClasses || {}),\n }}\n >\n <span\n class={{\n \"stzh-header__metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n \"has-no-short-label\": !item.labelShort,\n }}\n >\n <span class=\"stzh-header__metanav-item-text-label-long\">{item.label}</span>\n <span class=\"stzh-header__metanav-item-text-label-short\" aria-hidden=\"true\">\n {item.labelShort}\n </span>\n </span>\n {item.icon && (\n <span class=\"stzh-header__metanav-icon-wrapper\">\n {item.icon && (\n <stzh-icon\n class={`stzh-header__metanav-icon ${item.iconOpen ? \"is-close\" : \"\"}`}\n name={item.icon}\n ></stzh-icon>\n )}\n {item.iconOpen && <stzh-icon class=\"stzh-header__metanav-icon is-open\" name={item.iconOpen}></stzh-icon>}\n {(item.badge || item.badgeEmpty) && (\n <stzh-badge\n class=\"stzh-header__metanav-icon-badge\"\n label={item.badge}\n type={typeof item.badgeType === \"undefined\" ? \"error\" : item.badgeType}\n ></stzh-badge>\n )}\n </span>\n )}\n </Element>\n );\n };\n\n return (\n <Host>\n <header class={classes}>\n <div class=\"stzh-header__header\" style={{ paddingTop: `${this.paddingTop}px` }}>\n {this.isSmallOrMicro && this._appNavItems.length > 0 && (\n <div class=\"stzh-header__app-nav-bottom\">\n <stzh-app-nav items={this._appNavItems} app-nav-id={this.appNavId}></stzh-app-nav>\n </div>\n )}\n <div\n class=\"stzh-header__inner\"\n // ref={(el) => (this.innerElement = el as HTMLDivElement)}\n >\n <div class=\"stzh-header__main\" ref={el => (this.mainElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__logobar\" ref={el => (this.logobarElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__logobar-logo\">\n <a\n href={this.href}\n class=\"stzh-header__logo-link\"\n s-object-id={this.logoAnalyticsId || \"Header Logo\"}\n >\n <slot name=\"logo\"></slot>\n </a>\n </div>\n <div class=\"stzh-header__logobar-decoration\"></div>\n </div>\n\n {!this.hideMetabar && (\n <div class=\"stzh-header__metabar\" ref={el => (this.metabarElement = el as HTMLDivElement)}>\n <div class=\"stzh-header__metabar-inner\">\n <slot name=\"menu-before\"></slot>\n\n {this._menuItems.length > 0 && (\n <button\n id={this.menuId}\n class={`stzh-header__burger ${\n this.flyoutOpen && !this.flyoutOpenedByMetanavItem && \"is-open\"\n }`}\n onClick={this.handleBurgerClick}\n >\n <stzh-icon class=\"stzh-header__burger-icon is-close\" name=\"menu\"></stzh-icon>\n <stzh-icon class=\"stzh-header__burger-icon is-open\" name=\"close\"></stzh-icon>\n <div class=\"stzh-header__burger-text\">{this.localization.menuLabel}</div>\n </button>\n )}\n {this.searchAction && !hasSlot(this.element, \"search\") && (\n <form class=\"stzh-header__metabar-search\" action={this.searchAction} role=\"search\">\n <label class=\"stzh-header__search\">\n <input\n id={this.searchId}\n ref={el => (this.searchInput = el as HTMLInputElement)}\n class=\"stzh-header__search-input\"\n type=\"search\"\n name={this.searchFieldName}\n onChange={this.handleSearchChange}\n onInput={this.handleSearchInput}\n ></input>\n <stzh-icon class=\"stzh-header__search-icon\" name=\"search\"></stzh-icon>\n <div class=\"stzh-header__search-text\">{this.localization.searchLabel}</div>\n </label>\n </form>\n )}\n {hasSlot(this.element, \"search\") && (\n <stzh-button\n iconPosition={\"left\"}\n onClick={this.handleSearchButtonClick}\n variant=\"tertiary-plain\"\n size=\"small\"\n >\n <stzh-icon\n slot=\"icon\"\n name=\"search\"\n class={this.flyoutSearchOpen ? \"stzh-header__search-button--is-hidden\" : \"\"}\n ></stzh-icon>\n <stzh-icon\n slot=\"icon\"\n name=\"close\"\n class={this.flyoutSearchOpen ? \"\" : \"stzh-header__search-button--is-hidden\"}\n ></stzh-icon>\n {this.localization.searchLabel}\n </stzh-button>\n )}\n\n <slot name=\"menu-after\"></slot>\n\n {!this.isSmallOrMicro && this._appNavItems.length > 0 && (\n <div class=\"stzh-header__app-nav\">\n <stzh-app-nav items={this._appNavItems} app-nav-id={this.appNavId}></stzh-app-nav>\n </div>\n )}\n\n <div class=\"stzh-header__metabar-nav\" id={this.metanavId}>\n <slot name=\"metanav-before\"></slot>\n {this.combinedMetanavItems.map(item =>\n item.items?.length > 0 || item.itemButton ? (\n <Fragment>\n {renderMetanavItemButton(\n item,\n {\n \"is-popover-mobile\": true,\n },\n {\n \"aria-expanded\": item === this.currentOpenMetanavItem ? \"true\" : \"false\",\n \"aria-controls\": item.id,\n onClick: (e: MouseEvent) => {\n if (item === this.currentOpenMetanavItem) {\n this.closeMetanavItem();\n } else {\n this.openMetanavItem(e, item);\n }\n\n this.handleMetanavItemClick(e, item);\n },\n },\n )}\n <stzh-popover\n class={{\n \"stzh-header__metanav-popover\": true,\n }}\n placement=\"bottom-end\"\n distance={20}\n variant={item.variant}\n size={typeof item.size === \"undefined\" ? \"large\" : item.size}\n >\n {renderMetanavItemButton(\n item,\n {\n \"is-popover-desktop\": true,\n },\n {\n onClick: (e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n },\n },\n )}\n <div slot=\"content\">\n {item.items?.length > 0 && (\n <stzh-menu>\n {item.items.map(childItem => (\n <stzh-menu-item\n class={{\n \"stzh-header__metanav-menu-item\": true,\n \"is-heavy\":\n typeof item.importantSubmenu === \"undefined\" || item.importantSubmenu,\n }}\n size={typeof item.size === \"undefined\" ? \"large\" : item.size}\n variant={item.variant}\n href={childItem.href}\n target={childItem.target}\n icon={childItem.icon}\n counter={childItem.counter}\n badge={childItem.badge}\n badgeType={childItem.badgeType}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemChildClick(e, childItem);\n }}\n >\n {childItem.label}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n )}\n </div>\n {item.itemButton && (\n <stzh-button\n slot=\"action\"\n size={item.itemButton.size}\n href={item.itemButton.href}\n target={item.itemButton.target}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemButtonClick(e, item.itemButton);\n }}\n >\n {item.itemButton.label}\n </stzh-button>\n )}\n {item.itemButtonExtra && (\n <stzh-button\n class={{\n \"stzh-header__metanav-menu-item--extra\": true,\n }}\n slot=\"action\"\n size={item.itemButtonExtra.size}\n href={item.itemButtonExtra.href}\n target={item.itemButtonExtra.target}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemButtonClick(e, item.itemButtonExtra);\n }}\n >\n {item.itemButtonExtra.label}\n </stzh-button>\n )}\n </stzh-popover>\n </Fragment>\n ) : (\n renderMetanavItemButton(\n item,\n {},\n {\n onClick: (e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n },\n },\n )\n ),\n )}\n\n {this._languages?.length > 0 && (\n <Fragment>\n <h2 id={this.languageId} class=\"stzh-header__vhidden\">\n {this.localization.languageLabel}\n </h2>\n {this._menuItems.length > 0 && this.languageStay && (\n <button\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-popover-mobile\": true,\n \"is-stay\": this.languageStay,\n }}\n aria-expanded={this.currentOpenLanguage ? \"true\" : \"false\"}\n aria-controls=\"submenu-languages\"\n onClick={(e: MouseEvent) => {\n if (this.currentOpenLanguage) {\n this.closeLanguage();\n } else {\n this.openLanguage(e);\n }\n }}\n >\n <span class=\"stzh-header__metanav-item-text\">{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__metanav-icon is-close\" name=\"angle-down\"></stzh-icon>\n <stzh-icon class=\"stzh-header__metanav-icon is-open\" name=\"angle-up\"></stzh-icon>\n </button>\n )}\n <stzh-popover\n class=\"stzh-header__metanav-popover is-langnav\"\n placement=\"bottom-end\"\n distance={20}\n >\n <button\n class={{\n \"stzh-header__metanav-item\": true,\n \"is-popover-desktop\": this._menuItems.length > 0,\n \"is-stay\": this.languageStay,\n }}\n >\n <span class=\"stzh-header__metanav-item-text\">{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__metanav-icon is-close\" name=\"angle-down\"></stzh-icon>\n <stzh-icon class=\"stzh-header__metanav-icon is-open\" name=\"angle-up\"></stzh-icon>\n </button>\n <div slot=\"content\">\n <stzh-menu>\n {this._languages.map(language => (\n <stzh-menu-item\n class=\"stzh-header__metanav-menu-item\"\n active={activeLanguageOption?.value === language.value}\n href={language.value}\n onClick={event => this.handleLanguageClick(event, language)}\n >\n {language.text}\n </stzh-menu-item>\n ))}\n </stzh-menu>\n </div>\n </stzh-popover>\n </Fragment>\n )}\n\n <slot name=\"metanav-after\"></slot>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n\n {(this._menuItems.length > 0 || this.combinedMetanavItems?.length > 0) && (\n <div ref={el => (this.flyoutElement = el as HTMLElement)} class=\"stzh-header__flyout\">\n <div class=\"stzh-header__flyout-backdrop\" onClick={this.handleBackdropClick}></div>\n <div class=\"stzh-header__flyout-scrollbar\"></div>\n <div class=\"stzh-header__menu\">\n <nav\n class=\"stzh-header__menu-nav\"\n ref={el => (this.menunavElement = el as HTMLElement)}\n aria-label={this.localization.navigationLabel}\n >\n <ul class=\"stzh-header__menu-list is-level-1\">\n {this._menuItems.map(item => (\n <li\n class={{\n \"stzh-header__menu-list-item\": true,\n \"is-open\": item === this.currentOpenMenuItem,\n }}\n >\n {item.items?.length > 0 ? (\n <button\n aria-expanded={item === this.currentOpenMenuItem ? \"true\" : \"false\"}\n aria-controls={item.id}\n class=\"stzh-header__menu-item is-level-1 has-items\"\n onClick={\n item === this.currentOpenMenuItem\n ? () => this.closeMenuItem()\n : e => this.openMenuItem(e, item)\n }\n >\n {item.label}\n </button>\n ) : (\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-1\"\n >\n {item.label}\n </a>\n )}\n {item.items?.length > 0 && (\n <ul\n id={item.id}\n class=\"stzh-header__menu-list is-level-2\"\n onFocusout={this.handleMenuListFocusout}\n >\n <li class=\"stzh-header__menu-list-item is-backlink\">\n <button\n class=\"stzh-header__menu-item is-level-2 is-backlink\"\n onClick={() => this.closeMenuItem()}\n >\n <stzh-icon name=\"angle-left\"></stzh-icon>\n <span>{this.menuBackLabel ? this.menuBackLabel : this.localization.menuBackLabel}</span>\n </button>\n </li>\n <li class=\"stzh-header__menu-list-item\">\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-2 is-main\"\n >\n {item.label}\n </a>\n </li>\n {item.items.map(item => (\n <li class=\"stzh-header__menu-list-item\">\n <a\n href={item.href}\n onClick={(e: MouseEvent) => this.handleMenuItemClick(e, item)}\n class=\"stzh-header__menu-item is-level-2\"\n >\n {item.label}\n </a>\n </li>\n ))}\n </ul>\n )}\n </li>\n ))}\n </ul>\n </nav>\n\n {(this.combinedMetanavItems?.length > 0 || this._languages?.length > 0) && (\n <div class=\"stzh-header__menu-metanav\">\n <nav class=\"stzh-header__menu-metanav-nav\">\n <ul class=\"stzh-header__menu-metanav-list is-level-1\">\n {this.combinedMetanavItems.map(item => (\n <li\n class={{\n \"stzh-header__menu-metanav-list-item\": true,\n \"is-open\": item === this.currentOpenMetanavItem,\n }}\n >\n {item.items?.length > 0 ? (\n <button\n aria-expanded={item === this.currentOpenMetanavItem ? \"true\" : \"false\"}\n aria-controls={item.id}\n class={{\n \"stzh-header__menu-metanav-item is-level-1\": true,\n \"is-hidden\": item.stay && !item.stayAndShowInMobileMenu,\n }}\n onClick={(e: MouseEvent) => {\n if (item === this.currentOpenMetanavItem) {\n this.closeMetanavItem();\n } else {\n this.openMetanavItem(e, item);\n }\n\n this.handleMetanavItemClick(e, item);\n }}\n >\n <span\n class={{\n \"stzh-header__menu-metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n }}\n >\n {item.label}\n </span>\n {item.icon && (\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name={item.icon}></stzh-icon>\n )}\n </button>\n ) : (\n <a\n href={item.href}\n class={{\n \"stzh-header__menu-metanav-item is-level-1\": true,\n \"is-hidden\": item.stay && !item.stayAndShowInMobileMenu,\n }}\n onClick={(e: MouseEvent) => {\n this.handleMetanavItemClick(e, item);\n }}\n >\n <span\n class={{\n \"stzh-header__menu-metanav-item-text\": true,\n \"is-vhidden\": item.labelHidden,\n }}\n >\n {item.label}\n </span>\n {item.icon && (\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name={item.icon}></stzh-icon>\n )}\n </a>\n )}\n {item.items?.length > 0 && (\n <ul id={item.id} class=\"stzh-header__menu-metanav-list is-level-2\">\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-title\">\n <span>{item.label}</span>\n <stzh-button\n class=\"stzh-header__menu-metanav-item-icon\"\n variant=\"tertiary\"\n icon=\"close\"\n iconOnly={true}\n label={this.localization.closeMetanavMenuLabel?.replace(\n /\\{itemLabel\\}/gi,\n item.label,\n )}\n onClick={() => this.closeMetanavItem()}\n ></stzh-button>\n </div>\n </li>\n {item.items.map(item => (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <a href={item.href} class=\"stzh-header__menu-metanav-item is-level-2\">\n {item.icon && (\n <stzh-icon\n class=\"stzh-header__menu-metanav-item-icon\"\n name={item.icon}\n ></stzh-icon>\n )}\n <span class=\"stzh-header__menu-metanav-item-text\">\n <span>{item.label}</span>\n {item.counter !== undefined && item.counter > 0 && (\n <span class=\"stzh-header__menu-metanav-item-counter\">({item.counter})</span>\n )}\n </span>\n </a>\n </li>\n ))}\n\n {item.itemButton && (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-action\">\n <stzh-button href={item.itemButton.href} target={item.itemButton.target}>\n {item.itemButton.label}\n </stzh-button>\n </div>\n </li>\n )}\n\n {item.itemButtonExtra && (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-action is-action--extra\">\n <stzh-button href={item.itemButtonExtra.href} target={item.itemButtonExtra.target}>\n {item.itemButtonExtra.label}\n </stzh-button>\n </div>\n </li>\n )}\n </ul>\n )}\n </li>\n ))}\n\n {this._languages?.length > 0 && (\n <li\n class={{\n \"stzh-header__menu-metanav-list-item\": true,\n \"is-open\": this.currentOpenLanguage,\n }}\n >\n <button\n aria-expanded={this.currentOpenLanguage ? \"true\" : \"false\"}\n aria-controls=\"submenu-languages\"\n class=\"stzh-header__menu-metanav-item is-level-1\"\n onClick={e => this.openLanguage(e)}\n >\n <span>{activeLanguageOption?.text}</span>\n <stzh-icon class=\"stzh-header__menu-metanav-item-icon\" name=\"angle-down\"></stzh-icon>\n </button>\n <ul id=\"submenu-languages\" class=\"stzh-header__menu-metanav-list is-level-2\">\n <div class=\"stzh-header__menu-metanav-item is-level-2 is-title\">\n <span>{this.localization.dialogLanguageTitle}</span>\n <stzh-button\n class=\"stzh-header__menu-metanav-item-icon\"\n variant=\"tertiary\"\n icon=\"close\"\n iconOnly={true}\n label={\"Sprach-Dialog schliessen\"}\n onClick={() => this.closeLanguage()}\n ></stzh-button>\n </div>\n {this._languages.map(language => (\n <li class=\"stzh-header__menu-metanav-list-item\">\n <a\n class=\"stzh-header__menu-metanav-item is-level-2 is-language\"\n href={language.value}\n onClick={event => this.handleLanguageClick(event, language)}\n >\n <span>{language.text}</span>\n {activeLanguageOption?.value === language.value && (\n <stzh-icon\n class=\"stzh-header__menu-metanav-item-icon\"\n name=\"checkmark\"\n ></stzh-icon>\n )}\n </a>\n </li>\n ))}\n </ul>\n </li>\n )}\n </ul>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n\n {hasSlot(this.element, \"search\") && (\n <div ref={el => (this.flyoutSearchElement = el as HTMLElement)} class=\"stzh-header__flyout-search\">\n <div class=\"stzh-header__flyout-backdrop\" onClick={this.handleBackdropSearchClick}></div>\n <div class=\"stzh-header__flyout-scrollbar\"></div>\n <div class=\"stzh-header__flyout-search-main\">\n <slot name=\"search\"></slot>\n </div>\n </div>\n )}\n </header>\n </Host>\n );\n }\n}\n"],"version":3}
|