@oiz/stzh-components 4.1.0 → 4.1.1-beta
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/.build/test/utils.js +8 -3
- package/dist/.build/test/utils.js.map +1 -1
- package/dist/cjs/{app-globals-b0a11ad2.js → app-globals-07208237.js} +2 -2
- package/dist/cjs/{app-globals-b0a11ad2.js.map → app-globals-07208237.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-accordion_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
- package/dist/cjs/stzh-anchornav.cjs.entry.js +1 -1
- package/dist/cjs/stzh-anchornav.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-appointments.cjs.entry.js +1 -1
- package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
- package/dist/cjs/stzh-badge_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-bathstatus-list.cjs.entry.js +1 -1
- package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-breadcrumb_2.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-card-navigation.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-searchresult.cjs.entry.js +1 -1
- package/dist/cjs/stzh-card-superteaser.cjs.entry.js +2 -2
- package/dist/cjs/stzh-card-superteaser.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-card.cjs.entry.js +1 -1
- package/dist/cjs/stzh-carousel.cjs.entry.js +1 -1
- package/dist/cjs/stzh-checkbox_3.cjs.entry.js +2 -2
- package/dist/cjs/stzh-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +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 +1 -1
- package/dist/cjs/stzh-cspace.cjs.entry.js +1 -1
- package/dist/cjs/stzh-cta.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datalist_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datatable.cjs.entry.js +1 -1
- package/dist/cjs/stzh-datepicker_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-daterange.cjs.entry.js +1 -1
- package/dist/cjs/stzh-details.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dialog.cjs.entry.js +1 -1
- package/dist/cjs/stzh-disturber.cjs.entry.js +1 -1
- package/dist/cjs/stzh-dropdown.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-figure.cjs.entry.js +1 -1
- package/dist/cjs/stzh-footer.cjs.entry.js +1 -1
- package/dist/cjs/stzh-ghettobox_3.cjs.entry.js +1 -1
- package/dist/cjs/stzh-heading.cjs.entry.js +1 -1
- package/dist/cjs/stzh-heading.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js +17 -8
- package/dist/cjs/stzh-homepage-service-highlights.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-input.cjs.entry.js +1 -1
- package/dist/cjs/stzh-link.cjs.entry.js +1 -1
- package/dist/cjs/stzh-menu_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagecontent.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pagetitle-home.cjs.entry.js +22 -12
- package/dist/cjs/stzh-pagetitle-home.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-content-navigation.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-pagetitle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-pi-teaser.cjs.entry.js +1 -1
- package/dist/cjs/stzh-popover.cjs.entry.js +1 -1
- package/dist/cjs/stzh-print_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
- package/dist/cjs/stzh-scrollup.cjs.entry.js +1 -1
- package/dist/cjs/stzh-search.cjs.entry.js +1 -1
- package/dist/cjs/stzh-section.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js +1 -1
- package/dist/cjs/stzh-skin-portal-mitwirken.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-socialmediastream.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sticky-actions.cjs.entry.js +1 -1
- package/dist/cjs/stzh-sticky.cjs.entry.js +1 -1
- package/dist/cjs/stzh-table.cjs.entry.js +1 -1
- package/dist/cjs/stzh-text.cjs.entry.js +1 -1
- package/dist/cjs/stzh-text.cjs.entry.js.map +1 -1
- package/dist/cjs/stzh-textandimage.cjs.entry.js +1 -1
- package/dist/cjs/stzh-timeline-item.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toast_2.cjs.entry.js +1 -1
- package/dist/cjs/stzh-toggle.cjs.entry.js +1 -1
- package/dist/cjs/stzh-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/stzh-twocolumns.cjs.entry.js +1 -1
- package/dist/cjs/stzh-upload.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-intro.cjs.entry.js +1 -1
- package/dist/cjs/stzh-vbz-intro.cjs.entry.js.map +1 -1
- package/dist/cjs/{utils-5a53d7eb.js → utils-c0aaa7ec.js} +6 -53
- package/dist/cjs/utils-c0aaa7ec.js.map +1 -0
- package/dist/collection/components/CMS/VBZ/stzh-vbz-intro/stzh-vbz-intro.css +4 -4
- package/dist/collection/components/CMS/stzh-card-superteaser/stzh-card-superteaser.css +13 -5
- package/dist/collection/components/CMS/stzh-homepage-service-highlights/stzh-homepage-service-highlights.css +17 -9
- package/dist/collection/components/CMS/stzh-homepage-service-highlights/stzh-homepage-service-highlights.js +20 -7
- package/dist/collection/components/CMS/stzh-homepage-service-highlights/stzh-homepage-service-highlights.js.map +1 -1
- package/dist/collection/components/CMS/stzh-page-skiplinks/stzh-page-skiplinks.e2e.js +1 -1
- package/dist/collection/components/CMS/stzh-page-skiplinks/stzh-page-skiplinks.e2e.js.map +1 -1
- package/dist/collection/components/CMS/stzh-pagetitle-home/stzh-pagetitle-home.css +4 -4
- package/dist/collection/components/CMS/stzh-pagetitle-home/stzh-pagetitle-home.js +21 -11
- package/dist/collection/components/CMS/stzh-pagetitle-home/stzh-pagetitle-home.js.map +1 -1
- package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.css +6 -2
- package/dist/collection/components/stzh-anchornav/stzh-anchornav.css +8 -1
- package/dist/collection/components/stzh-breadcrumb/stzh-breadcrumb.css +1 -1
- package/dist/collection/components/stzh-header/stzh-header.css +16 -9
- package/dist/collection/components/stzh-heading/stzh-heading.css +33 -0
- package/dist/collection/components/stzh-skin-portal-mitwirken/stzh-skin-portal-mitwirken.css +181 -77
- package/dist/collection/components/stzh-text/stzh-text.css +33 -0
- package/dist/collection/pages/CMS/PKZH/pkzh.e2e.js +18 -0
- package/dist/collection/pages/CMS/PKZH/pkzh.e2e.js.map +1 -0
- package/dist/collection/utils/utils.js +4 -52
- package/dist/collection/utils/utils.js.map +1 -1
- package/dist/components/index.js +1 -1
- package/dist/components/{p-bf205f26.js → p-167acbe1.js} +5 -5
- package/dist/components/{p-bf205f26.js.map → p-167acbe1.js.map} +1 -1
- package/dist/components/{p-f0a46fac.js → p-1b9eaa71.js} +5 -5
- package/dist/components/{p-f0a46fac.js.map → p-1b9eaa71.js.map} +1 -1
- package/dist/components/{p-d1f98854.js → p-1c261255.js} +6 -54
- package/dist/components/p-1c261255.js.map +1 -0
- package/dist/components/{p-eb282891.js → p-1fa6272f.js} +2 -2
- package/dist/components/{p-eb282891.js.map → p-1fa6272f.js.map} +1 -1
- package/dist/components/{p-483a5750.js → p-250a1491.js} +2 -2
- package/dist/components/{p-483a5750.js.map → p-250a1491.js.map} +1 -1
- package/dist/components/{p-1d1ed4be.js → p-2d6ea1ff.js} +2 -2
- package/dist/components/{p-1d1ed4be.js.map → p-2d6ea1ff.js.map} +1 -1
- package/dist/components/{p-1a89c45a.js → p-2e72ad15.js} +5 -5
- package/dist/components/{p-1a89c45a.js.map → p-2e72ad15.js.map} +1 -1
- package/dist/components/{p-00414366.js → p-32847b38.js} +2 -2
- package/dist/components/{p-00414366.js.map → p-32847b38.js.map} +1 -1
- package/dist/components/{p-d0b793f2.js → p-3a5a5b65.js} +3 -3
- package/dist/components/{p-d0b793f2.js.map → p-3a5a5b65.js.map} +1 -1
- package/dist/components/{p-1cb87437.js → p-3bb470ce.js} +2 -2
- package/dist/components/{p-1cb87437.js.map → p-3bb470ce.js.map} +1 -1
- package/dist/components/{p-24ec14c6.js → p-3dffb214.js} +2 -2
- package/dist/components/{p-24ec14c6.js.map → p-3dffb214.js.map} +1 -1
- package/dist/components/{p-0d9775f9.js → p-411f8f60.js} +4 -4
- package/dist/components/{p-0d9775f9.js.map → p-411f8f60.js.map} +1 -1
- package/dist/components/{p-fb0977f0.js → p-4640fde3.js} +4 -4
- package/dist/components/{p-fb0977f0.js.map → p-4640fde3.js.map} +1 -1
- package/dist/components/{p-a6a7fe17.js → p-5959959c.js} +5 -5
- package/dist/components/{p-a6a7fe17.js.map → p-5959959c.js.map} +1 -1
- package/dist/components/{p-c28490de.js → p-5a4e00c6.js} +8 -8
- package/dist/components/p-5a4e00c6.js.map +1 -0
- package/dist/components/{p-5e0a644a.js → p-66c944a4.js} +4 -4
- package/dist/components/{p-5e0a644a.js.map → p-66c944a4.js.map} +1 -1
- package/dist/components/{p-630a1165.js → p-71b15229.js} +3 -3
- package/dist/components/{p-630a1165.js.map → p-71b15229.js.map} +1 -1
- package/dist/components/{p-d8730e10.js → p-71f94b81.js} +2 -2
- package/dist/components/{p-d8730e10.js.map → p-71f94b81.js.map} +1 -1
- package/dist/components/{p-c522aec2.js → p-8063d484.js} +2 -2
- package/dist/components/{p-c522aec2.js.map → p-8063d484.js.map} +1 -1
- package/dist/components/{p-71668a26.js → p-839b43f8.js} +2 -2
- package/dist/components/{p-71668a26.js.map → p-839b43f8.js.map} +1 -1
- package/dist/components/{p-9562b4bd.js → p-978cf208.js} +2 -2
- package/dist/components/{p-9562b4bd.js.map → p-978cf208.js.map} +1 -1
- package/dist/components/{p-4c350868.js → p-a46dcfa3.js} +2 -2
- package/dist/components/{p-4c350868.js.map → p-a46dcfa3.js.map} +1 -1
- package/dist/components/{p-b3ca3adb.js → p-a8384df3.js} +2 -2
- package/dist/components/{p-b3ca3adb.js.map → p-a8384df3.js.map} +1 -1
- package/dist/components/{p-047a8cfd.js → p-b1b69ae9.js} +2 -2
- package/dist/components/p-b1b69ae9.js.map +1 -0
- package/dist/components/{p-e9868942.js → p-b1c378de.js} +6 -6
- package/dist/components/{p-e9868942.js.map → p-b1c378de.js.map} +1 -1
- package/dist/components/{p-bcc02189.js → p-b51c7e54.js} +2 -2
- package/dist/components/p-b51c7e54.js.map +1 -0
- package/dist/components/{p-f62b89ed.js → p-b9a4f7b2.js} +3 -3
- package/dist/components/{p-f62b89ed.js.map → p-b9a4f7b2.js.map} +1 -1
- package/dist/components/{p-57d566ab.js → p-b9b96873.js} +5 -5
- package/dist/components/{p-57d566ab.js.map → p-b9b96873.js.map} +1 -1
- package/dist/components/{p-292d0fcd.js → p-b9d5a920.js} +8 -8
- package/dist/components/{p-292d0fcd.js.map → p-b9d5a920.js.map} +1 -1
- package/dist/components/{p-3eb3db1e.js → p-ba74cae2.js} +4 -4
- package/dist/components/{p-3eb3db1e.js.map → p-ba74cae2.js.map} +1 -1
- package/dist/components/{p-234a6c0a.js → p-beefcccd.js} +6 -6
- package/dist/components/{p-234a6c0a.js.map → p-beefcccd.js.map} +1 -1
- package/dist/components/{p-af8a3a03.js → p-c087b441.js} +2 -2
- package/dist/components/{p-af8a3a03.js.map → p-c087b441.js.map} +1 -1
- package/dist/components/{p-5ff5bde3.js → p-c1795d8b.js} +5 -5
- package/dist/components/{p-5ff5bde3.js.map → p-c1795d8b.js.map} +1 -1
- package/dist/components/{p-dca85cea.js → p-c6e9ea56.js} +3 -3
- package/dist/components/p-c6e9ea56.js.map +1 -0
- package/dist/components/{p-8f5849c3.js → p-c8b9cba7.js} +8 -8
- package/dist/components/{p-8f5849c3.js.map → p-c8b9cba7.js.map} +1 -1
- package/dist/components/{p-f39503f3.js → p-cbee9daa.js} +2 -2
- package/dist/components/{p-f39503f3.js.map → p-cbee9daa.js.map} +1 -1
- package/dist/components/{p-05e1fb77.js → p-ccbd3cdf.js} +3 -3
- package/dist/components/{p-05e1fb77.js.map → p-ccbd3cdf.js.map} +1 -1
- package/dist/components/{p-d5254d48.js → p-d1badd5b.js} +2 -2
- package/dist/components/{p-d5254d48.js.map → p-d1badd5b.js.map} +1 -1
- package/dist/components/{p-7de53368.js → p-d99aa7e6.js} +6 -6
- package/dist/components/{p-7de53368.js.map → p-d99aa7e6.js.map} +1 -1
- package/dist/components/{p-93c4bf04.js → p-e4568321.js} +3 -3
- package/dist/components/{p-93c4bf04.js.map → p-e4568321.js.map} +1 -1
- package/dist/components/{p-d2858a06.js → p-e973d4dc.js} +2 -2
- package/dist/components/{p-d2858a06.js.map → p-e973d4dc.js.map} +1 -1
- package/dist/components/{p-cd56033a.js → p-ea55bd3b.js} +2 -2
- package/dist/components/{p-cd56033a.js.map → p-ea55bd3b.js.map} +1 -1
- package/dist/components/{p-e9c5a9aa.js → p-ee40eddf.js} +2 -2
- package/dist/components/{p-e9c5a9aa.js.map → p-ee40eddf.js.map} +1 -1
- package/dist/components/{p-4480cb87.js → p-ee851c65.js} +3 -3
- package/dist/components/{p-4480cb87.js.map → p-ee851c65.js.map} +1 -1
- package/dist/components/{p-cc02c4c8.js → p-fd043b82.js} +4 -4
- package/dist/components/{p-cc02c4c8.js.map → p-fd043b82.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 +3 -3
- package/dist/components/stzh-anchornav.js.map +1 -1
- package/dist/components/stzh-app-nav.js +1 -1
- package/dist/components/stzh-appointments.js +11 -11
- package/dist/components/stzh-archivelist.js +4 -4
- package/dist/components/stzh-audio.js +3 -3
- package/dist/components/stzh-banner.js +1 -1
- 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-calendar.js +1 -1
- package/dist/components/stzh-card-navigation.js +1 -1
- package/dist/components/stzh-card-searchresult.js +10 -10
- package/dist/components/stzh-card-superteaser.js +11 -11
- package/dist/components/stzh-card-superteaser.js.map +1 -1
- package/dist/components/stzh-card.js +1 -1
- package/dist/components/stzh-cardlist.js +1 -1
- package/dist/components/stzh-carousel.js +1 -1
- package/dist/components/stzh-checkbox.js +1 -1
- package/dist/components/stzh-checkboxgroup.js +3 -3
- 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 +2 -2
- package/dist/components/stzh-contact.js +3 -3
- package/dist/components/stzh-cspace.js +1 -1
- package/dist/components/stzh-cta.js +2 -2
- 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 +13 -13
- package/dist/components/stzh-datepicker.js +1 -1
- package/dist/components/stzh-daterange.js +2 -2
- package/dist/components/stzh-details.js +1 -1
- package/dist/components/stzh-dialog.js +1 -1
- package/dist/components/stzh-disturber.js +2 -2
- package/dist/components/stzh-dropdown.js +1 -1
- package/dist/components/stzh-editor.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 +6 -6
- package/dist/components/stzh-fieldset.js +1 -1
- package/dist/components/stzh-figure.js +1 -1
- package/dist/components/stzh-footer.js +2 -2
- package/dist/components/stzh-gallery.js +3 -3
- 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-heading.js +1 -1
- package/dist/components/stzh-homepage-service-highlights.js +21 -12
- package/dist/components/stzh-homepage-service-highlights.js.map +1 -1
- 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 +12 -12
- package/dist/components/stzh-monthyearpicker.js +3 -3
- package/dist/components/stzh-offline-indicator.js +3 -3
- package/dist/components/stzh-pagebottom.js +5 -5
- package/dist/components/stzh-pagecontent.js +1 -1
- package/dist/components/stzh-pagetitle-hero.js +1 -1
- package/dist/components/stzh-pagetitle-home.js +22 -12
- package/dist/components/stzh-pagetitle-home.js.map +1 -1
- package/dist/components/stzh-pagetitle.js +1 -1
- package/dist/components/stzh-pagination.js +1 -1
- package/dist/components/stzh-panorama.js +7 -7
- package/dist/components/stzh-pi-content-navigation.js +1 -1
- package/dist/components/stzh-pi-pagetitle.js +1 -1
- package/dist/components/stzh-pi-teaser.js +1 -1
- package/dist/components/stzh-poicard.js +1 -1
- package/dist/components/stzh-poilist.js +11 -11
- package/dist/components/stzh-popover.js +1 -1
- package/dist/components/stzh-print.js +1 -1
- package/dist/components/stzh-radio.js +1 -1
- package/dist/components/stzh-radiogroup.js +1 -1
- package/dist/components/stzh-readspeaker.js +2 -2
- package/dist/components/stzh-saptcha.js +4 -4
- package/dist/components/stzh-scrollup.js +1 -1
- package/dist/components/stzh-search.js +12 -12
- package/dist/components/stzh-section.js +1 -1
- package/dist/components/stzh-share.js +1 -1
- package/dist/components/stzh-sitemap.js +5 -5
- package/dist/components/stzh-skin-portal-mitwirken.js +1 -1
- package/dist/components/stzh-skin-portal-mitwirken.js.map +1 -1
- package/dist/components/stzh-socialmediastream-item.js +1 -1
- package/dist/components/stzh-socialmediastream.js +4 -4
- package/dist/components/stzh-sticky-actions.js +2 -2
- package/dist/components/stzh-sticky.js +1 -1
- package/dist/components/stzh-table.js +1 -1
- package/dist/components/stzh-tag.js +1 -1
- package/dist/components/stzh-text.js +1 -1
- package/dist/components/stzh-textandimage.js +1 -1
- package/dist/components/stzh-timeline-item.js +1 -1
- package/dist/components/stzh-timepicker.js +3 -3
- package/dist/components/stzh-toast.js +1 -1
- package/dist/components/stzh-toastbar.js +1 -1
- package/dist/components/stzh-toggle.js +3 -3
- package/dist/components/stzh-tooltip.js +1 -1
- package/dist/components/stzh-twocolumns.js +1 -1
- package/dist/components/stzh-upload.js +10 -10
- package/dist/components/stzh-vbz-carousel.js +1 -1
- package/dist/components/stzh-vbz-intro.js +3 -3
- package/dist/components/stzh-vbz-intro.js.map +1 -1
- package/dist/components/stzh-vbz-majorticker.js +3 -3
- package/dist/components/stzh-vbz-ticker.js +3 -3
- package/dist/components/stzh-youtube.js +2 -2
- package/dist/esm/{app-globals-dc4e2dd7.js → app-globals-993885c2.js} +2 -2
- package/dist/esm/{app-globals-dc4e2dd7.js.map → app-globals-993885c2.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-accordion_3.entry.js.map +1 -1
- package/dist/esm/stzh-actions.entry.js +1 -1
- package/dist/esm/stzh-anchornav.entry.js +1 -1
- package/dist/esm/stzh-anchornav.entry.js.map +1 -1
- package/dist/esm/stzh-appointments.entry.js +1 -1
- package/dist/esm/stzh-audio.entry.js +1 -1
- package/dist/esm/stzh-badge_3.entry.js +1 -1
- package/dist/esm/stzh-bathstatus-list.entry.js +1 -1
- package/dist/esm/stzh-breadcrumb_2.entry.js +1 -1
- package/dist/esm/stzh-breadcrumb_2.entry.js.map +1 -1
- package/dist/esm/stzh-card-navigation.entry.js +1 -1
- package/dist/esm/stzh-card-searchresult.entry.js +1 -1
- package/dist/esm/stzh-card-superteaser.entry.js +2 -2
- package/dist/esm/stzh-card-superteaser.entry.js.map +1 -1
- package/dist/esm/stzh-card.entry.js +1 -1
- package/dist/esm/stzh-carousel.entry.js +1 -1
- package/dist/esm/stzh-checkbox_3.entry.js +2 -2
- package/dist/esm/stzh-checkbox_3.entry.js.map +1 -1
- package/dist/esm/stzh-checkboxgroup.entry.js +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 +1 -1
- package/dist/esm/stzh-cspace.entry.js +1 -1
- package/dist/esm/stzh-cta.entry.js +1 -1
- package/dist/esm/stzh-datalist_2.entry.js +1 -1
- package/dist/esm/stzh-datatable.entry.js +1 -1
- package/dist/esm/stzh-datepicker_3.entry.js +1 -1
- package/dist/esm/stzh-daterange.entry.js +1 -1
- package/dist/esm/stzh-details.entry.js +1 -1
- package/dist/esm/stzh-dialog.entry.js +1 -1
- package/dist/esm/stzh-disturber.entry.js +1 -1
- package/dist/esm/stzh-dropdown.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-figure.entry.js +1 -1
- package/dist/esm/stzh-footer.entry.js +1 -1
- package/dist/esm/stzh-ghettobox_3.entry.js +1 -1
- package/dist/esm/stzh-heading.entry.js +1 -1
- package/dist/esm/stzh-heading.entry.js.map +1 -1
- package/dist/esm/stzh-homepage-service-highlights.entry.js +17 -8
- package/dist/esm/stzh-homepage-service-highlights.entry.js.map +1 -1
- package/dist/esm/stzh-input.entry.js +1 -1
- package/dist/esm/stzh-link.entry.js +1 -1
- package/dist/esm/stzh-menu_2.entry.js +1 -1
- package/dist/esm/stzh-pagecontent.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-hero.entry.js +1 -1
- package/dist/esm/stzh-pagetitle-home.entry.js +22 -12
- package/dist/esm/stzh-pagetitle-home.entry.js.map +1 -1
- package/dist/esm/stzh-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-pi-content-navigation.entry.js +1 -1
- package/dist/esm/stzh-pi-pagetitle.entry.js +1 -1
- package/dist/esm/stzh-pi-teaser.entry.js +1 -1
- package/dist/esm/stzh-popover.entry.js +1 -1
- package/dist/esm/stzh-print_2.entry.js +1 -1
- package/dist/esm/stzh-readspeaker.entry.js +1 -1
- package/dist/esm/stzh-scrollup.entry.js +1 -1
- package/dist/esm/stzh-search.entry.js +1 -1
- package/dist/esm/stzh-section.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js +1 -1
- package/dist/esm/stzh-skin-portal-mitwirken.entry.js.map +1 -1
- package/dist/esm/stzh-socialmediastream.entry.js +1 -1
- package/dist/esm/stzh-sticky-actions.entry.js +1 -1
- package/dist/esm/stzh-sticky.entry.js +1 -1
- package/dist/esm/stzh-table.entry.js +1 -1
- package/dist/esm/stzh-text.entry.js +1 -1
- package/dist/esm/stzh-text.entry.js.map +1 -1
- package/dist/esm/stzh-textandimage.entry.js +1 -1
- package/dist/esm/stzh-timeline-item.entry.js +1 -1
- package/dist/esm/stzh-toast_2.entry.js +1 -1
- package/dist/esm/stzh-toggle.entry.js +1 -1
- package/dist/esm/stzh-tooltip.entry.js +1 -1
- package/dist/esm/stzh-twocolumns.entry.js +1 -1
- package/dist/esm/stzh-upload.entry.js +1 -1
- package/dist/esm/stzh-vbz-intro.entry.js +1 -1
- package/dist/esm/stzh-vbz-intro.entry.js.map +1 -1
- package/dist/esm/{utils-a756a0c9.js → utils-2ad42b77.js} +6 -54
- package/dist/esm/utils-2ad42b77.js.map +1 -0
- package/dist/stzh-components/{p-c804ddf2.entry.js → p-020bc473.entry.js} +2 -2
- package/dist/stzh-components/p-06a4df88.entry.js +2 -0
- package/dist/stzh-components/{p-c32b673d.entry.js.map → p-06a4df88.entry.js.map} +1 -1
- package/dist/stzh-components/{p-24caf6c1.js → p-09b5eb01.js} +2 -2
- package/dist/stzh-components/p-09b5eb01.js.map +1 -0
- package/dist/stzh-components/p-0e4fb1f6.entry.js +2 -0
- package/dist/stzh-components/p-0e4fb1f6.entry.js.map +1 -0
- package/dist/stzh-components/{p-003bfdda.entry.js → p-10a74052.entry.js} +2 -2
- package/dist/stzh-components/{p-4840a0f7.entry.js → p-13a77a74.entry.js} +2 -2
- package/dist/stzh-components/{p-98c1b82e.entry.js → p-16e70122.entry.js} +2 -2
- package/dist/stzh-components/{p-1ca34f18.entry.js → p-1f2a3ae6.entry.js} +2 -2
- package/dist/stzh-components/p-221194a4.js +2 -0
- package/dist/stzh-components/{p-19d6b43e.js.map → p-221194a4.js.map} +1 -1
- package/dist/stzh-components/{p-d4d8e3b8.entry.js → p-23aa2f5e.entry.js} +2 -2
- package/dist/stzh-components/{p-1f741338.entry.js → p-26aee6b2.entry.js} +2 -2
- package/dist/stzh-components/p-26aee6b2.entry.js.map +1 -0
- package/dist/stzh-components/p-2b59864c.entry.js +2 -0
- package/dist/stzh-components/p-2b59864c.entry.js.map +1 -0
- package/dist/stzh-components/{p-8485a36a.entry.js → p-2d453802.entry.js} +2 -2
- package/dist/stzh-components/{p-20b8f661.entry.js → p-3221e8e5.entry.js} +2 -2
- package/dist/stzh-components/{p-645f4d03.entry.js → p-34c56740.entry.js} +2 -2
- package/dist/stzh-components/{p-0d166cca.entry.js → p-3ef0956b.entry.js} +2 -2
- package/dist/stzh-components/{p-21a029ec.entry.js → p-41778942.entry.js} +2 -2
- package/dist/stzh-components/{p-d9dd1c3e.entry.js → p-429af819.entry.js} +2 -2
- package/dist/stzh-components/{p-caa73f07.entry.js → p-44018d4b.entry.js} +2 -2
- package/dist/stzh-components/{p-aa045255.entry.js → p-47e10f01.entry.js} +2 -2
- package/dist/stzh-components/p-47e10f01.entry.js.map +1 -0
- package/dist/stzh-components/{p-f9a412d8.entry.js → p-50e8431f.entry.js} +2 -2
- package/dist/stzh-components/{p-970c4474.entry.js → p-5178ea62.entry.js} +2 -2
- package/dist/stzh-components/{p-7f1b1ac4.entry.js → p-5939a40a.entry.js} +2 -2
- package/dist/stzh-components/{p-7f1b1ac4.entry.js.map → p-5939a40a.entry.js.map} +1 -1
- package/dist/stzh-components/{p-e45134ff.entry.js → p-59984acf.entry.js} +2 -2
- package/dist/stzh-components/{p-66fc9e64.entry.js → p-5b715075.entry.js} +2 -2
- package/dist/stzh-components/{p-a9ae4450.entry.js → p-5c6ec1b8.entry.js} +2 -2
- package/dist/stzh-components/p-5dc20152.entry.js +2 -0
- package/dist/stzh-components/p-5dc20152.entry.js.map +1 -0
- package/dist/stzh-components/{p-4c24fe27.entry.js → p-7a3be0f1.entry.js} +2 -2
- package/dist/stzh-components/{p-a1202b5f.entry.js → p-82c0d7be.entry.js} +2 -2
- package/dist/stzh-components/{p-dd5d4c39.entry.js → p-8516eea3.entry.js} +2 -2
- package/dist/stzh-components/{p-e945b00e.entry.js → p-8a0e7cdd.entry.js} +2 -2
- package/dist/stzh-components/{p-27fe663d.entry.js → p-94764282.entry.js} +2 -2
- package/dist/stzh-components/{p-ad754693.entry.js → p-95a0a398.entry.js} +2 -2
- package/dist/stzh-components/{p-111800e9.entry.js → p-9a776f85.entry.js} +2 -2
- package/dist/stzh-components/{p-70707b8e.entry.js → p-a28b5894.entry.js} +2 -2
- package/dist/stzh-components/{p-61be006b.entry.js → p-a5709e94.entry.js} +2 -2
- package/dist/stzh-components/{p-61be006b.entry.js.map → p-a5709e94.entry.js.map} +1 -1
- package/dist/stzh-components/{p-0bfc528d.entry.js → p-a5d557ac.entry.js} +2 -2
- package/dist/stzh-components/{p-1ce029b5.entry.js → p-a61538b1.entry.js} +2 -2
- package/dist/stzh-components/{p-adde0fce.entry.js → p-ac14e15c.entry.js} +2 -2
- package/dist/stzh-components/p-ae029763.entry.js +2 -0
- package/dist/stzh-components/p-ae029763.entry.js.map +1 -0
- package/dist/stzh-components/{p-fecffdfc.entry.js → p-b6ea1a1c.entry.js} +2 -2
- package/dist/stzh-components/{p-8adab188.entry.js → p-b7363fe1.entry.js} +2 -2
- package/dist/stzh-components/{p-aafeeae9.entry.js → p-ba551ad7.entry.js} +2 -2
- package/dist/stzh-components/{p-909e12d3.entry.js → p-bed50961.entry.js} +2 -2
- package/dist/stzh-components/{p-aefe968c.entry.js → p-c27e6b43.entry.js} +2 -2
- package/dist/stzh-components/{p-b26ca94e.entry.js → p-c80885e9.entry.js} +2 -2
- package/dist/stzh-components/{p-29fd8bc1.entry.js → p-cd5641a5.entry.js} +2 -2
- package/dist/stzh-components/{p-0460eba4.entry.js → p-cde3a344.entry.js} +2 -2
- package/dist/stzh-components/{p-77e044d8.entry.js → p-d5206c53.entry.js} +2 -2
- package/dist/stzh-components/{p-fb22b090.entry.js → p-da489363.entry.js} +2 -2
- package/dist/stzh-components/p-db4fddd7.entry.js +2 -0
- package/dist/stzh-components/p-db4fddd7.entry.js.map +1 -0
- package/dist/stzh-components/{p-52cbf6d6.entry.js → p-dbc45bd8.entry.js} +2 -2
- package/dist/stzh-components/{p-8421ff45.entry.js → p-dd9feb46.entry.js} +2 -2
- package/dist/stzh-components/{p-2b35e2a8.entry.js → p-e2f24462.entry.js} +2 -2
- package/dist/stzh-components/{p-0d5b8b1e.entry.js → p-e63a6dce.entry.js} +2 -2
- package/dist/stzh-components/{p-cb5740f3.entry.js → p-eccdd8b7.entry.js} +2 -2
- package/dist/stzh-components/{p-37ada736.entry.js → p-ee83fbac.entry.js} +2 -2
- package/dist/stzh-components/{p-f4122c15.entry.js → p-ef2e8303.entry.js} +2 -2
- package/dist/stzh-components/{p-c7ef6356.entry.js → p-f109bce4.entry.js} +2 -2
- package/dist/stzh-components/{p-2944edb9.entry.js → p-f36a7102.entry.js} +2 -2
- package/dist/stzh-components/{p-60964d4f.entry.js → p-f4bd536b.entry.js} +2 -2
- package/dist/stzh-components/{p-34ce5dc9.entry.js → p-f53341ce.entry.js} +2 -2
- package/dist/stzh-components/{p-b61dd422.entry.js → p-f91f7483.entry.js} +2 -2
- package/dist/stzh-components/{p-828b7874.entry.js → p-f94a05c6.entry.js} +2 -2
- package/dist/stzh-components/{p-85d44b8a.entry.js → p-fabd85ee.entry.js} +2 -2
- package/dist/stzh-components/{p-8854272d.entry.js → p-fbde302d.entry.js} +2 -2
- package/dist/stzh-components/p-ffb0f6e6.entry.js +2 -0
- package/dist/stzh-components/p-ffb0f6e6.entry.js.map +1 -0
- package/dist/stzh-components/stzh-components.css +181 -77
- 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/stzh-homepage-service-highlights/stzh-homepage-service-highlights.d.ts +3 -1
- package/dist/types/utils/utils.d.ts +1 -0
- package/package.json +1 -1
- package/dist/cjs/utils-5a53d7eb.js.map +0 -1
- package/dist/components/p-047a8cfd.js.map +0 -1
- package/dist/components/p-bcc02189.js.map +0 -1
- package/dist/components/p-c28490de.js.map +0 -1
- package/dist/components/p-d1f98854.js.map +0 -1
- package/dist/components/p-dca85cea.js.map +0 -1
- package/dist/esm/utils-a756a0c9.js.map +0 -1
- package/dist/stzh-components/p-1784d8e9.entry.js +0 -2
- package/dist/stzh-components/p-1784d8e9.entry.js.map +0 -1
- package/dist/stzh-components/p-19d6b43e.js +0 -2
- package/dist/stzh-components/p-1f741338.entry.js.map +0 -1
- package/dist/stzh-components/p-24caf6c1.js.map +0 -1
- package/dist/stzh-components/p-7265a57d.entry.js +0 -2
- package/dist/stzh-components/p-7265a57d.entry.js.map +0 -1
- package/dist/stzh-components/p-aa045255.entry.js.map +0 -1
- package/dist/stzh-components/p-c32b673d.entry.js +0 -2
- package/dist/stzh-components/p-c568ad41.entry.js +0 -2
- package/dist/stzh-components/p-c568ad41.entry.js.map +0 -1
- package/dist/stzh-components/p-d40c54da.entry.js +0 -2
- package/dist/stzh-components/p-d40c54da.entry.js.map +0 -1
- package/dist/stzh-components/p-ea7f260b.entry.js +0 -2
- package/dist/stzh-components/p-ea7f260b.entry.js.map +0 -1
- package/dist/stzh-components/p-eb6e4974.entry.js +0 -2
- package/dist/stzh-components/p-eb6e4974.entry.js.map +0 -1
- /package/dist/stzh-components/{p-c804ddf2.entry.js.map → p-020bc473.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-003bfdda.entry.js.map → p-10a74052.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4840a0f7.entry.js.map → p-13a77a74.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-98c1b82e.entry.js.map → p-16e70122.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-1ca34f18.entry.js.map → p-1f2a3ae6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d4d8e3b8.entry.js.map → p-23aa2f5e.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8485a36a.entry.js.map → p-2d453802.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-20b8f661.entry.js.map → p-3221e8e5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-645f4d03.entry.js.map → p-34c56740.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0d166cca.entry.js.map → p-3ef0956b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-21a029ec.entry.js.map → p-41778942.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-d9dd1c3e.entry.js.map → p-429af819.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-caa73f07.entry.js.map → p-44018d4b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f9a412d8.entry.js.map → p-50e8431f.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-970c4474.entry.js.map → p-5178ea62.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e45134ff.entry.js.map → p-59984acf.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-66fc9e64.entry.js.map → p-5b715075.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a9ae4450.entry.js.map → p-5c6ec1b8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-4c24fe27.entry.js.map → p-7a3be0f1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-a1202b5f.entry.js.map → p-82c0d7be.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-dd5d4c39.entry.js.map → p-8516eea3.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-e945b00e.entry.js.map → p-8a0e7cdd.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-27fe663d.entry.js.map → p-94764282.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-ad754693.entry.js.map → p-95a0a398.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-111800e9.entry.js.map → p-9a776f85.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-70707b8e.entry.js.map → p-a28b5894.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0bfc528d.entry.js.map → p-a5d557ac.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-1ce029b5.entry.js.map → p-a61538b1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-adde0fce.entry.js.map → p-ac14e15c.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fecffdfc.entry.js.map → p-b6ea1a1c.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8adab188.entry.js.map → p-b7363fe1.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-aafeeae9.entry.js.map → p-ba551ad7.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-909e12d3.entry.js.map → p-bed50961.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-aefe968c.entry.js.map → p-c27e6b43.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b26ca94e.entry.js.map → p-c80885e9.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-29fd8bc1.entry.js.map → p-cd5641a5.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0460eba4.entry.js.map → p-cde3a344.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-77e044d8.entry.js.map → p-d5206c53.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-fb22b090.entry.js.map → p-da489363.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-52cbf6d6.entry.js.map → p-dbc45bd8.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8421ff45.entry.js.map → p-dd9feb46.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2b35e2a8.entry.js.map → p-e2f24462.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-0d5b8b1e.entry.js.map → p-e63a6dce.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-cb5740f3.entry.js.map → p-eccdd8b7.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-37ada736.entry.js.map → p-ee83fbac.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-f4122c15.entry.js.map → p-ef2e8303.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-c7ef6356.entry.js.map → p-f109bce4.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-2944edb9.entry.js.map → p-f36a7102.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-60964d4f.entry.js.map → p-f4bd536b.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-34ce5dc9.entry.js.map → p-f53341ce.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-b61dd422.entry.js.map → p-f91f7483.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-828b7874.entry.js.map → p-f94a05c6.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-85d44b8a.entry.js.map → p-fabd85ee.entry.js.map} +0 -0
- /package/dist/stzh-components/{p-8854272d.entry.js.map → p-fbde302d.entry.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-c28490de.js","mappings":";;;;;;;;;;;;;;AAAA,MAAM,aAAa,GAAG,o4jCAAo4jC,CAAC;AAC35jC,yBAAe,aAAa;;ACwC5B,MAAM,eAAe,GAAG,kBAAkB,CAAC;MAiB9B,UAAU;;;;;;;;;;;QAkWb,eAAU,GAA6B,IAAI,CAAC;QAC5C,8BAAyB,GAAY,IAAI,CAAC;QA4I1C,2BAAsB,GAAG,CAAC,KAAiB;YACjD,MAAM,wBAAwB,GAAG,CAAE,KAAK,CAAC,aAA6B,CAAC,QAAQ,CAAC,KAAK,CAAC,aAA4B,CAAC,CAAC;YAEpH,IAAI,IAAI,CAAC,QAAQ,IAAI,wBAAwB,EAAE;gBAC7C,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3B;SACF,CAAC;QAEM,sBAAiB,GAAG;YAC1B,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBAClC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;gBACvC,IAAI,CAAC,gBAAgB,EAAE,CAAC;aACzB;iBAAM;gBACL,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;gBAC9B,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;aACpC;;YAGD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,yBAAyB,CAAgB,CAAC;YAErF,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,UAAU,CAAC;oBAChB,OAAO,CAAC,KAAK,EAAE,CAAC;iBACjB,EAAE,GAAG,CAAC,CAAC;aACT;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC;QAEM,4BAAuB,GAAG;YAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC;;YAG/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,mCAAmC,CAAgB,CAAC;YAE/F,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,UAAU,CAAC;oBAChB,OAAO,CAAC,KAAK,EAAE,CAAC;iBACjB,EAAE,GAAG,CAAC,CAAC;aACT;YACD,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC;QAEM,wBAAmB,GAAG;YAC5B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC;QAEM,8BAAyB,GAAG;YAClC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC;QAEM,2BAAsB,GAAG,CAAC,KAAiB,EAAE,IAA2B;YAC9E,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAC7B,SAAS,EAAE,aAAa;gBACxB,IAAI;gBACJ,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;SACJ,CAAC;QAEM,gCAA2B,GAAG,CAAC,KAAiB,EAAE,SAAqC;YAC7F,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC;gBAClC,SAAS,EAAE,aAAa;gBACxB,SAAS,EAAE,SAAS;gBACpB,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;SACJ,CAAC;QAEM,iCAA4B,GAAG,CAAC,KAAiB,EAAE,UAAuC;YAChG,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;gBACnC,SAAS,EAAE,aAAa;gBACxB,UAAU,EAAE,UAAU;gBACtB,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;SACJ,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAAiB,EAAE,IAAwB;YACxE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,aAAa;gBACxB,IAAI;gBACJ,aAAa,EAAE,KAAK;aACrB,CAAC,CAAC;SACJ,CAAC;QAEM,sBAAiB,GAAG,CAAC,KAAiB;YAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAE1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;gBACzB,SAAS,EAAE,aAAa;gBACxB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,IAAI,CAAC,WAAW;aACxB,CAAC,CAAC;SACJ,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAiB;YAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC;gBAC1B,SAAS,EAAE,aAAa;gBACxB,aAAa,EAAE,KAAK;gBACpB,KAAK,EAAE,IAAI,CAAC,WAAW;aACxB,CAAC,CAAC;SACJ,CAAC;QAEM,wBAAmB,GAAG,CAAC,KAAiB,EAAE,cAAkC;YAClF,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACjC,KAAK,CAAC,cAAc,EAAE,CAAC;aACxB;YACD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,KAAK,CAAC;YAE3C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC;gBAC3B,SAAS,EAAE,aAAa;gBACxB,KAAK,EAAE,IAAI,CAAC,cAAc;aAC3B,CAAC,CAAC;SACJ,CAAC;QAEM,uBAAkB,GAAG;YAC3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B,CAAC;QAEM,iBAAY,GAAG;YACrB,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC9B,OAAO;aACR;YAED,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAClD;YAED,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC;gBAC1C,QAAQ,CAAC;;oBACP,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;oBACxC,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;oBAErC,IAAI,CAAC,UAAU,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,0CAAE,YAAY,KAAI,CAAC,CAAC;oBACtD,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,KAAI,CAAC,CAAC;oBAC5D,IAAI,CAAC,aAAa,GAAG,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,YAAY,KAAI,CAAC,CAAC;oBAE5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;oBACxC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;iBAC7D,CAAC,CAAC;gBAEH,SAAS,CAAC;oBACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,CAAC,CAAC;oBAC7F,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,2BAA2B,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC;oBAChG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;oBACtG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,GAAG,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;iBACvG,CAAC,CAAC;gBAEH,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB,CAAC,CAAC;SACJ,CAAC;;oBAnoBqB,8BAA8B;sBAG5B,eAAe;wBAGb,iBAAiB;wBAGjB,cAAc;yBAGb,eAAe;0BAGd,eAAe;wBAMoC,SAAS;yBAGtC,EAAE;;;4BAOI,EAAE;;mDAIc,EAAE;oDACF,EAAE;2BAG1B,EAAE;;;;yBAUA,EAAE;;wCAIT,KAAK;4BAGjB,KAAK;2BAGN,KAAK;;+BAMF,GAAG;2BAGP,EAAE;sBAGoC,SAAS;iCAGzC,EAAE;;wBAST,KAAK;;;4BAGD,KAAK;0BACP,KAAK;gCACC,KAAK;;qBAGhB,KAAK;+BACK,KAAK;mCAEU,IAAI;sCACE,IAAI;mCACrB,KAAK;gDAEwB,EAAE;oCAEd,EAAE;;;IAS3D,aAAa,CAAC,KAAoB;QAChC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;YAC1B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;KACF;IAGD,kBAAkB;QAChB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;IAID,MAAM,iBAAiB,CAAC,IAAa;QACnC,IAAI,CAAC,IAAI,EAAE;;YAET,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;YACnC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;;YAEhC,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;YAEvC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAChD,IAAI,CAAC,cAAc,EAAE,CAAC;YAEtB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;aACxB;SACF;aAAM;YACL,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC7C,IAAI,CAAC,eAAe,EAAE,CAAC;YAEvB,IAAI,IAAI,CAAC,IAAI,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;aACtB;SACF;KACF;IAMD,MAAM,YAAY;QAChB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;;;QAGjG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,CAAC;KAC/E;IAGD,aAAa;QACX,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;;IAID,MAAM,cAAc;QAClB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE;YAC5C,OAAO;SACR;QAED,MAAM,cAAc,GAAG;YACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC1E,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;SAC/E,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,GAAG,CAAC,CAAC;YAC1E,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,GAAG,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;SAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,aAAa,EAAE,CAAC;SACjB;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE;YACxC,cAAc,EAAE,CAAC;SAClB;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE;YACnC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC7B,cAAc,EAAE,CAAC;aAClB;iBAAM;gBACL,aAAa,EAAE,CAAC;aACjB;SACF;aAAM;YACL,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBACjD,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBACpD,cAAc,EAAE,CAAC;iBAClB;aACF;iBAAM;gBACL,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,oBAAoB,EAAE;oBAClD,aAAa,EAAE,CAAC;iBACjB;qBAAM;oBACL,aAAa,EAAE,CAAC;iBACjB;aACF;SACF;KACF;IAGD,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE;YAC9B,OAAO;SACR;QAED,QAAQ,CAAC;YACP,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;YAC9E,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC;YAEvC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;YACrE,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC;YAErE,IAAI,CAAC,KAAK;gBACR,IAAI,CAAC,qBAAqB;qBACzB,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,YAAY,CAAC;qBACnE,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,oBAAoB,CAAC;oBACvD,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC;YAEhC,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,aAAa,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;SAC1F,CAAC,CAAC;QAEH,SAAS,CAAC;YACR,IAAI,CAAC,cAAc,EAAE,CAAC;SACvB,CAAC,CAAC;KACJ;IAwBD,kBAAkB,CAAC,QAAgB;QACjC,IAAI,CAAC,YAAY,GAAG,QAAQ,KAAK,EAAE,CAAC;KACrC;IAGD,gBAAgB,CAAC,QAAuC;QACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC5B;QAED,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,KAAK,sBACpD,EAAE,EAAE,WAAW,KAAK,EAAE,IACnB,QAAQ,EACX,CAAC,CAAC;KACL;IAGD,mBAAmB,CAAC,QAA0C;QAC5D,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC3C;aAAM;YACL,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;SAC/B;QAED,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,KAAK,sBAC7D,EAAE,EAAE,mBAAmB,KAAK,EAAE,IAC3B,WAAW,EACd,CAAC,CAAC;QACJ,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAGD,kBAAkB,CAAC,QAAmC;QACpD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SAC1C;aAAM;YACL,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC;SAC9B;KACF;IAGD,0CAA0C,CAAC,QAAiC;QAC1E,IAAI,CAAC,oCAAoC,GAAG,QAAQ,CAAC;QACrD,IAAI,CAAC,mBAAmB,EAAE,CAAC;KAC5B;IAGD,gBAAgB,CAAC,QAAuC;QACtD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAChC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACxC;aAAM;YACL,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;SAC5B;KACF;IAuCO,WAAW;QACjB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,EAAE,CAAC;SACX;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC;KACzF;IAEO,eAAe;QACrB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO;YAChC,OAAO,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;SAC7C,CAAC,CAAC;KACJ;IAEO,cAAc;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO;YAChC,OAAO,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;SACxC,CAAC,CAAC;KACJ;IAEO,iBAAiB;QACvB,OAAO,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,CAAC,CAAC;KACtE;IAEO,oBAAoB;;QAE1B,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC/F,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;gBACvC,MAAM,EAAE,IAAI;aACb,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,EAAE,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;gBACvC,MAAM,EAAE,GAAG,MAAM,IAAI;aACtB,CAAC,CAAC;SACJ;KACF;IAEO,MAAM,YAAY,CAAC,KAAiB,EAAE,QAA4B;QACxE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QAEvB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,aAAkC,CAAC;QAC3D,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAgB,CAAC;QACvF,IAAI,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACpC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,qBAAqB,CAAC;YACpB,IAAI,CAAC,cAAc,CAAC,SAAS,GAAG,CAAC,CAAC;YAElC,MAAM,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1F,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,EAAE,CAAC;YAE3B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B,CAAC,CAAC;KACJ;IAEO,MAAM,aAAa,CAAC,cAAuB,IAAI;QACrD,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QAC/B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,IAAI,WAAW,EAAE;YACf,qBAAqB,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;gBAEvB,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC7B,CAAC,CAAC;SACJ;KACF;IAEO,MAAM,eAAe,CAAC,KAAiB,EAAE,WAAkC;QACjF,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,aAAkC,CAAC;QAC3D,IAAI,CAAC,sBAAsB,GAAG,WAAW,CAAC;QAC1C,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,qBAAqB,CAAC;YACpB,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAG,yBAAyB,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ;IAEO,MAAM,gBAAgB;QAC5B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QAEnC,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QAED,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,qBAAqB,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB,CAAC,CAAC;KACJ;IAEO,MAAM,YAAY,CAAC,KAAiB;QAC1C,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,yBAAyB,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB;QAED,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,aAAkC,CAAC;QAC3D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAChC,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,qBAAqB,CAAC;YACpB,MAAM,yBAAyB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;YACnF,MAAM,iBAAiB,GAAG,yBAAyB,IAAI,QAAQ,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9F,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,KAAK,EAAE,CAAC;SAC5B,CAAC,CAAC;KACJ;IAEO,MAAM,aAAa;QACzB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;QAEjC,IAAI,IAAI,CAAC,yBAAyB,EAAE;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;SACzB;QAED,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,qBAAqB,CAAC;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;SACxB,CAAC,CAAC;KACJ;;IA+JD,MAAM,+BAA+B;QACnC,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE;YAC1C,OAAO;SACR;QACD,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACpE,IAAI,CAAC,gCAAgC,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC9D,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QAAC,OAAO,KAAK,EAAE;YACd,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;YAC7C,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBACpE,IAAI,EAAE,OAAO;iBACd,CAAC,CAAC;aACJ;SACF;KACF;IAEO,mBAAmB,CAAC,WAAoB,KAAK;QACnD,IAAI,CAAC,IAAI,CAAC,gCAAgC,IAAI,QAAQ,EAAE;;YAEtD,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,oCAAoC,CAAC,CAAC;SACnG;aAAM;YACL,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,IAAI,CAAC,gCAAgC,CAAC,CAAC;SAC/F;KACF;IAED,MAAM,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,0CAA0C,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QAE1F,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAEvC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;SACjG;KACF;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,CAAC,oBAAoB,EAAE,CAAC;SAC7B;QAED,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,EAAE;YACnD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvD;QACD,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,oBAAoB,EAAE;YACzD,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;SAC7D;KACF;IAED,gBAAgB;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,OAAO,kCACnC,0BAA0B,EAAE,KAC/B,YAAY,EAAE,KAAK,IACnB,CAAC;QAEH,IAAI,CAAC,oBAAoB,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACxE,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;SACvD;KACF;IAED,iBAAiB;QACf,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;QAEjD,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC3C;IAED,oBAAoB;;QAClB,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,EAAE,CAAC;QAClC,MAAA,IAAI,CAAC,oBAAoB,0CAAE,UAAU,EAAE,CAAC;KACzC;IAED,MAAM;;QACJ,MAAM,iBAAiB,GAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAC3E,MAAM,gBAAgB,GAAY,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QAEzE,MAAM,OAAO,GAAG;YACd,aAAa,EAAE,IAAI;YACnB,6BAA6B,EAAE,IAAI,CAAC,UAAU;YAC9C,oCAAoC,EAAE,IAAI,CAAC,gBAAgB;YAC3D,+BAA+B,EAAE,IAAI,CAAC,YAAY;YAClD,uBAAuB,EAAE,IAAI,CAAC,KAAK;YACnC,kCAAkC,EAAE,IAAI,CAAC,eAAe;YACxD,wBAAwB,EAAE,IAAI,CAAC,YAAY;YAC3C,mCAAmC,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,eAAe;YAC9E,wBAAwB,EAAE,IAAI,CAAC,QAAQ;YACvC,uCAAuC,EACrC,CAAC,iBAAiB;gBAClB,CAAC,gBAAgB;gBACjB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,uBAAuB,CAAC,CAAC,MAAM,KAAK,CAAC;gBACzF,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;iBAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACpF,CAAC,IAAI,CAAC,YAAY;YACpB,gCAAgC,EAC9B,CAAC,iBAAiB;gBAClB,CAAC,gBAAgB;gBACjB,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC5B,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,IAAI,CAAC,YAAY;YACpB,CAAC,uBAAuB,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM;SACtD,CAAC;QAEF,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClG,MAAM,oBAAoB,GACxB,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,KAAK,KAAK,cAAc,CAAC,MAAI,MAAA,IAAI,CAAC,UAAU,0CAAG,CAAC,CAAC,CAAA,IAAI,IAAI,CAAC;QAEjG,MAAM,uBAAuB,GAAG,CAC9B,IAA2B,EAC3B,iBAAoD,EACpD,oBAA0B;;YAE1B,MAAM,OAAO,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,QAAQ,GAAG,GAAG,CAAC;YAEzF,QACE,EAAC,OAAO,oBACF,oBAAoB,IACxB,EAAE,EAAE,IAAI,CAAC,EAAE,GAAG,SAAS,EACvB,IAAI,EAAE,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,EAClC,MAAM,EAAE,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,MAAM,EACtC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EAC/B,KAAK,kBACH,2BAA2B,EAAE,IAAI,EACjC,UAAU,EAAE,IAAI,CAAC,SAAS,EAC1B,SAAS,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,uBAAuB,KAChD,iBAAiB,IAAI,EAAE,OAG7B,YACE,KAAK,EAAE;oBACL,gCAAgC,EAAE,IAAI;oBACtC,YAAY,EAAE,IAAI,CAAC,WAAW;oBAC9B,oBAAoB,EAAE,CAAC,IAAI,CAAC,UAAU;iBACvC,IAED,YAAM,KAAK,EAAC,2CAA2C,IAAE,IAAI,CAAC,KAAK,CAAQ,EAC3E,YAAM,KAAK,EAAC,4CAA4C,iBAAa,MAAM,IACxE,IAAI,CAAC,UAAU,CACX,CACF,EACN,IAAI,CAAC,IAAI,KACR,YAAM,KAAK,EAAC,mCAAmC,IAC5C,IAAI,CAAC,IAAI,KACR,iBACE,KAAK,EAAE,6BAA6B,IAAI,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE,EAAE,EACrE,IAAI,EAAE,IAAI,CAAC,IAAI,GACJ,CACd,EACA,IAAI,CAAC,QAAQ,IAAI,iBAAW,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAc,EACvG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,UAAU,MAC7B,kBACE,KAAK,EAAC,iCAAiC,EACvC,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,SAAS,GAC1D,CACf,CACI,CACR,CACO,EACV;SACH,CAAC;QAEF,QACE,EAAC,IAAI,QACH,cAAQ,KAAK,EAAE,OAAO,IACpB,WAAK,KAAK,EAAC,qBAAqB,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,EAAE,IAC3E,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,KAClD,WAAK,KAAK,EAAC,6BAA6B,IACtC,oBAAc,KAAK,EAAE,IAAI,CAAC,YAAY,gBAAc,IAAI,CAAC,QAAQ,GAAiB,CAC9E,CACP,EACD,WACE,KAAK,EAAC,oBAAoB,IAG1B,WAAK,KAAK,EAAC,mBAAmB,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAoB,CAAC,IACjF,WAAK,KAAK,EAAC,sBAAsB,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAoB,CAAC,IACvF,WAAK,KAAK,EAAC,2BAA2B,IACpC,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAC,wBAAwB,iBACjB,IAAI,CAAC,eAAe,IAAI,aAAa,IAElD,YAAM,IAAI,EAAC,MAAM,GAAQ,CACvB,CACA,EACN,WAAK,KAAK,EAAC,iCAAiC,GAAO,CAC/C,EAEL,CAAC,IAAI,CAAC,WAAW,KAChB,WAAK,KAAK,EAAC,sBAAsB,EAAC,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAoB,CAAC,IACvF,WAAK,KAAK,EAAC,4BAA4B,IACrC,YAAM,IAAI,EAAC,aAAa,GAAQ,EAE/B,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,KACzB,cACE,EAAE,EAAE,IAAI,CAAC,MAAM,EACf,KAAK,EAAE,uBACL,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,SACxD,EAAE,EACF,OAAO,EAAE,IAAI,CAAC,iBAAiB,IAE/B,iBAAW,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,MAAM,GAAa,EAC7E,iBAAW,KAAK,EAAC,kCAAkC,EAAC,IAAI,EAAC,OAAO,GAAa,EAC7E,WAAK,KAAK,EAAC,0BAA0B,IAAE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAO,CAClE,CACV,EACA,IAAI,CAAC,YAAY,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KACpD,YAAM,KAAK,EAAC,6BAA6B,EAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAC,QAAQ,IAChF,aAAO,KAAK,EAAC,qBAAqB,IAChC,aACE,EAAE,EAAE,IAAI,CAAC,QAAQ,EACjB,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,EAAsB,CAAC,EACtD,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,eAAe,EAC1B,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,OAAO,EAAE,IAAI,CAAC,iBAAiB,GACxB,EACT,iBAAW,KAAK,EAAC,0BAA0B,EAAC,IAAI,EAAC,QAAQ,GAAa,EACtE,WAAK,KAAK,EAAC,0BAA0B,IAAE,IAAI,CAAC,YAAY,CAAC,WAAW,CAAO,CACrE,CACH,CACR,EACA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9B,mBACE,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,IAAI,CAAC,uBAAuB,EACrC,OAAO,EAAC,gBAAgB,EACxB,IAAI,EAAC,OAAO,IAEZ,iBACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,gBAAgB,GAAG,uCAAuC,GAAG,EAAE,GAChE,EACb,iBACE,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB,GAAG,EAAE,GAAG,uCAAuC,GAChE,EACZ,IAAI,CAAC,YAAY,CAAC,WAAW,CAClB,CACf,EAED,YAAM,IAAI,EAAC,YAAY,GAAQ,EAE9B,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,KACnD,WAAK,KAAK,EAAC,sBAAsB,IAC/B,oBAAc,KAAK,EAAE,IAAI,CAAC,YAAY,gBAAc,IAAI,CAAC,QAAQ,GAAiB,CAC9E,CACP,EAED,WAAK,KAAK,EAAC,0BAA0B,EAAC,EAAE,EAAE,IAAI,CAAC,SAAS,IACtD,YAAM,IAAI,EAAC,gBAAgB,GAAQ,EAClC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI;;YACjC,OAAA,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,IAAI,IAAI,CAAC,UAAU,IACvC,EAAC,QAAQ,QACN,uBAAuB,CACtB,IAAI,EACJ;gBACE,mBAAmB,EAAE,IAAI;aAC1B,EACD;gBACE,eAAe,EAAE,IAAI,KAAK,IAAI,CAAC,sBAAsB,GAAG,MAAM,GAAG,OAAO;gBACxE,eAAe,EAAE,IAAI,CAAC,EAAE;gBACxB,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,IAAI,KAAK,IAAI,CAAC,sBAAsB,EAAE;wBACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBACzB;yBAAM;wBACL,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC/B;oBAED,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACtC;aACF,CACF,EACD,oBACE,KAAK,EAAE;oBACL,8BAA8B,EAAE,IAAI;iBACrC,EACD,SAAS,EAAC,YAAY,EACtB,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,IAE3D,uBAAuB,CACtB,IAAI,EACJ;gBACE,oBAAoB,EAAE,IAAI;aAC3B,EACD;gBACE,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACtC;aACF,CACF,EACD,WAAK,IAAI,EAAC,SAAS,IAChB,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,KACrB,qBACG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KACvB,sBACE,KAAK,EAAE;oBACL,gCAAgC,EAAE,IAAI;oBACtC,UAAU,EACR,OAAO,IAAI,CAAC,gBAAgB,KAAK,WAAW,IAAI,IAAI,CAAC,gBAAgB;iBACxE,EACD,IAAI,EAAE,OAAO,IAAI,CAAC,IAAI,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,CAAC,IAAI,EAC5D,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,MAAM,EAAE,SAAS,CAAC,MAAM,EACxB,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,OAAO,EAAE,SAAS,CAAC,OAAO,EAC1B,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,SAAS,EAAE,SAAS,CAAC,SAAS,EAC9B,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,CAAC,2BAA2B,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;iBAChD,IAEA,SAAS,CAAC,KAAK,CACD,CAClB,CAAC,CACQ,CACb,CACG,EACL,IAAI,CAAC,UAAU,KACd,mBACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAC1B,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAC1B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAC9B,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,CAAC,4BAA4B,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;iBACvD,IAEA,IAAI,CAAC,UAAU,CAAC,KAAK,CACV,CACf,CACY,CACN,KAEX,uBAAuB,CACrB,IAAI,EACJ,EAAE,EACF;gBACE,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACtC;aACF,CACF,CACF,CAAA;SAAA,CACF,EAEA,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,IAAG,CAAC,KAC1B,EAAC,QAAQ,QACP,UAAI,EAAE,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAC,sBAAsB,IAClD,IAAI,CAAC,YAAY,CAAC,aAAa,CAC7B,EACJ,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,KAC9C,cACE,KAAK,EAAE;gBACL,2BAA2B,EAAE,IAAI;gBACjC,mBAAmB,EAAE,IAAI;gBACzB,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,mBACc,IAAI,CAAC,mBAAmB,GAAG,MAAM,GAAG,OAAO,mBAC5C,mBAAmB,EACjC,OAAO,EAAE,CAAC,CAAa;gBACrB,IAAI,IAAI,CAAC,mBAAmB,EAAE;oBAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;iBACtB;qBAAM;oBACL,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBACtB;aACF,IAED,YAAM,KAAK,EAAC,gCAAgC,IAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAQ,EAChF,iBAAW,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAC,YAAY,GAAa,EACpF,iBAAW,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,UAAU,GAAa,CAC1E,CACV,EACD,oBACE,KAAK,EAAC,yCAAyC,EAC/C,SAAS,EAAC,YAAY,EACtB,QAAQ,EAAE,EAAE,IAEZ,cACE,KAAK,EAAE;gBACL,2BAA2B,EAAE,IAAI;gBACjC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;gBAChD,SAAS,EAAE,IAAI,CAAC,YAAY;aAC7B,IAED,YAAM,KAAK,EAAC,gCAAgC,IAAE,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAQ,EAChF,iBAAW,KAAK,EAAC,oCAAoC,EAAC,IAAI,EAAC,YAAY,GAAa,EACpF,iBAAW,KAAK,EAAC,mCAAmC,EAAC,IAAI,EAAC,UAAU,GAAa,CAC1E,EACT,WAAK,IAAI,EAAC,SAAS,IACjB,qBACG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,KAC3B,sBACE,KAAK,EAAC,gCAAgC,EACtC,MAAM,EAAE,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,MAAK,QAAQ,CAAC,KAAK,EACtD,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAE1D,QAAQ,CAAC,IAAI,CACC,CAClB,CAAC,CACQ,CACR,CACO,CACN,CACZ,EAED,YAAM,IAAI,EAAC,eAAe,GAAQ,CAC9B,CACF,CACF,CACP,CACG,CACF,CACF,EAEL,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,MACnE,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,aAAa,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,qBAAqB,IACnF,WAAK,KAAK,EAAC,8BAA8B,EAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,GAAQ,EACnF,WAAK,KAAK,EAAC,+BAA+B,GAAO,EACjD,WAAK,KAAK,EAAC,mBAAmB,IAC5B,WACE,KAAK,EAAC,uBAAuB,EAC7B,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,cAAc,GAAG,EAAiB,CAAC,gBACxC,IAAI,CAAC,YAAY,CAAC,eAAe,IAE7C,UAAI,KAAK,EAAC,mCAAmC,IAC1C,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI;;YAAI,QAC3B,UACE,KAAK,EAAE;oBACL,6BAA6B,EAAE,IAAI;oBACnC,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,mBAAmB;iBAC7C,IAEA,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,IACrB,+BACiB,IAAI,KAAK,IAAI,CAAC,mBAAmB,GAAG,MAAM,GAAG,OAAO,mBACpD,IAAI,CAAC,EAAE,EACtB,KAAK,EAAC,6CAA6C,EACnD,OAAO,EACL,IAAI,KAAK,IAAI,CAAC,mBAAmB;sBAC7B,MAAM,IAAI,CAAC,aAAa,EAAE;sBAC1B,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,IAGpC,IAAI,CAAC,KAAK,CACJ,KAET,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,CAAa,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAC7D,KAAK,EAAC,mCAAmC,IAExC,IAAI,CAAC,KAAK,CACT,CACL,EACA,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,KACrB,UACE,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,KAAK,EAAC,mCAAmC,EACzC,UAAU,EAAE,IAAI,CAAC,sBAAsB,IAEvC,UAAI,KAAK,EAAC,yCAAyC,IACjD,cACE,KAAK,EAAC,+CAA+C,EACrD,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,IAEnC,iBAAW,IAAI,EAAC,YAAY,GAAa,EACzC,gBAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,CAAQ,CACjF,CACN,EACL,UAAI,KAAK,EAAC,6BAA6B,IACrC,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,CAAa,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAC7D,KAAK,EAAC,2CAA2C,IAEhD,IAAI,CAAC,KAAK,CACT,CACD,EACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAClB,UAAI,KAAK,EAAC,6BAA6B,IACrC,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,CAAC,CAAa,KAAK,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,IAAI,CAAC,EAC7D,KAAK,EAAC,mCAAmC,IAExC,IAAI,CAAC,KAAK,CACT,CACD,CACN,CAAC,CACC,CACN,CACE,EACN;SAAA,CAAC,CACC,CACD,EAEL,CAAC,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,MAAM,IAAG,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,IAAG,CAAC,MACpE,WAAK,KAAK,EAAC,2BAA2B,IACpC,WAAK,KAAK,EAAC,+BAA+B,IACxC,UAAI,KAAK,EAAC,2CAA2C,IAClD,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI;;YAAI,QACrC,UACE,KAAK,EAAE;oBACL,qCAAqC,EAAE,IAAI;oBAC3C,SAAS,EAAE,IAAI,KAAK,IAAI,CAAC,sBAAsB;iBAChD,IAEA,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,IACrB,+BACiB,IAAI,KAAK,IAAI,CAAC,sBAAsB,GAAG,MAAM,GAAG,OAAO,mBACvD,IAAI,CAAC,EAAE,EACtB,KAAK,EAAE;oBACL,2CAA2C,EAAE,IAAI;oBACjD,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB;iBACxD,EACD,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,IAAI,KAAK,IAAI,CAAC,sBAAsB,EAAE;wBACxC,IAAI,CAAC,gBAAgB,EAAE,CAAC;qBACzB;yBAAM;wBACL,IAAI,CAAC,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;qBAC/B;oBAED,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACtC,IAED,YACE,KAAK,EAAE;oBACL,qCAAqC,EAAE,IAAI;oBAC3C,YAAY,EAAE,IAAI,CAAC,WAAW;iBAC/B,IAEA,IAAI,CAAC,KAAK,CACN,EACN,IAAI,CAAC,IAAI,KACR,iBAAW,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAc,CACrF,CACM,KAET,SACE,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE;oBACL,2CAA2C,EAAE,IAAI;oBACjD,WAAW,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,uBAAuB;iBACxD,EACD,OAAO,EAAE,CAAC,CAAa;oBACrB,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACtC,IAED,YACE,KAAK,EAAE;oBACL,qCAAqC,EAAE,IAAI;oBAC3C,YAAY,EAAE,IAAI,CAAC,WAAW;iBAC/B,IAEA,IAAI,CAAC,KAAK,CACN,EACN,IAAI,CAAC,IAAI,KACR,iBAAW,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAc,CACrF,CACC,CACL,EACA,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,MAAM,IAAG,CAAC,KACrB,UAAI,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAC,2CAA2C,IAChE,UAAI,KAAK,EAAC,qCAAqC,IAC7C,WAAK,KAAK,EAAC,oDAAoD,IAC7D,gBAAO,IAAI,CAAC,KAAK,CAAQ,EACzB,mBACE,KAAK,EAAC,qCAAqC,EAC3C,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,MAAA,IAAI,CAAC,YAAY,CAAC,qBAAqB,0CAAE,OAAO,CACrD,iBAAiB,EACjB,IAAI,CAAC,KAAK,CACX,EACD,OAAO,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,GACzB,CACX,CACH,EACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,KAClB,UAAI,KAAK,EAAC,qCAAqC,IAC7C,SAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAC,2CAA2C,IAClE,IAAI,CAAC,IAAI,KACR,iBACE,KAAK,EAAC,qCAAqC,EAC3C,IAAI,EAAE,IAAI,CAAC,IAAI,GACJ,CACd,EACD,YAAM,KAAK,EAAC,qCAAqC,IAC/C,gBAAO,IAAI,CAAC,KAAK,CAAQ,EACxB,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,KAC7C,YAAM,KAAK,EAAC,wCAAwC,SAAG,IAAI,CAAC,OAAO,MAAS,CAC7E,CACI,CACL,CACD,CACN,CAAC,EAED,IAAI,CAAC,UAAU,KACd,UAAI,KAAK,EAAC,qCAAqC,IAC7C,WAAK,KAAK,EAAC,qDAAqD,IAC9D,mBAAa,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,IACpE,IAAI,CAAC,UAAU,CAAC,KAAK,CACV,CACV,CACH,CACN,CACE,CACN,CACE,EACN;SAAA,CAAC,EAED,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,MAAM,IAAG,CAAC,KAC1B,UACE,KAAK,EAAE;gBACL,qCAAqC,EAAE,IAAI;gBAC3C,SAAS,EAAE,IAAI,CAAC,mBAAmB;aACpC,IAED,+BACiB,IAAI,CAAC,mBAAmB,GAAG,MAAM,GAAG,OAAO,mBAC5C,mBAAmB,EACjC,KAAK,EAAC,2CAA2C,EACjD,OAAO,EAAE,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAElC,gBAAO,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,IAAI,CAAQ,EACzC,iBAAW,KAAK,EAAC,qCAAqC,EAAC,IAAI,EAAC,YAAY,GAAa,CAC9E,EACT,UAAI,EAAE,EAAC,mBAAmB,EAAC,KAAK,EAAC,2CAA2C,IAC1E,WAAK,KAAK,EAAC,oDAAoD,IAC7D,gBAAO,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAQ,EACpD,mBACE,KAAK,EAAC,qCAAqC,EAC3C,OAAO,EAAC,UAAU,EAClB,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAE,IAAI,EACd,KAAK,EAAE,0BAA0B,EACjC,OAAO,EAAE,MAAM,IAAI,CAAC,aAAa,EAAE,GACtB,CACX,EACL,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,KAC3B,UAAI,KAAK,EAAC,qCAAqC,IAC7C,SACE,KAAK,EAAC,uDAAuD,EAC7D,IAAI,EAAE,QAAQ,CAAC,KAAK,EACpB,OAAO,EAAE,KAAK,IAAI,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAE3D,gBAAO,QAAQ,CAAC,IAAI,CAAQ,EAC3B,CAAA,oBAAoB,aAApB,oBAAoB,uBAApB,oBAAoB,CAAE,KAAK,MAAK,QAAQ,CAAC,KAAK,KAC7C,iBACE,KAAK,EAAC,qCAAqC,EAC3C,IAAI,EAAC,WAAW,GACL,CACd,CACC,CACD,CACN,CAAC,CACC,CACF,CACN,CACE,CACD,CACF,CACP,CACG,CACF,CACP,EAEA,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,KAC9B,WAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,mBAAmB,GAAG,EAAiB,CAAC,EAAE,KAAK,EAAC,4BAA4B,IAChG,WAAK,KAAK,EAAC,8BAA8B,EAAC,OAAO,EAAE,IAAI,CAAC,yBAAyB,GAAQ,EACzF,WAAK,KAAK,EAAC,+BAA+B,GAAO,EACjD,WAAK,KAAK,EAAC,iCAAiC,IAC1C,YAAM,IAAI,EAAC,QAAQ,GAAQ,CACvB,CACF,CACP,CACM,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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: auto;\n --logo-height: 100%;\n --logobar-background-color: #{$headerLogobarBackgroundColor};\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: $colorCoolgrey10;\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: $colorGrey90;\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: $colorPrimary70;\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\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: $colorSecondary30;\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: hidden;\n\n @media (min-height: 580px) {\n overflow-y: auto;\n }\n\n @include mq($from: medium) {\n overflow-y: auto;\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: $colorSecondary20;\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 // transform: translateX(0);\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: $colorSecondary40;\n }\n\n &.is-level-2 {\n @include mq($from: medium) {\n background-color: $colorSecondary10;\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 // background-color: red;\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 // background-color: green;\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: $colorPrimary70;\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-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 = [...this._metanavItems, ...this._userSpecificMetanavItemsNotLoggedIn];\n } else {\n this.combinedMetanavItems = [...this._metanavItems, ...this.userSpecificMetanavItemsLoggedIn];\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 </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 </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 +0,0 @@
|
|
|
1
|
-
{"file":"p-d1f98854.js","mappings":"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","names":[],"sources":["src/utils/string-utils.ts","src/utils/utils.ts"],"sourcesContent":["export function createParagraphsFromBrs(content: string) {\n const replaced = content\n .replace(/^\\s*(?:<br\\s*\\/?>\\s*)*/i, \"\")\n .replace(/\\s*(?:<br\\s*\\/?>\\s*)*$/i, \"\")\n .replace(/(?:<br\\s*\\/?>\\s*?){2,}/gi, \"</p><p>\");\n\n return `<p>${replaced}</p>`;\n}\n\nexport function camelCase(dashString: string) {\n return dashString\n .replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n}\n\nexport function dashCase(camelString: string) {\n return camelString.replace(/[A-Z]/g, m => \"-\" + m.toLowerCase());\n}\n\nexport function abbreviateText(text, length) {\n if (text.length <= length) {\n return text;\n }\n\n var lastWhitespaceIndex = text.substring(0, length - 1).lastIndexOf(' ');\n\n if (lastWhitespaceIndex) {\n return text.substring(0, lastWhitespaceIndex) + '\\u2026';\n } else {\n return text.substring(0, length - 1);\n }\n}\n","import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n });\n}\n\nexport function setProps(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n element[attribute] = attributes[attribute];\n });\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf(\"stzh-\") === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(\n `meta[name=\"${name}\"],[property=\"${name}\"]`\n );\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n // @ts-ignore\n if (typeof element.checkVisibility !== \"undefined\") {\n // @ts-ignore\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false\n });\n } else {\n return !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n }\n}\n\nexport function offset(element): { top: number; left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\nexport enum StzhEnvironmentEnum {\n UNKNOWN = \"UNKNOWN\",\n DEV = \"DEV\",\n UAT = \"UAT\",\n PROD = \"PROD\",\n}\n\nexport function getStzhEnvironment(): StzhEnvironmentEnum {\n const url = window.location.href;\n if (\n url.includes(\"test.stadt-zuerich.loc\") ||\n url.match(/\\.dev\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.DEV;\n } else if (\n url.includes(\"integ.stadt-zuerich.ch\") ||\n url.includes(\"stzh-desi-unic-preview.netlify.app\") ||\n url.match(/\\.uat\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.UAT;\n } else if (\n url.includes(\"https://www.stadt-zuerich.ch\") ||\n url.includes(\"designsystem.stadt-zuerich.ch\") ||\n url.match(/\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.PROD;\n } else {\n return StzhEnvironmentEnum.UNKNOWN;\n }\n}\n\nexport function addWordBreakToLinks(links: HTMLElement[]) {\n links.forEach((link) => {\n if (link.textContent?.includes(\"_\")) {\n link.innerHTML = link.textContent.replace(/_/g, \"_<wbr>\");\n }\n });\n}\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-dca85cea.js","mappings":"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","names":[],"sources":["src/components/stzh-accordion-item/stzh-accordion-item.scss?tag=stzh-accordion-item&encapsulation=shadow","src/components/stzh-accordion-item/stzh-accordion-item.tsx"],"sourcesContent":["/**\n * @prop --content-background: Content background\n *\n * @prop --stzh-accordion-content-background: **Global**: Content background\n * @prop --stzh-accordion-button-color: **Global**: Button label background\n */\n\n:host {\n --trigger-size: 18px;\n --trigger-color: currentColor;\n --content-background: #{$accordionContentBackground};\n --icon-size: #{iconSize()};\n --button-color: var(--stzh-accordion-button-color, #{$colorPrimary70});\n --button-background-color: #{$colorSecondary30};\n\n --hover-button-color: var(--button-color);\n --hover-button-background-color: #{$colorSecondary40};\n --hover-trigger-color: var(--trigger-color);\n\n --transition-duration: 200ms;\n\n @media print {\n page-break-inside: avoid;\n break-inside: avoid;\n }\n\n @include highContrast() {\n --trigger-color: CanvasText;\n\n --hover-trigger-color: CanvasText;\n }\n}\n\n/* Table */\n:host(:where([is-variant=\"table\"])) {\n --trigger-size: #{iconSize()};\n --content-background: #{$colorGrey10};\n --button-background-color: #{$colorGrey20};\n --trigger-color: #{$colorBlack};\n\n --hover-button-background-color: #{$colorGrey30};\n\n @include highContrast() {\n --trigger-color: CanvasText;\n\n --hover-trigger-color: CanvasText;\n }\n}\n\n/* Disabled */\n\n:host(:where([disabled]:not([disabled=\"false\"]))) {\n --button-color: #{$colorGrey80};\n --button-background-color: #{$colorGrey20};\n --trigger-color: #{$colorGrey80};\n\n --hover-button-color: var(--button-color);\n --hover-button-background-color: var(--button-background-color);\n --hover-trigger-color: var(--trigger-color);\n}\n\n.stzh-accordion-item {\n &__heading {\n position: relative;\n margin: 0;\n }\n\n &__button {\n @include fontCurve('p1');\n @include spaceCurve('padding-top', 'regular');\n @include spaceCurve('padding-bottom', 'regular');\n font-family: inherit;\n width: 100%;\n appearance: none;\n display: flex;\n align-items: center;\n min-height: 60px;\n color: var(--button-color);\n background-color: var(--button-background-color);\n text-align: left;\n border: none;\n transition-property: background-color;\n transition-duration: var(--transition-duration);\n cursor: pointer;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n\n &:hover {\n color: var(--hover-button-color);\n background-color: var(--hover-button-background-color);\n }\n }\n\n &__button,\n &__content-inner {\n @include spaceCurve('padding-left', 'regular');\n @include spaceCurve('padding-right', 'regular');\n }\n\n &__button-text {\n flex-grow: 1;\n }\n\n &__button-icon {\n &.is-default {\n position: relative;\n display: block;\n width: var(--trigger-size);\n height: var(--trigger-size);\n margin-left: space('medium');\n\n &::before,\n &::after {\n position: absolute;\n top: 50%;\n left: 50%;\n content: '';\n display: block;\n width: var(--trigger-size);\n height: 2.5px;\n transition-property: transform, background-color;\n transition-duration: var(--transition-duration);\n transform-origin: top left;\n background-color: var(--trigger-color);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n\n &::before {\n transform: rotate(180deg) translate(-50%, -50%);\n }\n\n &::after {\n transform: rotate(90deg) translate(-50%, -50%);\n }\n }\n\n &.is-table {\n --size: var(--trigger-size);\n\n transition-property: transform, color;\n transition-duration: var(--transition-duration);\n color: var(--trigger-color);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n }\n }\n\n &__button:hover &__button-icon {\n &.is-default {\n &::before,\n &::after {\n background-color: var(--hover-trigger-color);\n }\n }\n\n &.is-table {\n color: var(--hover-trigger-color);\n }\n }\n\n &__content {\n overflow: hidden;\n background-color: var(--content-background);\n\n @media print {\n height: auto !important;\n overflow: visible !important;\n display: block !important;\n }\n }\n\n &__content-inner {\n @include spaceCurve('padding-top', 'medium');\n @include spaceCurve('padding-bottom', 'medium');\n }\n\n &__icon-wrapper {\n --stzh-icon-size: var(--icon-size);\n\n align-self: flex-start;\n }\n\n &__badge {\n position: absolute;\n right: -5px;\n top: -5px;\n }\n\n &__description {\n @include fontCurve('caption');\n }\n\n &__heading-text,\n &__description,\n &__subtitle {\n display: block;\n }\n\n &__subtitle {\n @include fontCurve('p2');\n }\n\n /* Has icon */\n\n &--has-icon &__icon-wrapper {\n margin-right: space('xsmall');\n }\n\n /* Title Variant / Subtitle */\n\n &--title &__heading-text,\n &--has-subtitle &__heading-text {\n @include font('title');\n @include fontCurve('h3', 'heading');\n }\n\n &--title &__subtitle:not(:empty) + &__heading-text,\n &--has-subtitle &__subtitle:not(:empty) + &__heading-text {\n @include spaceCurve('margin-top', 'tiny');\n\n @include mq($from: medium) {\n margin-top: space('xsmall');\n }\n }\n\n /* Open */\n\n &--is-open &__button-icon {\n &.is-default {\n &::before,\n &::after {\n transform: rotate(0) translate(-50%, -50%);\n }\n }\n\n &.is-table {\n transform: rotate(180deg);\n }\n }\n\n /* Table Variant */\n\n &--table &__button,\n &--table &__content-inner {\n padding-left: space('medium');\n padding-right: space('medium');\n }\n\n &__button {\n @include fontSize('milli');\n padding-top: space('medium');\n padding-bottom: space('medium');\n min-height: 56px;\n }\n\n &--table &__content-inner {\n @include spaceCurve('padding-top', 'tiny');\n @include spaceCurve('padding-bottom', 'regular');\n }\n\n &--table &__heading-text {\n @include font('heavy');\n }\n\n /* Disabled */\n\n &--is-disabled &__button {\n cursor: not-allowed;\n }\n}\n","import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\";\n\nimport {\n StzhAccordionItemBlurEvent,\n StzhAccordionItemClosedEvent,\n StzhAccordionItemCloseEvent,\n StzhAccordionItemFocusEvent,\n StzhAccordionItemOpenedEvent,\n StzhAccordionItemOpenEvent,\n StzhAccordionVariant,\n StzhAccordionVariantChangeEvent,\n StzhBadgeType,\n} from \"../../index\";\n\nimport { waitForEvent } from \"../../utils/event-utils\";\nimport { animateTo, shimKeyframesAutoValues, stopAnimations } from \"../../utils/animation-utils\";\nimport { hasSlot } from \"../../utils/utils\";\n\nconst ANIMATION_SHOW = {\n keyframes: [\n { height: \"0\", opacity: \"0\" },\n { height: \"auto\", opacity: \"1\" },\n ],\n options: { duration: 300, easing: \"linear\" },\n};\n\nconst ANIMATION_HIDE = {\n keyframes: [\n { height: \"auto\", opacity: \"1\" },\n { height: \"0\", opacity: \"0\" },\n ],\n options: { duration: 300, easing: \"linear\" },\n};\n\nlet accordionItemCounter = 0;\n\n/**\n * @slot - Slot for any content\n * @slot icon - Slot for icon element\n */\n@Component({\n tag: \"stzh-accordion-item\",\n styleUrl: \"stzh-accordion-item.scss\",\n shadow: true,\n})\nexport class StzhAccordionItem {\n /** Variant (overwrites variant from accordion parent) */\n @Prop() variant: StzhAccordionVariant;\n\n /** Whether fold is collapsible (overwrites collapsible from accordion parent) */\n @Prop() collapsible: boolean;\n\n /** Whether fold is open */\n @Prop({ mutable: true, reflect: true }) open: boolean = false;\n\n /** Whether fold disabled */\n @Prop({ reflect: true }) disabled: boolean = false;\n\n /** Heading title */\n @Prop() heading: string = \"\";\n\n /** Subtitle */\n @Prop() subtitle: string = \"\";\n\n /** Description */\n @Prop() description: string = \"\";\n\n /** Icon (use instead of icon slot) */\n @Prop() icon: string = \"\";\n\n /** Badge */\n @Prop() badge: string = \"\";\n\n /** Whether badge should be displayed empty */\n @Prop({ reflect: true }) badgeEmpty: boolean = false;\n\n /** Badge type */\n @Prop({ reflect: true }) badgeType: StzhBadgeType = \"default\";\n\n /** Heading level, for accessibility, no visual impact */\n @Prop({ reflect: true }) headingLevel: \"1\" | \"2\" | \"3\" | \"4\" = \"3\";\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the button element.\n * Default value will be taken from `heading` prop.\n */\n @Prop() analyticsId: string;\n\n @Element() element: HTMLStzhAccordionItemElement;\n\n /** Open event */\n @Event() stzhOpen: EventEmitter<StzhAccordionItemOpenEvent>;\n\n /** Opened event (after animation) */\n @Event() stzhOpened: EventEmitter<StzhAccordionItemOpenedEvent>;\n\n /** Close event */\n @Event() stzhClose: EventEmitter<StzhAccordionItemCloseEvent>;\n\n /** Closed event (after animation) */\n @Event() stzhClosed: EventEmitter<StzhAccordionItemClosedEvent>;\n\n @Watch(\"variant\")\n variantWatcher(newValue: StzhAccordionVariant) {\n if (typeof newValue !== \"undefined\") {\n this._variant = newValue;\n } else if (this.accordion) {\n this._variant = this.accordion.variant;\n }\n }\n\n @Watch(\"open\")\n async openWatcher(newValue: boolean) {\n if (!this.bodyElement) {\n return;\n }\n\n if (newValue) {\n if (this.toggledByMethod) {\n this.stzhOpen.emit({\n component: \"stzh-accordion-item\",\n });\n }\n\n await stopAnimations(this.bodyElement);\n this.bodyElement.hidden = false;\n\n await animateTo(\n this.bodyElement,\n shimKeyframesAutoValues(ANIMATION_SHOW.keyframes, {\n height: this.bodyElement.scrollHeight,\n }),\n ANIMATION_SHOW.options\n );\n\n this.bodyElement.style.height = \"auto\";\n this.bodyElement.style.overflow = \"visible\";\n\n if (this.toggledByMethod) {\n this.stzhOpened.emit({\n component: \"stzh-accordion-item\",\n });\n }\n } else {\n if (this.toggledByMethod) {\n this.stzhClose.emit({\n component: \"stzh-accordion-item\",\n });\n }\n\n await stopAnimations(this.bodyElement);\n this.bodyElement.style.overflow = \"hidden\";\n\n await animateTo(\n this.bodyElement,\n shimKeyframesAutoValues(ANIMATION_HIDE.keyframes, {\n height: this.bodyElement.scrollHeight,\n }),\n ANIMATION_HIDE.options\n );\n\n this.bodyElement.hidden = true;\n this.bodyElement.style.height = \"0px\";\n\n if (this.toggledByMethod) {\n this.stzhClosed.emit({\n component: \"stzh-accordion-item\",\n });\n }\n }\n\n this.toggledByMethod = false;\n }\n\n /** Show accordion item content */\n @Method()\n async show() {\n if (this.open || this.disabled) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = true;\n return waitForEvent(this.element, \"stzhOpened\");\n }\n\n /** Hide accordion item content */\n @Method()\n async hide() {\n if (!this.open || this.disabled) {\n return;\n }\n\n this.toggledByMethod = true;\n this.open = false;\n return waitForEvent(this.element, \"stzhClosed\");\n }\n\n /** Toggle accordion item content */\n @Method()\n async toggle() {\n if (this.open) {\n return await this.hide();\n } else {\n return await this.show();\n }\n }\n\n /** Focus event */\n @Event() stzhFocus: EventEmitter<StzhAccordionItemFocusEvent>;\n\n /** Input blur event */\n @Event() stzhBlur: EventEmitter<StzhAccordionItemBlurEvent>;\n\n @Listen(\"keydown\", { target: \"document\", capture: true })\n handleKeydown(event: KeyboardEvent) {\n if (event.key === \"Shift\") {\n this.shiftPressed = true;\n }\n }\n\n @Listen(\"keyup\", { target: \"document\", capture: true })\n handleKeyup(event: KeyboardEvent) {\n if (event.key === \"Shift\") {\n this.shiftPressed = false;\n }\n }\n\n @State() rootTabindex: number = 0;\n @State() _variant: StzhAccordionVariant;\n\n private toggledByMethod: boolean = false;\n private bodyElement: HTMLDivElement;\n // @ts-ignore\n private buttonElement: HTMLButtonElement;\n private iconWrapperElement: HTMLDivElement;\n private accordionItemId: string;\n private accordion: HTMLStzhAccordionElement;\n // @ts-ignore\n private focusedByInput: boolean = false;\n private shiftPressed: boolean = false;\n\n private handleVariantChange = (_event: CustomEvent<StzhAccordionVariantChangeEvent>) => {\n this.variantWatcher(this.variant);\n };\n\n private handleHeaderClick = () => {\n if (typeof this.collapsible !== \"undefined\") {\n if (this.collapsible) {\n this.toggle();\n } else if (!this.open) {\n this.show();\n }\n } else if (!this.accordion || this.accordion.collapsible) {\n this.toggle();\n } else if (!this.open) {\n this.show();\n }\n };\n\n private onFocus = (event: FocusEvent) => {\n this.focusedByInput = true;\n\n if (this.shiftPressed) {\n // user presses currently shift\n this.rootTabindex = -1;\n }\n\n this.stzhFocus.emit({\n component: \"stzh-accordion-item\",\n originalEvent: event,\n });\n };\n\n private onBlur = (event: FocusEvent) => {\n this.rootTabindex = 0;\n\n this.stzhBlur.emit({\n component: \"stzh-accordion-item\",\n originalEvent: event,\n });\n };\n\n private onButtonKeydown = (event: KeyboardEvent) => {\n let action = null;\n\n if (event.key === \"ArrowDown\") {\n action = \"next\";\n } else if (event.key === \"ArrowUp\") {\n action = \"prev\";\n } else if (event.key === \"Home\") {\n action = \"first\";\n } else if (event.key === \"End\") {\n action = \"last\";\n } else if (event.key === \"PageDown\" && event.ctrlKey) {\n action = \"next\";\n } else if (event.key === \"PageUp\" && event.ctrlKey) {\n action = \"prev\";\n }\n\n if (event.key === \"Shift\") {\n this.rootTabindex = -1;\n }\n\n if (action) {\n event.preventDefault();\n this.accordion.setItemFocus(this.element, action);\n }\n };\n\n private onContentKeydown = (event: KeyboardEvent) => {\n if (!event.ctrlKey) {\n return;\n }\n\n let action = null;\n\n if (event.key === \"PageDown\") {\n action = \"next\";\n } else if (event.key === \"PageUp\") {\n action = \"prev\";\n }\n\n if (action) {\n event.preventDefault();\n this.accordion.setItemFocus(this.element, action);\n }\n };\n\n componentWillLoad() {\n this.accordionItemId = `stzh-accordion-item-${accordionItemCounter++}`;\n }\n\n componentDidLoad() {\n this.bodyElement.hidden = !this.open;\n this.bodyElement.style.height = this.open ? \"auto\" : \"0px\";\n this.bodyElement.style.overflow = this.open ? \"visible\" : \"hidden\";\n }\n\n async connectedCallback() {\n this.accordion = this.element.closest(\"stzh-accordion\");\n\n if (this.accordion) {\n this.accordion.addEventListener(\"stzhVariantChange\", this.handleVariantChange);\n }\n\n this.variantWatcher(this.variant);\n }\n\n disconnectedCallback() {\n if (this.accordion) {\n this.accordion.removeEventListener(\"stzhVariantChange\", this.handleVariantChange);\n this.accordion = null;\n }\n }\n\n render() {\n let hasIcon = hasSlot(this.element, \"icon\") || !!this.icon;\n if (this.iconWrapperElement) {\n hasIcon = hasSlot(this.iconWrapperElement, \"icon\") || !!this.icon;\n }\n\n const Heading = `h${this.headingLevel}`;\n const classes = {\n \"stzh-accordion-item\": true,\n \"stzh-accordion-item--has-icon\": hasIcon,\n \"stzh-accordion-item--has-description\": !!this.description,\n \"stzh-accordion-item--has-subtitle\": !!this.subtitle,\n \"stzh-accordion-item--is-open\": this.open,\n \"stzh-accordion-item--is-disabled\": this.disabled,\n [`stzh-accordion-item--${this._variant}`]: !!this._variant,\n };\n\n return (\n <Host tabindex={this.disabled ? null : this.rootTabindex} is-variant={this._variant}>\n <div class={classes}>\n <Heading\n id={`${this.accordionItemId}-header`}\n class=\"stzh-accordion-item__heading\"\n onClick={this.handleHeaderClick}\n >\n <button\n ref={el => (this.buttonElement = el as HTMLButtonElement)}\n class=\"stzh-accordion-item__button\"\n aria-controls={`${this.accordionItemId}-content`}\n aria-expanded={`${this.open ? \"true\" : \"false\"}`}\n disabled={this.disabled}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.onButtonKeydown}\n type=\"button\"\n s-object-id={this.analyticsId || this.heading}\n >\n <span\n class=\"stzh-accordion-item__icon-wrapper\"\n ref={el => (this.iconWrapperElement = el as HTMLDivElement)}\n >\n {this.icon ? (\n <stzh-icon class=\"stzh-accordion-item__icon\" name={this.icon}></stzh-icon>\n ) : (\n <slot name=\"icon\"></slot>\n )}\n </span>\n <span class=\"stzh-accordion-item__button-text\">\n <span class=\"stzh-accordion-item__subtitle\">{this.subtitle}</span>\n <span class=\"stzh-accordion-item__heading-text\">{this.heading}</span>\n <span class=\"stzh-accordion-item__description\">{this.description}</span>\n </span>\n {this._variant === \"table\" ? (\n <stzh-icon name=\"angle-down\" class=\"stzh-accordion-item__button-icon is-table\"></stzh-icon>\n ) : (\n <span class=\"stzh-accordion-item__button-icon is-default\"></span>\n )}\n\n {(this.badge || this.badgeEmpty) && (\n <stzh-badge class=\"stzh-accordion-item__badge\" label={this.badge} type={this.badgeType}></stzh-badge>\n )}\n </button>\n </Heading>\n <div\n id={`${this.accordionItemId}-content`}\n ref={el => (this.bodyElement = el as HTMLDivElement)}\n class=\"stzh-accordion-item__content\"\n aria-labelledby={`${this.accordionItemId}-header`}\n role=\"region\"\n onKeyDown={this.onContentKeydown}\n >\n <div class=\"stzh-accordion-item__content-inner\">\n <slot></slot>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"utils-a756a0c9.js","mappings":"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","names":[],"sources":["src/utils/utils.ts"],"sourcesContent":["import { dashCase } from \"./string-utils\";\n\n// Determines whether an element has a slot. If name is specified, the function will look for a corresponding named\n// slot, otherwise it will look for a \"default\" slot (e.g. a non-empty text node or an element with no slot attribute).\nexport function hasSlot(el: HTMLElement, name?: string) {\n // Look for a named slot\n if (name) {\n return el.querySelector(`[slot=\"${name}\"]`) !== null;\n }\n\n // Look for a default slot\n return Array.from(childNodes(el)).some((node) => {\n if (node.nodeType === node.TEXT_NODE && node.textContent.trim() !== \"\") {\n return true;\n }\n\n if (node.nodeType === node.ELEMENT_NODE) {\n const el = node as HTMLElement;\n if (!el.hasAttribute(\"slot\")) {\n return true;\n }\n }\n\n return false;\n });\n}\n\nexport function setPropsIfNull(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n if (element.getAttribute(dashCase(attribute)) === null) {\n element[attribute] = attributes[attribute];\n }\n });\n}\n\nexport function setProps(element: Element, attributes: any) {\n Object.keys(attributes).forEach((attribute) => {\n element[attribute] = attributes[attribute];\n });\n}\n\nexport function isStzhElement(element: Element) {\n if (!element || element.nodeType !== 1) {\n return false;\n }\n\n return element.tagName.toLowerCase().indexOf(\"stzh-\") === 0;\n}\n\n// returns content of <meta name=\"\" content=\"\"> tags or '' if empty/non existant\nexport function getMeta(name) {\n const meta = document.querySelector(\n `meta[name=\"${name}\"],[property=\"${name}\"]`\n );\n return meta ? meta.getAttribute(\"content\") : \"\";\n}\n\nexport function parents(node: Element | Node) {\n const parents = [];\n\n while (node) {\n parents.unshift(node);\n node = node.parentNode;\n }\n\n return parents;\n}\n\nexport function childNodes(node: Element) {\n const childNodes = node.childNodes;\n\n // check if element is stencil element without shadow dom\n // and then detect elements that were slotted into the element\n if (node[\"s-sc\"]) {\n const result = [];\n\n for (let i = 0; i < childNodes.length; i++) {\n const slot = childNodes[i][\"s-nr\"];\n\n if (slot) {\n result.push(slot);\n }\n }\n\n return result;\n }\n\n return Array.from(childNodes);\n}\n\nexport function isVisible(element: HTMLElement): boolean {\n // @ts-ignore\n if (typeof element.checkVisibility !== \"undefined\") {\n // @ts-ignore\n return element.checkVisibility({\n checkOpacity: false,\n checkVisibilityCSS: false\n });\n } else {\n return !!(\n element.offsetWidth ||\n element.offsetHeight ||\n element.getClientRects().length\n );\n }\n}\n\nexport function offset(element): { top: number; left: number } {\n if (!element.getClientRects().length) {\n return { top: 0, left: 0 };\n }\n\n let rect = element.getBoundingClientRect();\n let win = element.ownerDocument.defaultView;\n\n return {\n top: rect.top + win.pageYOffset,\n left: rect.left + win.pageXOffset\n };\n}\n\nexport async function raf() {\n return new Promise<void>((resolve) => {\n requestAnimationFrame(() => {\n resolve();\n });\n });\n}\n\nexport async function setTimeout(time: number) {\n return new Promise<void>((resolve) => {\n window.setTimeout(() => {\n resolve();\n }, time);\n });\n}\n\nexport enum StzhEnvironmentEnum {\n UNKNOWN = \"UNKNOWN\",\n DEV = \"DEV\",\n UAT = \"UAT\",\n PROD = \"PROD\",\n}\n\nexport function getStzhEnvironment(): StzhEnvironmentEnum {\n const url = window.location.href;\n if (\n url.includes(\"test.stadt-zuerich.loc\") ||\n url.match(/\\.dev\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.DEV;\n } else if (\n url.includes(\"integ.stadt-zuerich.ch\") ||\n url.includes(\"stzh-desi-unic-preview.netlify.app\") ||\n url.match(/\\.uat\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.UAT;\n } else if (\n url.includes(\"https://www.stadt-zuerich.ch\") ||\n url.includes(\"designsystem.stadt-zuerich.ch\") ||\n url.match(/\\.cmp\\.szh\\.loc/)\n ) {\n return StzhEnvironmentEnum.PROD;\n } else {\n return StzhEnvironmentEnum.UNKNOWN;\n }\n}\n\nexport function addWordBreakToLinks(links: HTMLElement[]) {\n links.forEach((link) => {\n if (link.textContent?.includes(\"_\")) {\n link.innerHTML = link.textContent.replace(/_/g, \"_<wbr>\");\n }\n });\n}\n\n// `extras.experimentalSlotFixes` stencil config flag resolves cloning light dom elements\n// so our own cloneElement / cloneWrappedStzhElement helpers are not needed right now\n// (used before in cardlist and sortable component).\n\n// export function children(node: Element) {\n// return childNodes(node).map((n: any) => n.nodeType === 1);\n// }\n\n// const nativeCloneNodeFn = Node.prototype.cloneNode;\n\n// export function cloneElement(node: Element, deep: boolean) {\n// const clonedNode = nativeCloneNodeFn.call(node, false);\n// const srcChildNodes = childNodes(node);\n\n// if (deep) {\n// for (let i = 0; i < srcChildNodes.length; i++) {\n// if (srcChildNodes[i].nodeType !== 2) {\n// const childClone = cloneElement(srcChildNodes[i], true);\n// clonedNode.appendChild(childClone);\n// }\n// }\n// }\n\n// return clonedNode;\n// }\n\n// // Clone an stzh-* element that is using stencil polyfilled slots (no shadow dom)\n// // and potentially wrapped in normal elements (e.g. angular component)\n// export function cloneWrappedStzhElement(elementToClone: Element): [Element, Element, Element] {\n// let clonedElement: Element;\n// let clonedStzhElement: Element;\n// let originalStzhElement: Element;\n\n// if (isStzhElement(elementToClone)) {\n// clonedElement = cloneElement(elementToClone, true);\n// clonedStzhElement = clonedElement;\n// originalStzhElement = elementToClone;\n// } else {\n// clonedElement = elementToClone.cloneNode() as Element;\n\n// let clonedInnerElementLast: Element = clonedElement;\n// let originalInnerElementLast: Element = elementToClone;\n\n// // clone inner root elements separately until we find a stzh element\n// while (originalInnerElementLast.children.length === 1 && !isStzhElement(originalInnerElementLast.children[0])) {\n// originalInnerElementLast = originalInnerElementLast.children[0];\n// const clonedInnerElementCurrent = originalInnerElementLast.cloneNode() as Element;\n\n// clonedInnerElementLast.appendChild(clonedInnerElementCurrent);\n// clonedInnerElementLast = clonedInnerElementCurrent;\n// }\n\n// if (isStzhElement(originalInnerElementLast.children[0])) {\n// clonedStzhElement = cloneElement(originalInnerElementLast.children[0], true);\n// originalStzhElement = originalInnerElementLast.children[0];\n// clonedInnerElementLast.appendChild(clonedStzhElement);\n// } else {\n// // no root stzh element found, so we give up and just deep clone the root\n// clonedElement = cloneElement(elementToClone, true);\n// }\n// }\n\n// return [clonedElement, clonedStzhElement, originalStzhElement];\n// }\n"],"version":3}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as e,c as s,h as t,F as r,a,g as c}from"./p-ef5985a3.js";import{h as i}from"./p-24caf6c1.js";import"./p-dae15605.js";const h=`<svg width="100%" height="100%" xmlns="http://www.w3.org/2000/svg">\n <rect width="10000" height="10000" fill="currentColor" />\n</svg>\n`;const d='.sc-stzh-card-superteaser-h{font-family:var(--stzh-font-family-medium);font-weight:var(--stzh-font-weight-medium);font-style:var(--stzh-font-style-medium);color:var(--stzh-base-color);box-sizing:border-box;display:block}[hidden].sc-stzh-card-superteaser-h,[stzh-hidden].sc-stzh-card-superteaser-h{display:none}.sc-stzh-card-superteaser-h::selection{color:var(--stzh-selection-color);background-color:var(--stzh-selection-background-color)}.sc-stzh-card-superteaser-h *.sc-stzh-card-superteaser,.sc-stzh-card-superteaser-h *.sc-stzh-card-superteaser::before,.sc-stzh-card-superteaser-h *.sc-stzh-card-superteaser::after{box-sizing:border-box;text-underline-offset:var(--stzh-link-text-underline-offset);text-decoration-thickness:var(--stzh-link-text-decoration-thickness);-webkit-text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink);text-decoration-skip-ink:var(--stzh-link-text-decoration-skip-ink)}.sc-stzh-card-superteaser-h .has-focus.sc-stzh-card-superteaser{outline:var(--stzh-flyingfocus-color) solid 0.125rem;outline-offset:0.125rem}.sc-stzh-card-superteaser-h .stzh-fylingfocus-focused.sc-stzh-card-superteaser{outline-style:none !important}.sc-stzh-card-superteaser-h .stzh-fylingfocus-focused.sc-stzh-card-superteaser::-moz-focus-inner{border:0 !important}.sc-stzh-card-superteaser-h{--service-background-color:var(--stzh-color-secondary30);--service-color:var(--stzh-color-primary70);--placeholder-image-color:var(--stzh-color-grey30);--grid-template-areas:"heading" "description" "meta";--grid-template-rows:repeat(2, auto) minmax(0, 1fr);--grid-template-columns:minmax(0, 1fr);display:grid}.sc-stzh-card-superteaser-h.sc-stzh-card-superteaser-s>img,.sc-stzh-card-superteaser-h .sc-stzh-card-superteaser-s>img{width:100%;max-width:100%}[has-image].sc-stzh-card-superteaser-h{--grid-template-areas:"image" "heading" "description" "meta";--grid-template-rows:repeat(3, auto) minmax(0, 1fr);--grid-template-columns:minmax(0, 1fr)}[has-image][image-position=right].sc-stzh-card-superteaser-h{--grid-template-areas:"heading heading" "description description" "meta image";--grid-template-rows:repeat(2, auto) minmax(0, 1fr);--grid-template-columns:minmax(0, 1fr) minmax(calc(6.25rem + var(--stzh-space-medium)), min-content)}.stzh-card-superteaser.sc-stzh-card-superteaser{font-size:var(--stzh-font-milli-font-size);line-height:var(--stzh-font-milli-text-line-height);letter-spacing:var(--stzh-font-curve---text-letter-spacing);position:relative;display:grid;background-color:var(--stzh-color-grey10);grid-template-areas:var(--grid-template-areas);grid-template-rows:var(--grid-template-rows);grid-template-columns:var(--grid-template-columns);color:var(--stzh-color-grey80)}.stzh-card-superteaser__tag.sc-stzh-card-superteaser,.stzh-card-superteaser__dateline.sc-stzh-card-superteaser,.stzh-card-superteaser__breadcrumb.sc-stzh-card-superteaser,.stzh-card-superteaser__event-infos.sc-stzh-card-superteaser,.stzh-card-superteaser__heading-link-text.sc-stzh-card-superteaser,.stzh-card-superteaser__description.sc-stzh-card-superteaser,.stzh-card-superteaser__meta-wrapper.sc-stzh-card-superteaser{z-index:1;position:relative}.stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser,.stzh-card-superteaser--has-description-wrapper.sc-stzh-card-superteaser .stzh-card-superteaser__description-wrapper.sc-stzh-card-superteaser,.stzh-card-superteaser__meta-wrapper.sc-stzh-card-superteaser{margin-left:var(--stzh-space-medium);margin-right:var(--stzh-space-medium);margin-bottom:var(--stzh-space-large)}.stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{grid-area:heading;display:grid;margin-top:var(--stzh-space-xlarge)}.stzh-card-superteaser__image.sc-stzh-card-superteaser,.stzh-card-superteaser__meta-wrapper.sc-stzh-card-superteaser{align-self:end}.stzh-card-superteaser__image.sc-stzh-card-superteaser{display:grid;grid-area:image;width:100%}.stzh-card-superteaser__image-placeholder.sc-stzh-card-superteaser{color:var(--placeholder-image-color)}.stzh-card-superteaser__description-wrapper.sc-stzh-card-superteaser{grid-area:description}.stzh-card-superteaser__meta-wrapper.sc-stzh-card-superteaser{grid-area:meta}.stzh-card-superteaser__meta.sc-stzh-card-superteaser{overflow:hidden}.stzh-card-superteaser__download.sc-stzh-card-superteaser{display:flex;justify-content:space-between;align-items:center;gap:var(--stzh-space-xsmall);overflow:hidden}.stzh-card-superteaser__download-button.sc-stzh-card-superteaser{align-self:flex-end;display:flex;justify-content:center;align-items:center;width:var(--stzh-form-input-small-height);height:var(--stzh-form-input-small-height);color:var(--stzh-color-primary70)}.stzh-card-superteaser__tag.sc-stzh-card-superteaser,.stzh-card-superteaser__topic.sc-stzh-card-superteaser,.stzh-card-superteaser__service.sc-stzh-card-superteaser,.stzh-card-superteaser__event-date-teaser.sc-stzh-card-superteaser{z-index:2}.stzh-card-superteaser__tag.sc-stzh-card-superteaser{position:absolute;left:0;top:0}.stzh-card-superteaser__service.sc-stzh-card-superteaser{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);position:absolute;top:0;right:0;background-color:var(--service-background-color);color:var(--service-color);padding:var(--stzh-space-xsmall) var(--stzh-space-medium);text-align:center}.stzh-card-superteaser__topic.sc-stzh-card-superteaser{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);position:relative;color:var(--stzh-color-primary70);margin-bottom:var(--stzh-space-xsmall)}.stzh-card-superteaser__dateline.sc-stzh-card-superteaser{font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);color:var(--stzh-color-black);margin-bottom:var(--stzh-space-xxsmall)}.stzh-card-superteaser__heading.sc-stzh-card-superteaser{margin-top:0px;margin-bottom:var(--stzh-space-small)}.stzh-card-superteaser__heading-link.sc-stzh-card-superteaser{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-curve-teaser-default-font-size, var(--stzh-font-centi-font-size));line-height:var(--stzh-font-curve-teaser-default-text-line-height, var(--stzh-font-centi-text-line-height));letter-spacing:var(--stzh-font-curve-teaser-default-text-letter-spacing);display:block;color:var(--stzh-color-primary70);-webkit-text-decoration-line:none;text-decoration-line:none}@media screen and (min-width: 1260px){.stzh-card-superteaser__heading-link.sc-stzh-card-superteaser{font-size:var(--stzh-font-curve-teaser-large-font-size, var(--stzh-font-deci-font-size));line-height:var(--stzh-font-curve-teaser-large-text-line-height, var(--stzh-font-deci-text-line-height));letter-spacing:var(--stzh-font-curve-teaser-large-text-letter-spacing)}}.stzh-card-superteaser__event-infos.sc-stzh-card-superteaser{font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height)}.stzh-card-superteaser.sc-stzh-card-superteaser:has(.stzh-card-superteaser__description:not(:empty)) .stzh-card-superteaser__event-infos.sc-stzh-card-superteaser{margin-bottom:var(--stzh-space-small)}.stzh-card-superteaser__description.sc-stzh-card-superteaser:empty{display:none}.stzh-card-superteaser__breadcrumb.sc-stzh-card-superteaser{margin-bottom:var(--stzh-space-small)}.stzh-card-superteaser__event-date-teaser.sc-stzh-card-superteaser{font-size:var(--stzh-font-nano-font-size);line-height:var(--stzh-font-nano-text-line-height);text-transform:uppercase;display:flex;flex-direction:column;justify-content:center;align-items:center;width:5.5rem;height:5.5rem;color:var(--stzh-color-black);background-color:var(--stzh-color-secondary30);position:absolute;top:0;right:0}.stzh-card-superteaser__event-date-teaser-day.sc-stzh-card-superteaser{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);font-size:var(--stzh-font-hecto-font-size);line-height:var(--stzh-font-hecto-text-line-height);letter-spacing:var(--stzh-font-hecto-text-letter-spacing);color:var(--stzh-color-primary70);margin-top:-0.4375rem;margin-bottom:-0.4375rem}.stzh-card-superteaser__meta-list.sc-stzh-card-superteaser,.stzh-card-superteaser__download-meta-list.sc-stzh-card-superteaser{font-size:var(--stzh-font-micro-font-size);line-height:var(--stzh-font-micro-text-line-height);display:flex;align-items:center;flex-wrap:wrap;column-gap:var(--stzh-space-xsmall);margin-left:calc((var(--stzh-space-xsmall) + 0.0625rem) / -1)}.stzh-card-superteaser__meta-list-item.sc-stzh-card-superteaser,.stzh-card-superteaser__download-meta-list-item.sc-stzh-card-superteaser{display:flex;align-items:center;min-height:1.5rem;gap:var(--stzh-space-xsmall)}.stzh-card-superteaser__meta-list-item.sc-stzh-card-superteaser::before,.stzh-card-superteaser__download-meta-list-item.sc-stzh-card-superteaser::before{content:"";display:block;width:0.0625rem;height:1rem;background-color:currentColor}.stzh-card-superteaser--has-link.sc-stzh-card-superteaser .stzh-card-superteaser__heading-link.sc-stzh-card-superteaser{border-radius:var(--stzh-button-border-radius);cursor:pointer}.stzh-card-superteaser--has-link.sc-stzh-card-superteaser .stzh-card-superteaser__heading-link.sc-stzh-card-superteaser::before,.stzh-card-superteaser--has-link.sc-stzh-card-superteaser .stzh-card-superteaser__heading-link.sc-stzh-card-superteaser::after{content:"";display:block;position:absolute;top:0;left:0;width:100%;height:100%;transition:background-color var(--stzh-base-transition-animation-speed)}.stzh-card-superteaser--has-link.sc-stzh-card-superteaser .stzh-card-superteaser__heading-link.sc-stzh-card-superteaser::after{z-index:10}.stzh-card-superteaser--has-link.sc-stzh-card-superteaser:has(.stzh-card-superteaser__heading-link:hover) .stzh-card-superteaser__heading-link.sc-stzh-card-superteaser::before{background-color:var(--stzh-color-secondary10)}.stzh-card-superteaser--has-link.sc-stzh-card-superteaser:has(.stzh-card-superteaser__heading-link:hover) .stzh-card-superteaser__tag.sc-stzh-card-superteaser{--color:var(--stzh-color-secondary60)}.stzh-card-superteaser--has-tag.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-top:var(--stzh-space-xxxlarge)}.stzh-card-superteaser--has-service.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-top:var(--stzh-space-xxxxlarge)}.stzh-card-superteaser--has-service.stzh-card-superteaser--has-image-right.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-top:var(--stzh-space-xxxlarge)}.stzh-card-superteaser--has-image.sc-stzh-card-superteaser .stzh-card-superteaser__image.sc-stzh-card-superteaser{z-index:1;position:relative}.stzh-card-superteaser--has-image-default.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-top:var(--stzh-space-medium)}.stzh-card-superteaser--has-image-right.sc-stzh-card-superteaser .stzh-card-superteaser__image.sc-stzh-card-superteaser{margin-bottom:var(--stzh-space-large);padding-right:var(--stzh-space-medium)}.stzh-card-superteaser--has-image-right.sc-stzh-card-superteaser .stzh-card-superteaser__meta-wrapper.sc-stzh-card-superteaser{margin-right:var(--stzh-space-xsmall)}.stzh-card-superteaser--has-image-right.sc-stzh-card-superteaser .stzh-card-superteaser__service.sc-stzh-card-superteaser{position:static}.stzh-card-superteaser--has-description-wrapper.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser,.stzh-card-superteaser--has-meta.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser,.stzh-card-superteaser--has-download.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-bottom:0px}.stzh-card-superteaser--has-meta.sc-stzh-card-superteaser .stzh-card-superteaser__description-wrapper.sc-stzh-card-superteaser,.stzh-card-superteaser--has-download.sc-stzh-card-superteaser .stzh-card-superteaser__description-wrapper.sc-stzh-card-superteaser{margin-bottom:0px}.stzh-card-superteaser--has-meta.sc-stzh-card-superteaser .stzh-card-superteaser__description.sc-stzh-card-superteaser:not(:empty),.stzh-card-superteaser--has-download.sc-stzh-card-superteaser .stzh-card-superteaser__description.sc-stzh-card-superteaser:not(:empty){margin-bottom:var(--stzh-space-small)}.stzh-card-superteaser--has-download.sc-stzh-card-superteaser .stzh-card-superteaser__meta.sc-stzh-card-superteaser{margin-bottom:var(--stzh-space-xsmall)}.stzh-card-superteaser--hyphens.sc-stzh-card-superteaser .stzh-card-superteaser__heading.sc-stzh-card-superteaser{hyphens:auto}.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser .stzh-card-superteaser__event-date-teaser.sc-stzh-card-superteaser,.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser-s>[slot=image],.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event .sc-stzh-card-superteaser-s>[slot=image],.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser-s>stzh-ratio,.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event .sc-stzh-card-superteaser-s>stzh-ratio{display:none}.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser .stzh-card-superteaser__heading-wrapper.sc-stzh-card-superteaser{margin-top:var(--stzh-space-xxxlarge)}.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser .stzh-card-superteaser__event-date.sc-stzh-card-superteaser{font-family:var(--stzh-font-family-title);font-weight:var(--stzh-font-weight-title);font-style:var(--stzh-font-style-title);color:var(--stzh-color-primary);margin-bottom:var(--stzh-space-xsmall)}.stzh-card-superteaser--is-on-homepage.stzh-card-superteaser--is-event.sc-stzh-card-superteaser .stzh-card-superteaser__event-date.sc-stzh-card-superteaser span.sc-stzh-card-superteaser{display:block}';const n=d;const p=class{constructor(t){e(this,t);this.stzhClick=s(this,"stzhClick",7);this.handleCardClick=e=>{this.stzhClick.emit({component:"stzh-card-superteaser",originalEvent:e,href:this.href})};this.localization=undefined;this.href=undefined;this.target=undefined;this.download=undefined;this.analyticsId=undefined;this.heading="";this.headingLevel="3";this.description="";this.tag=undefined;this.topic=undefined;this.service=undefined;this.dateline=undefined;this.meta=undefined;this.breadcrumbItems=undefined;this.datalistItems=[];this.eventDateStart=undefined;this.eventDateEnd=undefined;this.eventLocation=undefined;this.placeholderImageEnabled=false;this.isOnHomepage=false;this.imagePosition="default";this.downloadHeading=undefined;this.downloadMeta=undefined;this.dateAdapter=undefined;this.hyphensEnabled=false}metaWatcher(e){if(!e){this._meta=[]}else if(typeof e==="string"){try{this._meta=JSON.parse(e)}catch(e){this._meta=[]}}else{this._meta=e}}downloadMetaWatcher(e){if(!e){this._downloadMeta=[]}else if(typeof e==="string"){try{this._downloadMeta=JSON.parse(e)}catch(e){this._downloadMeta=[]}}else{this._downloadMeta=e}}hasProperStartAndOrEndDate(e,s){return!(!!e&&e.getHours()===0&&!s)}componentDidRender(){requestAnimationFrame((()=>{var e,s;const t=this.analyticsId||((e=this.headingTextElement)===null||e===void 0?void 0:e.innerText);if(t){(s=this.headingLinkElement)===null||s===void 0?void 0:s.setAttribute("s-object-id",t)}}))}async componentWillLoad(){this.metaWatcher(this.meta);this.downloadMetaWatcher(this.downloadMeta);if(!this.localization){this.localization=await window.stzhComponents.utils.fetchTranslations(this.element,"card-superteaser")}if(!this.dateAdapter){this.dateAdapter=window.stzhComponents.utils.createFormatParseAdapter(this.localization.$formats,this.localization.$globals)}}render(){const e=!!this.heading||i(this.element,"heading");const s=!!this.description||i(this.element,"description");const c=i(this.element,"image");const d=this.eventDateStart&&new Date(this.eventDateStart);const n=this.eventDateEnd&&new Date(this.eventDateEnd);if(d&&!c){this.placeholderImageEnabled=true}const p=c||this.placeholderImageEnabled;const o={"stzh-card-superteaser":true,"stzh-card-superteaser--has-heading":e,"stzh-card-superteaser--has-description":s,"stzh-card-superteaser--has-description-wrapper":s||!!d||!!this.eventLocation,"stzh-card-superteaser--has-link":!!this.href,"stzh-card-superteaser--has-service":!!this.service,"stzh-card-superteaser--has-tag":!!this.tag,"stzh-card-superteaser--has-topic":!!this.topic,"stzh-card-superteaser--has-image":p,"stzh-card-superteaser--has-image-default":p&&this.imagePosition==="default","stzh-card-superteaser--has-image-right":p&&this.imagePosition==="right","stzh-card-superteaser--has-meta":this._meta.length>0,"stzh-card-superteaser--has-download":!!this.downloadHeading||this._downloadMeta.length>0,"stzh-card-superteaser--has-breadcrumb":!!this.breadcrumbItems,"stzh-card-superteaser--is-on-homepage":this.isOnHomepage,"stzh-card-superteaser--is-event":!!d,"stzh-card-superteaser--hyphens":this.hyphensEnabled};const z=`h${this.headingLevel}`;const l=this.href?"a":"div";return t(a,{key:"f7aacb1329d5e041a54f224814e61915785ffb6f","has-image":p},t("article",{key:"2f3fdbb16412df3754b9c974db4f3dc94f2807de",class:o,"aria-label":this.heading,role:"listitem"},this.tag&&t("stzh-tag",{key:"db6031e12a5f2b3910d4790c17ca66c66bc47bcc",class:"stzh-card-superteaser__tag",label:this.tag,nonInteractive:true}),t("div",{key:"f821c58ea5d0a77e1a1cba55c659f57b5c8565a4",class:"stzh-card-superteaser__heading-wrapper"},this.breadcrumbItems&&t("stzh-breadcrumb",{key:"588c4ea20c02d55c2908bfe38c2fc59905e7e746",class:"stzh-card-superteaser__breadcrumb",items:this.breadcrumbItems,variant:"teaser"}),this.dateline&&t("div",{key:"6c1b91e801a0d52bf5b76b1e17217bfda0a7754a",class:"stzh-card-superteaser__dateline"},this.dateline),this.topic&&t("div",{key:"901ab6c06eb5a2126442287a664cc64fa1f6e29c",class:"stzh-card-superteaser__topic"},this.topic),t(z,{key:"cbd59efc635ffbd64eb4c2b9583efb5787f798e4",class:"stzh-card-superteaser__heading"},t(l,{key:"01a2dd5be76cae7d77842eef6e10ea63b9269ce3",ref:e=>this.headingLinkElement=e,class:"stzh-card-superteaser__heading-link",href:this.href,target:this.target,download:this.download,onClick:this.handleCardClick},this.heading?t("div",{class:"stzh-card-superteaser__heading-link-text",ref:e=>this.headingTextElement=e,innerHTML:this.heading}):t("div",{class:"stzh-card-superteaser__heading-link-text",ref:e=>this.headingTextElement=e},t("slot",{name:"heading"}))))),t("div",{key:"3e1a52b4ad3436a643cfb62151a524c36590280d",class:"stzh-card-superteaser__description-wrapper"},(d||this.eventLocation)&&t("div",{key:"b7609a73409b42f10cf8fc103f6b7d01b4ea69ba",class:"stzh-card-superteaser__event-infos"},d&&t("div",{key:"e0efd7731a0937f68398cec5f4926fc7f06bd5b3",class:"stzh-card-superteaser__event-date"},t("span",{key:"018fe5f9f894886ddde9a621f1e721b945ba7166"},this.dateAdapter.format(d,"dateLong")),this.hasProperStartAndOrEndDate(d,n)&&t("span",{key:"298f139f048a76d655b22fbdfb40933cf1703a2e"},!this.isOnHomepage&&t("span",{key:"6ba63829b10dec145b92898ec80d78931033fa0e"},", "),this.dateAdapter.formatSpan(d,n,"time"))),this.eventLocation&&t("div",{key:"8d94dab0b548b00f77692fd85c65ee52ebffae5f",class:"stzh-card-superteaser__event-location"},this.eventLocation)),t("div",{key:"f5b0ea203cd0ad32373b544ceec70aeae60ce040",class:"stzh-card-superteaser__description"},this.description?this.description:t("slot",{name:"description"}))),t("div",{key:"b2f257174d383577b2438b06ba72086770597b43",class:"stzh-card-superteaser__image"},d&&t("div",{key:"fba76fb2c2cba17dcb307f1acd677ec952680c5d",class:"stzh-card-superteaser__event-date-teaser"},t("div",{key:"3bf01fbfd180efd2d0b8c2daf7e1bc096d60881a",class:"stzh-card-superteaser__event-date-teaser-day-name"},this.localization.$globals.dayNamesShort[d.getDay()]),t("div",{key:"30c362e504bb9210a98860ee1b46e90ecdef4c9b",class:"stzh-card-superteaser__event-date-teaser-day"},d.getDate()<10&&"0",d.getDate()),t("div",{key:"6288e8b464904dd0fcdd7f674b0fdc33e1188078",class:"stzh-card-superteaser__event-date-teaser-month"},this.localization.$globals.monthNamesShort[d.getMonth()])),this.service&&t("div",{key:"feb925b6c3ab406ee6082fb0c40ffe5ca6aec483",class:"stzh-card-superteaser__service"},this.service),t("slot",{key:"f447e2b654de5d4f54a8b4938b6bb0b6ef2dc05d",name:"image"}),this.placeholderImageEnabled&&!c&&t("stzh-ratio",{key:"904d71b430d7064d7e76222c4707d8419b84e1eb",ratio:"2:1"},t("div",{key:"8da952462b3adbdda36b3dc8652eaee37b10e5b3",class:"stzh-card-superteaser__image-placeholder",innerHTML:h}))),(this._meta.length>0||this.datalistItems||!!this.downloadHeading||this._downloadMeta.length>0)&&t("div",{key:"993faa09c170668e955cc36cbc04764c970d2aec",class:"stzh-card-superteaser__meta-wrapper"},this.datalistItems&&t("stzh-datalist",{key:"c53d709b998fd82e73fc724b662f2a2e3b9b6d32",class:"stzh-card-searchresult__datalist",items:this.datalistItems}),this._meta.length>0&&t("div",{key:"7382518f59b66fd156a832ed1837027dbae10a10",class:"stzh-card-superteaser__meta"},t("div",{key:"8cdbf2092467a68e4fbd0d1e79763bdcfc3794e2",class:"stzh-card-superteaser__meta-list"},this._meta.map((e=>t(r,null,t("div",{class:"stzh-card-superteaser__meta-list-item"},e)))))),(!!this.downloadHeading||this._downloadMeta.length>0)&&t("div",{key:"822582a69c3a848ffa1053b18864749dc60ff954",class:"stzh-card-superteaser__download"},t("div",{key:"febc547f88cac507366efead463b381898cc282a",class:"stzh-card-superteaser__download-data"},this.downloadHeading&&t("div",{key:"1fb7cddb452b67a648a9b52ad09a26b7652dffa4",class:"stzh-card-superteaser__download-heading"},this.downloadHeading),this._downloadMeta.length>0&&t("div",{key:"f4917fa26bcaf48ea3ba03a3de58abdfbb161854",class:"stzh-card-superteaser__download-meta-list"},this._downloadMeta.map((e=>t(r,null,t("div",{class:"stzh-card-superteaser__download-meta-list-item"},e)))))),t("div",{key:"c82fe237e906754277671e28a1afd9db9c143087",class:"stzh-card-superteaser__download-button"},t("stzh-icon",{key:"98dad903724258344af899a2495a04da57b62e25",class:"stzh-card-superteaser__download-icon",name:"download"}))))))}get element(){return c(this)}static get watchers(){return{meta:["metaWatcher"],downloadMeta:["downloadMetaWatcher"]}}};p.style=n;export{p as stzh_card_superteaser};
|
|
2
|
-
//# sourceMappingURL=p-1784d8e9.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["stzhCardSuperteaserCss","StzhCardSuperteaserStyle0","StzhCardSuperteaser","this","handleCardClick","originalEvent","stzhClick","emit","component","href","metaWatcher","newValue","_meta","JSON","parse","e","downloadMetaWatcher","_downloadMeta","hasProperStartAndOrEndDate","startDate","endDate","getHours","componentDidRender","requestAnimationFrame","objectId","analyticsId","_a","headingTextElement","innerText","_b","headingLinkElement","setAttribute","componentWillLoad","meta","downloadMeta","localization","window","stzhComponents","utils","fetchTranslations","element","dateAdapter","createFormatParseAdapter","$formats","$globals","render","hasHeading","heading","hasSlot","hasDescription","description","hasImageSlot","eventDateStart","Date","eventDateEnd","placeholderImageEnabled","hasImage","classes","eventLocation","service","tag","topic","imagePosition","length","downloadHeading","breadcrumbItems","isOnHomepage","hyphensEnabled","Heading","headingLevel","HeadingLink","h","Host","key","class","role","label","nonInteractive","items","variant","dateline","ref","el","target","download","onClick","innerHTML","name","format","formatSpan","dayNamesShort","getDay","getDate","monthNamesShort","getMonth","ratio","PlaceholderImage","datalistItems","map","Fragment"],"sources":["src/components/CMS/stzh-card-superteaser/stzh-card-superteaser.scss?tag=stzh-card-superteaser&encapsulation=scoped","src/components/CMS/stzh-card-superteaser/stzh-card-superteaser.tsx"],"sourcesContent":["/**\n * @prop --placeholder-image-color: color of placeholder image (svg)\n */\n:host {\n --service-background-color: #{$colorSecondary30};\n --service-color: #{$colorPrimary70};\n --placeholder-image-color: #{$colorGrey30};\n\n --grid-template-areas: \"heading\" \"description\" \"meta\";\n --grid-template-rows: repeat(2, auto) minmax(0, 1fr);\n --grid-template-columns: minmax(0, 1fr);\n\n display: grid;\n\n ::slotted(img) {\n width: 100%;\n max-width: 100%;\n }\n\n &[has-image] {\n --grid-template-areas: \"image\" \"heading\" \"description\" \"meta\";\n --grid-template-rows: repeat(3, auto) minmax(0, 1fr);\n --grid-template-columns: minmax(0, 1fr);\n }\n\n &[has-image][image-position=\"right\"] {\n --grid-template-areas: \"heading heading\" \"description description\" \"meta image\";\n --grid-template-rows: repeat(2, auto) minmax(0, 1fr);\n --grid-template-columns: minmax(0, 1fr) minmax(calc(100px + #{space('medium')}), min-content);\n }\n}\n\n.stzh-card-superteaser {\n @include fontSize('milli');\n position: relative;\n display: grid;\n background-color: $colorGrey10;\n grid-template-areas: var(--grid-template-areas);\n grid-template-rows: var(--grid-template-rows);\n grid-template-columns: var(--grid-template-columns);\n color: $colorGrey80;\n\n &__tag,\n &__dateline,\n &__breadcrumb,\n &__event-infos,\n &__heading-link-text,\n &__description,\n &__meta-wrapper {\n z-index: 1;\n position: relative;\n }\n\n &__heading-wrapper,\n &--has-description-wrapper &__description-wrapper,\n &__meta-wrapper {\n margin-left: space('medium');\n margin-right: space('medium');\n margin-bottom: space('large');\n }\n\n &__heading-wrapper {\n grid-area: heading;\n display: grid;\n margin-top: space('xlarge');\n }\n\n &__image,\n &__meta-wrapper {\n align-self: end;\n }\n\n &__image {\n display: grid;\n grid-area: image;\n width: 100%;\n }\n\n &__image-placeholder {\n /* Apply color since the placeholder svg has fill \"currentColor\" */\n color: var(--placeholder-image-color);\n }\n\n &__description-wrapper {\n grid-area: description;\n }\n\n &__meta-wrapper {\n grid-area: meta;\n }\n\n &__meta {\n overflow: hidden;\n }\n\n &__download {\n display: flex;\n justify-content: space-between;\n align-items: center;\n gap: space('xsmall');\n overflow: hidden;\n }\n\n &__download-button {\n align-self: flex-end;\n display: flex;\n justify-content: center;\n align-items: center;\n width: $formInputHeightSmall;\n height: $formInputHeightSmall;\n color: $colorPrimary70;\n }\n\n // &__download-heading {\n // color: $colorPrimary70;\n // text-underline-offset: $linkTextUnderlineOffset;\n // text-decoration-line: $linkTextDecorationLine;\n // text-decoration-thickness: $linkTextDecorationThickness;\n // text-decoration-skip-ink: $linkTextDecorationSkipInk;\n // }\n\n &__tag,\n &__topic,\n &__service,\n &__event-date-teaser {\n z-index: 2;\n }\n\n &__tag {\n position: absolute;\n left: 0;\n top: 0;\n }\n\n &__service {\n @include font('title');\n @include fontSize('micro');\n position: absolute;\n top: 0;\n right: 0;\n background-color: var(--service-background-color);\n color: var(--service-color);\n padding: space('xsmall') space('medium');\n text-align: center;\n }\n\n &__topic {\n @include font('title');\n @include fontSize('micro');\n position: relative;\n color: $colorPrimary70;\n margin-bottom: space('xsmall');\n }\n\n &__dateline {\n @include fontSize('micro');\n color: $colorBlack;\n margin-bottom: space('xxsmall');\n }\n\n &__heading {\n margin-top: 0px;\n margin-bottom: space('small');\n }\n\n &__heading-link {\n @include font('title');\n @include fontCurve('teaser');\n display: block;\n color: $colorPrimary70;\n text-decoration-line: none;\n }\n\n &__event-infos {\n @include fontSize('micro');\n }\n\n &:has(#{&}__description:not(:empty)) &__event-infos {\n margin-bottom: space('small');\n }\n\n &__description {\n &:empty {\n display: none;\n }\n }\n\n &__breadcrumb {\n margin-bottom: space('small');\n }\n\n &__event-date-teaser {\n @include fontSize('nano');\n text-transform: uppercase;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n width: 88px;\n height: 88px;\n color: $colorBlack;\n background-color: $colorSecondary30;\n position: absolute;\n top: 0;\n right: 0;\n }\n\n &__event-date-teaser-day {\n @include font('title');\n @include fontSize('hecto');\n color: $colorPrimary70;\n margin-top: -7px;\n margin-bottom: -7px;\n }\n\n &__meta-list,\n &__download-meta-list {\n @include fontSize('micro');\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n column-gap: space('xsmall');\n margin-left: calc((#{space('xsmall')} + 1px) / -1);\n }\n\n &__meta-list-item,\n &__download-meta-list-item {\n display: flex;\n align-items: center;\n min-height: 24px;\n gap: space('xsmall');\n\n &::before {\n content: '';\n display: block;\n width: 1px;\n height: 16px;\n background-color: currentColor;\n }\n }\n\n /* Has link */\n\n &--has-link &__heading-link {\n border-radius: $buttonBorderRadius;\n cursor: pointer;\n\n &::before,\n &::after {\n content: '';\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n transition: background-color $baseTransitionAnimationSpeed;\n }\n\n &::after {\n z-index: 10;\n }\n }\n\n &--has-link:has(#{&}__heading-link:hover) &__heading-link {\n &::before {\n background-color: $colorSecondary10;\n }\n }\n\n &--has-link:has(#{&}__heading-link:hover) &__tag {\n --color: #{$colorSecondary60};\n }\n\n /* Has tag */\n\n &--has-tag &__heading-wrapper {\n margin-top: space('xxxlarge');\n }\n\n /* Has service */\n\n &--has-service &__heading-wrapper {\n margin-top: space('xxxxlarge');\n }\n\n &--has-service#{&}--has-image-right &__heading-wrapper {\n margin-top: space('xxxlarge');\n }\n\n /* Has image (default) */\n\n &--has-image &__image {\n z-index: 1;\n position: relative;\n }\n\n &--has-image-default &__heading-wrapper {\n margin-top: space('medium');\n }\n\n /* Has image right */\n\n &--has-image-right &__image {\n margin-bottom: space('large');\n padding-right: space('medium');\n }\n\n &--has-image-right &__meta-wrapper {\n margin-right: space('xsmall');\n }\n\n &--has-image-right &__service {\n position: static;\n }\n\n /* Has description wrapper, meta or download */\n\n &--has-description-wrapper &__heading-wrapper,\n &--has-meta &__heading-wrapper,\n &--has-download &__heading-wrapper {\n margin-bottom: 0px;\n }\n\n &--has-meta &__description-wrapper,\n &--has-download &__description-wrapper {\n margin-bottom: 0px;\n }\n\n &--has-meta &__description,\n &--has-download &__description {\n &:not(:empty) {\n margin-bottom: space('small');\n }\n }\n\n &--has-download &__meta {\n margin-bottom: space('xsmall');\n }\n\n /* Hyphens */\n &--hyphens &__heading {\n hyphens: auto;\n }\n\n /* Is on Homepage */\n &--is-on-homepage#{&}--is-event &__event-date-teaser,\n &--is-on-homepage#{&}--is-event ::slotted([slot=\"image\"]),\n &--is-on-homepage#{&}--is-event ::slotted(stzh-ratio) {\n display: none;\n }\n\n &--is-on-homepage#{&}--is-event &__heading-wrapper {\n margin-top: space('xxxlarge');\n }\n\n &--is-on-homepage#{&}--is-event &__event-date {\n @include font('title');\n color: var(--stzh-color-primary);\n margin-bottom: space('xsmall');\n }\n\n &--is-on-homepage#{&}--is-event &__event-date span {\n display: block;\n }\n}\n","import { Component, Element, Event, EventEmitter, Fragment, h, Host, Prop, Watch } from '@stencil/core';\n\nimport { StzhBreadcrumbItem, StzhCardSuperteaserClickEvent, StzhDatalistItemEntry, StzhLocaleAdapter } from '../../../index';\n\nimport { hasSlot } from '../../../utils/utils';\n\nimport { StzhCardSuperteaserLocalizedText } from './stzh-card-superteaser.localization';\n\nimport PlaceholderImage from './assets/placeholder-image.svg';\n\n/**\n * @slot heading - Heading text (alternative for heading property)\n * @slot description - Description text (alternative for description property)\n * @slot image - Image\n */\n@Component({\n tag: 'stzh-card-superteaser',\n styleUrl: 'stzh-card-superteaser.scss',\n scoped: true,\n})\nexport class StzhCardSuperteaser {\n /** Translation strings */\n @Prop() localization: StzhCardSuperteaserLocalizedText;\n\n /** Href of card */\n @Prop({ reflect: true }) href: string;\n\n /** target if the button is used as link (if href used) */\n @Prop() target: string;\n\n /** Download attribute (if href is used) */\n @Prop() download: string;\n\n /**\n * For Adobe Analytics.\n * Will be rendered as value of `s-object-id` attribute to the link elements.\n * Default value will be taken from `heading` prop/slot.\n */\n @Prop() analyticsId: string;\n\n /** Heading (alternative for heading slot) */\n @Prop() heading: string = '';\n\n /** Heading level */\n @Prop() headingLevel: '1' | '2' | '3' | '4' = '3';\n\n /** Description text (alternative for description slot) */\n @Prop() description: string = '';\n\n /** Tag */\n @Prop() tag: string;\n\n /** Topic */\n @Prop() topic: string;\n\n /** Service */\n @Prop() service: string;\n\n /** Dateline */\n @Prop() dateline: string;\n\n /** Meta */\n @Prop() meta: string[] | string;\n private _meta: string[];\n\n /** Breadcrumb items */\n @Prop() breadcrumbItems: StzhBreadcrumbItem[] | string;\n\n /** Datalist items */\n @Prop() datalistItems: StzhDatalistItemEntry[] | string = [];\n\n /** Event start date */\n @Prop() eventDateStart: Date | string;\n\n /** Event start date */\n @Prop() eventDateEnd: Date | string;\n\n /** Event location */\n @Prop() eventLocation: string;\n\n /** Enable placeholder image if image slot not used */\n @Prop() placeholderImageEnabled: boolean = false;\n\n /** Enable if superteaser is on homepage. This will change some stylings. */\n @Prop() isOnHomepage: boolean = false;\n\n /** Image position */\n @Prop({ reflect: true }) imagePosition: 'default' | 'right' = 'default';\n\n /** Download heading */\n @Prop() downloadHeading: string;\n\n /** Download meta */\n @Prop() downloadMeta: string[] | string;\n private _downloadMeta: string[];\n\n /**\n * Date adapter, for custom parsing/formatting.\n * Must be object with a `parse` function which accepts a `string` and returns a `Date`,\n * and a `format` function which accepts a `Date` and returns a `string`.\n */\n @Prop() dateAdapter: StzhLocaleAdapter;\n\n /** Automatic Hyphens */\n @Prop({ reflect: true }) hyphensEnabled: boolean = false;\n\n @Element() element: HTMLStzhListElement;\n\n /** Click event (if href is used) */\n @Event() stzhClick: EventEmitter<StzhCardSuperteaserClickEvent>;\n\n @Watch('meta')\n metaWatcher(newValue: string | string[]) {\n if (!newValue) {\n this._meta = [];\n } else if (typeof newValue === 'string') {\n try {\n this._meta = JSON.parse(newValue);\n } catch (e) {\n this._meta = [];\n }\n } else {\n this._meta = newValue;\n }\n }\n\n @Watch('downloadMeta')\n downloadMetaWatcher(newValue: string | string[]) {\n if (!newValue) {\n this._downloadMeta = [];\n } else if (typeof newValue === 'string') {\n try {\n this._downloadMeta = JSON.parse(newValue);\n } catch (e) {\n this._downloadMeta = [];\n }\n } else {\n this._downloadMeta = newValue;\n }\n }\n\n private headingLinkElement: HTMLAnchorElement | HTMLDivElement;\n private headingTextElement: HTMLDivElement;\n\n private handleCardClick = (originalEvent: MouseEvent) => {\n this.stzhClick.emit({\n component: 'stzh-card-superteaser',\n originalEvent,\n href: this.href,\n });\n };\n\n private hasProperStartAndOrEndDate(startDate: Date | undefined, endDate: Date | undefined) {\n return !(!!startDate && startDate.getHours() === 0 && !endDate);\n }\n\n componentDidRender() {\n requestAnimationFrame(() => {\n const objectId = this.analyticsId || this.headingTextElement?.innerText;\n\n if (objectId) {\n this.headingLinkElement?.setAttribute('s-object-id', objectId);\n }\n });\n }\n\n async componentWillLoad() {\n this.metaWatcher(this.meta);\n this.downloadMetaWatcher(this.downloadMeta);\n\n if (!this.localization) {\n this.localization = await window.stzhComponents.utils.fetchTranslations(this.element, 'card-superteaser');\n }\n\n if (!this.dateAdapter) {\n this.dateAdapter = window.stzhComponents.utils.createFormatParseAdapter(\n this.localization.$formats,\n this.localization.$globals,\n );\n }\n }\n\n render() {\n const hasHeading = !!this.heading || hasSlot(this.element, 'heading');\n const hasDescription = !!this.description || hasSlot(this.element, 'description');\n const hasImageSlot = hasSlot(this.element, 'image');\n\n const eventDateStart = this.eventDateStart && new Date(this.eventDateStart);\n const eventDateEnd = this.eventDateEnd && new Date(this.eventDateEnd);\n if (eventDateStart && !hasImageSlot) {\n this.placeholderImageEnabled = true;\n }\n\n const hasImage = hasImageSlot || this.placeholderImageEnabled;\n\n const classes = {\n 'stzh-card-superteaser': true,\n 'stzh-card-superteaser--has-heading': hasHeading,\n 'stzh-card-superteaser--has-description': hasDescription,\n 'stzh-card-superteaser--has-description-wrapper': hasDescription || !!eventDateStart || !!this.eventLocation,\n 'stzh-card-superteaser--has-link': !!this.href,\n 'stzh-card-superteaser--has-service': !!this.service,\n 'stzh-card-superteaser--has-tag': !!this.tag,\n 'stzh-card-superteaser--has-topic': !!this.topic,\n 'stzh-card-superteaser--has-image': hasImage,\n 'stzh-card-superteaser--has-image-default': hasImage && this.imagePosition === 'default',\n 'stzh-card-superteaser--has-image-right': hasImage && this.imagePosition === 'right',\n 'stzh-card-superteaser--has-meta': this._meta.length > 0,\n 'stzh-card-superteaser--has-download': !!this.downloadHeading || this._downloadMeta.length > 0,\n 'stzh-card-superteaser--has-breadcrumb': !!this.breadcrumbItems,\n 'stzh-card-superteaser--is-on-homepage': this.isOnHomepage,\n 'stzh-card-superteaser--is-event': !!eventDateStart,\n 'stzh-card-superteaser--hyphens': this.hyphensEnabled,\n };\n\n const Heading = `h${this.headingLevel}`;\n const HeadingLink = this.href ? 'a' : 'div';\n\n return (\n <Host has-image={hasImage}>\n <article class={classes} aria-label={this.heading} role=\"listitem\">\n {this.tag && <stzh-tag class=\"stzh-card-superteaser__tag\" label={this.tag} nonInteractive={true}></stzh-tag>}\n\n <div class=\"stzh-card-superteaser__heading-wrapper\">\n {this.breadcrumbItems && (\n <stzh-breadcrumb\n class=\"stzh-card-superteaser__breadcrumb\"\n items={this.breadcrumbItems}\n variant=\"teaser\"\n ></stzh-breadcrumb>\n )}\n\n {this.dateline && <div class=\"stzh-card-superteaser__dateline\">{this.dateline}</div>}\n\n {this.topic && <div class=\"stzh-card-superteaser__topic\">{this.topic}</div>}\n\n <Heading class=\"stzh-card-superteaser__heading\">\n <HeadingLink\n ref={el => (this.headingLinkElement = el as HTMLAnchorElement | HTMLDivElement)}\n class=\"stzh-card-superteaser__heading-link\"\n href={this.href}\n target={this.target}\n download={this.download}\n onClick={this.handleCardClick}\n >\n {this.heading ? (\n <div\n class=\"stzh-card-superteaser__heading-link-text\"\n ref={el => (this.headingTextElement = el as HTMLDivElement)}\n innerHTML={this.heading}\n >\n </div>\n ) : (\n <div\n class=\"stzh-card-superteaser__heading-link-text\"\n ref={el => (this.headingTextElement = el as HTMLDivElement)}\n >\n <slot name=\"heading\"></slot>\n </div>\n )}\n </HeadingLink>\n </Heading>\n </div>\n\n <div class=\"stzh-card-superteaser__description-wrapper\">\n {(eventDateStart || this.eventLocation) && (\n <div class=\"stzh-card-superteaser__event-infos\">\n {eventDateStart && (\n <div class=\"stzh-card-superteaser__event-date\">\n <span>{this.dateAdapter.format(eventDateStart, 'dateLong')}</span>\n {this.hasProperStartAndOrEndDate(eventDateStart, eventDateEnd) && (\n <span>\n {!this.isOnHomepage && <span>, </span>}\n {this.dateAdapter.formatSpan(eventDateStart, eventDateEnd, 'time')}\n </span>\n )}\n </div>\n )}\n {this.eventLocation && <div class=\"stzh-card-superteaser__event-location\">{this.eventLocation}</div>}\n </div>\n )}\n\n <div class=\"stzh-card-superteaser__description\">\n {this.description ? this.description : <slot name=\"description\"></slot>}\n </div>\n </div>\n\n <div class=\"stzh-card-superteaser__image\">\n {eventDateStart && (\n <div class=\"stzh-card-superteaser__event-date-teaser\">\n <div class=\"stzh-card-superteaser__event-date-teaser-day-name\">\n {this.localization.$globals.dayNamesShort[eventDateStart.getDay()]}\n </div>\n <div class=\"stzh-card-superteaser__event-date-teaser-day\">\n {eventDateStart.getDate() < 10 && '0'}\n {eventDateStart.getDate()}\n </div>\n <div class=\"stzh-card-superteaser__event-date-teaser-month\">\n {this.localization.$globals.monthNamesShort[eventDateStart.getMonth()]}\n </div>\n </div>\n )}\n {this.service && <div class=\"stzh-card-superteaser__service\">{this.service}</div>}\n <slot name=\"image\"></slot>\n {this.placeholderImageEnabled && !hasImageSlot && (\n <stzh-ratio ratio=\"2:1\">\n <div class=\"stzh-card-superteaser__image-placeholder\" innerHTML={PlaceholderImage}></div>\n </stzh-ratio>\n )}\n </div>\n\n {(this._meta.length > 0 || this.datalistItems || !!this.downloadHeading || this._downloadMeta.length > 0) && (\n <div class=\"stzh-card-superteaser__meta-wrapper\">\n {this.datalistItems && (\n <stzh-datalist class=\"stzh-card-searchresult__datalist\" items={this.datalistItems}></stzh-datalist>\n )}\n\n {this._meta.length > 0 && (\n <div class=\"stzh-card-superteaser__meta\">\n <div class=\"stzh-card-superteaser__meta-list\">\n {this._meta.map(meta => (\n <Fragment>\n <div class=\"stzh-card-superteaser__meta-list-item\">{meta}</div>\n </Fragment>\n ))}\n </div>\n </div>\n )}\n\n {(!!this.downloadHeading || this._downloadMeta.length > 0) && (\n <div class=\"stzh-card-superteaser__download\">\n <div class=\"stzh-card-superteaser__download-data\">\n {this.downloadHeading && (\n <div class=\"stzh-card-superteaser__download-heading\">{this.downloadHeading}</div>\n )}\n {this._downloadMeta.length > 0 && (\n <div class=\"stzh-card-superteaser__download-meta-list\">\n {this._downloadMeta.map(meta => (\n <Fragment>\n <div class=\"stzh-card-superteaser__download-meta-list-item\">{meta}</div>\n </Fragment>\n ))}\n </div>\n )}\n </div>\n\n <div class=\"stzh-card-superteaser__download-button\">\n <stzh-icon class=\"stzh-card-superteaser__download-icon\" name=\"download\"></stzh-icon>\n </div>\n </div>\n )}\n </div>\n )}\n </article>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
const t="@oiz/stzh-components";const n="4.1.0";const o=t.substring(t.indexOf("/")+1);const e=t=>{const n=document.querySelector("[autofocus]");if(window.stzhComponents.fixAutofocus&&!document.location.hash&&n&&t.detail.namespace===o&&n.tagName.toLowerCase().indexOf("stzh-")===0&&"focus"in n){n.focus()}else if(window.stzhComponents.fixHashfocus&&document.location.hash){const t=document.querySelector(document.location.hash);if(t){t.scrollIntoView()}}};function s(){window.addEventListener("appload",e)}function i(){const t={threshold:1};const n=t=>{t.forEach((t=>{let n=0;if(t.intersectionRatio<1){n=window.innerWidth-document.documentElement.clientWidth}document.documentElement.style.setProperty("--stzh-scrollbar-width",n+"px");document.documentElement.style.setProperty("--stzh-scrollbar-active",n>0?"1":"0")}))};const o=new IntersectionObserver(n,t);o.observe(document.body)}function a(t,n="datetime"){if(!window.stzhComponents.translations){console.log("Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`");return}const{$formats:o,$globals:e}=window.stzhComponents.translations;const s=f(o,e);return s.format(t,n)}function r(t,n="datetime"){if(!window.stzhComponents.translations){console.log("Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`");return}const{$formats:o,$globals:e}=window.stzhComponents.translations;const s=f(o,e);return s.parse(t,n)}function c(t,n,o="datetime"){if(!window.stzhComponents.translations){console.log("Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`");return}const{$formats:e,$globals:s}=window.stzhComponents.translations;const i=f(e,s);return i.formatSpan(t,n,o)}function l(t,n="datetime"){if(!window.stzhComponents.translations){console.log("Translations not loaded yet, check for Promise `window.stzhComponents.translationsLoading`");return}const{$formats:o,$globals:e}=window.stzhComponents.translations;const s=f(o,e);return s.parseSpan(t,n)}function f(t,n){const o=function(t,o){if(!o||!(o instanceof Date)||isNaN(o.getTime())){return""}let e=o.getDate().toString(10);let s=e;let i=(o.getMonth()+1).toString(10);let a=i;let r=o.getFullYear().toString(10);let c=o.getHours().toString(10);let l=c;let f=o.getMinutes().toString(10);let u=n.monthNames[o.getMonth()];let d=n.monthNamesShort[o.getMonth()];let w=n.dayNames[o.getDay()];let m=n.dayNamesShort[o.getDay()];if(o.getMonth()<9){a=`0${a}`}if(o.getDate()<10){s=`0${s}`}if(o.getHours()<10){l=`0${l}`}if(o.getMinutes()<10){f=`0${f}`}return t.replace(/\{j\}/g,e).replace(/\{d\}/g,s).replace(/\{D\}/g,m).replace(/\{l\}/g,w).replace(/\{n\}/g,i).replace(/\{m\}/g,a).replace(/\{F\}/g,u).replace(/\{M\}/g,d).replace(/\{Y\}/g,r).replace(/\{H\}/g,l).replace(/\{G\}/g,c).replace(/\{i\}/g,f)};const e=function(t,n){if(!n){return}const o=new RegExp(t);const e=n.match(o);if(e){const{groups:t}=e;const n=parseInt(t.Y||"",10);const o=parseInt(t.n||t.m||"",10);const s=parseInt(t.j||t.d||"",10);const i=parseInt(t.G||t.H||"",10);const a=parseInt(t.i||"",10);if(!isNaN(n)&&(n<1e3||n>9999)){return}if(!isNaN(o)&&(o<1||o>12)){return}if(!isNaN(s)&&(s<1||s>31)){return}if(!isNaN(i)&&(i<0||i>23)){return}if(!isNaN(a)&&(a<0||a>59)){return}const r=new Date(!isNaN(n)?n:null,!isNaN(o)?o-1:null,!isNaN(s)?s:null,!isNaN(i)?i:null,!isNaN(a)?a:null);if(r.getMonth()+1!==o){return}return r}};const s={format:function(n,e="datetime"){const s={...t[e],...window.stzhComponents?.formats[e]||{}};if(typeof s.format==="string"){return o(s.format,n)}else{return s.format(n)}},parse:function(n,o="datetime"){const s={...t[o],...window.stzhComponents?.formats[o]||{}};if(typeof s.parse==="string"){return e(s.parse,n)}else{return s.parse(n)}},formatSpan:function(t,o,e="datetime"){let s=t;let i=o;if(t instanceof Date&&!isNaN(t.getTime())){s=this.format(t,e)}if(o instanceof Date&&!isNaN(o.getTime())){i=this.format(o,e)}let a=n.dateRange;if(e.startsWith("time")){a=n.timeRange}return s+(i&&(!(i instanceof Date)||i instanceof Date&&!isNaN(t.getTime()))?a+i:"")},parseSpan:function(t,o){let e=n.dateRange;if(o.startsWith("time")){e=n.timeRange}const s=t.split(e);const i=this.parse(s[0],o);const a=this.parse(s[1],o);return[i,a,e]}};return s}function u(t){const n=t.closest("[lang]");const o=n&&n.lang.split("-")[0];if(window.stzhComponents.supportedLocales.indexOf(o)===-1||!o){return window.stzhComponents.defaultLocale}else{return o}}async function d(t,n){const o=u(t);const e=JSON.parse(sessionStorage.getItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${o}`));if(window.stzhComponents.cacheTranslations&&e&&Object.keys(e).length>0){return{...e[n]||{},$globals:e.$globals,$locale:e.$code,$formats:e.$formats,$formatsIso:e.$formatsIso,$formatsLegacy:e.$formatsLegacy}}try{const t=await fetch(`${window.stzhComponents.pathTranslations}/${o}.json`);if(t.ok){const e=await t.json();sessionStorage.setItem(`stzhComponents.v${window.stzhComponents.version}.i18n.${o}`,JSON.stringify(e));return{...e[n]||{},$globals:e.$globals,$locale:e.$code,$formats:e.$formats,$formatsIso:e.$formatsIso,$formatsLegacy:e.$formatsLegacy}}}catch(t){console.error(`Error loading locale: ${o}`,t)}}const w=Object.freeze({__proto__:null,format:a,parse:r,formatSpan:c,parseSpan:l,createFormatParseAdapter:f,getLocale:u,fetchTranslations:d});function m(){window.stzhComponents=Object.assign(Object.assign({defaultLocale:"de",pathMedia:"/",pathTranslations:"/",cacheTranslations:true,formats:{},translations:null,fixAutofocus:true,fixHashfocus:true},window.stzhComponents||{}),{version:n,supportedLocales:["de","en"],utils:w});if(window.stzhComponents.translations===null){window.stzhComponents.translationsLoading=d(document.documentElement).then((t=>{window.stzhComponents.translations=t})).catch((t=>{console.error("Translations couldn't load:",t)}))}s();i()}const g=m;export{g};
|
|
2
|
-
//# sourceMappingURL=p-19d6b43e.js.map
|