@swisspost/internet-header 1.8.3 → 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index-87874f19.js +50 -1
- package/dist/cjs/{klp-widget.controller-d86525e1.js → klp-widget.controller-7908f551.js} +39 -27
- package/dist/cjs/klp-widget.controller-7908f551.js.map +1 -0
- package/dist/cjs/{language.service-516d1809.js → language.service-9334ca5d.js} +7 -2
- package/dist/cjs/language.service-9334ca5d.js.map +1 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/post-klp-login-widget.cjs.entry.js +3 -3
- package/dist/cjs/post-klp-login-widget.cjs.entry.js.map +1 -1
- package/dist/cjs/post-language-switch.cjs.entry.js +3 -3
- package/dist/cjs/post-language-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/post-logo.cjs.entry.js +2 -29
- package/dist/cjs/post-logo.cjs.entry.js.map +1 -1
- package/dist/cjs/post-main-navigation.cjs.entry.js +3 -3
- package/dist/cjs/post-main-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-meta-navigation.cjs.entry.js +2 -2
- package/dist/cjs/post-meta-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/post-search.cjs.entry.js +2 -2
- package/dist/cjs/post-search.cjs.entry.js.map +1 -1
- package/dist/cjs/post-skiplinks.cjs.entry.js +2 -2
- package/dist/cjs/{store-915e0360.js → store-b99affc1.js} +2 -1
- package/dist/cjs/store-b99affc1.js.map +1 -0
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js +3 -3
- package/dist/cjs/swisspost-internet-breadcrumbs.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js +20 -5
- package/dist/cjs/swisspost-internet-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.entry.js +75 -22
- package/dist/cjs/swisspost-internet-header.cjs.entry.js.map +1 -1
- package/dist/cjs/swisspost-internet-header.cjs.js +1 -1
- package/dist/collection/assets/config/test-configuration.json +12 -12
- package/dist/collection/assets/i18n/translations.js +5 -0
- package/dist/collection/assets/i18n/translations.js.map +1 -1
- package/dist/collection/assets/js/klp-login-widget.js +8 -8
- package/dist/collection/components/post-internet-breadcrumbs/post-internet-breadcrumbs.css +61 -126
- package/dist/collection/components/post-internet-footer/post-internet-footer.css +26 -22
- package/dist/collection/components/post-internet-footer/post-internet-footer.js +20 -4
- package/dist/collection/components/post-internet-footer/post-internet-footer.js.map +1 -1
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js +46 -0
- package/dist/collection/components/post-internet-header/logo-animation/logo-animation.js.map +1 -0
- package/dist/collection/components/post-internet-header/post-internet-header.css +27 -2
- package/dist/collection/components/post-internet-header/post-internet-header.js +13 -1
- package/dist/collection/components/post-internet-header/post-internet-header.js.map +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.css +23 -22
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js +1 -1
- package/dist/collection/components/post-klp-login-widget/post-klp-login-widget.js.map +1 -1
- package/dist/collection/components/post-language-switch/post-language-switch.css +5 -3
- package/dist/collection/components/post-logo/post-logo.css +6 -4
- package/dist/collection/components/post-logo/post-logo.js +0 -34
- package/dist/collection/components/post-logo/post-logo.js.map +1 -1
- package/dist/collection/components/post-main-navigation/post-main-navigation.css +6 -2
- package/dist/collection/components/post-meta-navigation/post-meta-navigation.css +15 -3
- package/dist/collection/components/post-search/post-search.css +6 -3
- package/dist/collection/data/store.js +1 -0
- package/dist/collection/data/store.js.map +1 -1
- package/dist/components/klp-widget.controller.js +38 -26
- package/dist/components/klp-widget.controller.js.map +1 -1
- package/dist/components/language.service.js +5 -0
- package/dist/components/language.service.js.map +1 -1
- package/dist/components/post-klp-login-widget2.js +1 -1
- package/dist/components/post-klp-login-widget2.js.map +1 -1
- package/dist/components/post-language-switch2.js +1 -1
- package/dist/components/post-language-switch2.js.map +1 -1
- package/dist/components/post-logo2.js +2 -31
- package/dist/components/post-logo2.js.map +1 -1
- package/dist/components/post-main-navigation2.js +1 -1
- package/dist/components/post-main-navigation2.js.map +1 -1
- package/dist/components/post-meta-navigation2.js +1 -1
- package/dist/components/post-meta-navigation2.js.map +1 -1
- package/dist/components/post-search2.js +1 -1
- package/dist/components/post-search2.js.map +1 -1
- package/dist/components/store.js +1 -0
- package/dist/components/store.js.map +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js +1 -1
- package/dist/components/swisspost-internet-breadcrumbs.js.map +1 -1
- package/dist/components/swisspost-internet-footer.js +21 -5
- package/dist/components/swisspost-internet-footer.js.map +1 -1
- package/dist/components/swisspost-internet-header.js +67 -14
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/docs.d.ts +322 -0
- package/dist/docs.json +884 -0
- package/dist/esm/index-82f4f02c.js +50 -1
- package/dist/esm/{klp-widget.controller-91f5dd0b.js → klp-widget.controller-30d47ff4.js} +39 -27
- package/dist/esm/klp-widget.controller-30d47ff4.js.map +1 -0
- package/dist/esm/{language.service-faf591b3.js → language.service-bd0f3b6f.js} +7 -2
- package/dist/esm/language.service-bd0f3b6f.js.map +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/post-klp-login-widget.entry.js +3 -3
- package/dist/esm/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm/post-language-switch.entry.js +3 -3
- package/dist/esm/post-language-switch.entry.js.map +1 -1
- package/dist/esm/post-logo.entry.js +2 -29
- package/dist/esm/post-logo.entry.js.map +1 -1
- package/dist/esm/post-main-navigation.entry.js +3 -3
- package/dist/esm/post-main-navigation.entry.js.map +1 -1
- package/dist/esm/post-meta-navigation.entry.js +2 -2
- package/dist/esm/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm/post-search.entry.js +2 -2
- package/dist/esm/post-search.entry.js.map +1 -1
- package/dist/esm/post-skiplinks.entry.js +2 -2
- package/dist/esm/{store-79377f91.js → store-44830922.js} +2 -1
- package/dist/esm/store-44830922.js.map +1 -0
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js +3 -3
- package/dist/esm/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-footer.entry.js +20 -5
- package/dist/esm/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.entry.js +69 -16
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/index-82f4f02c.js +1 -2
- package/dist/esm-es5/index-82f4f02c.js.map +1 -1
- package/dist/esm-es5/klp-widget.controller-30d47ff4.js +13 -0
- package/dist/esm-es5/klp-widget.controller-30d47ff4.js.map +1 -0
- package/dist/esm-es5/language.service-bd0f3b6f.js +2 -0
- package/dist/{swisspost-internet-header/p-3e6e0272.system.js.map → esm-es5/language.service-bd0f3b6f.js.map} +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/loader.js.map +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js +1 -1
- package/dist/esm-es5/post-klp-login-widget.entry.js.map +1 -1
- package/dist/esm-es5/post-language-switch.entry.js +1 -1
- package/dist/esm-es5/post-language-switch.entry.js.map +1 -1
- package/dist/esm-es5/post-logo.entry.js +1 -1
- package/dist/esm-es5/post-logo.entry.js.map +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js +1 -1
- package/dist/esm-es5/post-main-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js +1 -1
- package/dist/esm-es5/post-meta-navigation.entry.js.map +1 -1
- package/dist/esm-es5/post-search.entry.js +1 -1
- package/dist/esm-es5/post-search.entry.js.map +1 -1
- package/dist/esm-es5/post-skiplinks.entry.js +1 -1
- package/dist/esm-es5/{store-79377f91.js → store-44830922.js} +2 -2
- package/dist/esm-es5/store-44830922.js.map +1 -0
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js +2 -2
- package/dist/esm-es5/swisspost-internet-breadcrumbs.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-footer.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm-es5/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/swisspost-internet-header.js.map +1 -1
- package/dist/swisspost-internet-header/assets/config/test-configuration.json +12 -12
- package/dist/swisspost-internet-header/p-06d32a28.entry.js +7 -0
- package/dist/swisspost-internet-header/{p-1055564a.entry.js.map → p-06d32a28.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-0bfadd54.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-4bd302a5.system.entry.js.map → p-0bfadd54.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-0dd2de97.entry.js +2 -0
- package/dist/swisspost-internet-header/p-0dd2de97.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-1078e964.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-b8ea3c0a.system.entry.js.map → p-1078e964.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-131078ce.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-131078ce.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-1ec4e0ee.system.js +2 -0
- package/dist/swisspost-internet-header/p-1ec4e0ee.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-262611f7.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-df51fa24.entry.js.map → p-262611f7.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-273fd39b.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-bab5139b.entry.js.map → p-273fd39b.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-3c8504b4.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-4099b274.system.js +2 -0
- package/dist/swisspost-internet-header/p-4099b274.system.js.map +1 -0
- package/dist/swisspost-internet-header/{p-8eb05d18.js → p-459c3983.js} +2 -2
- package/dist/swisspost-internet-header/p-459c3983.js.map +1 -0
- package/dist/swisspost-internet-header/p-51c15273.entry.js +2 -0
- package/dist/swisspost-internet-header/p-51c15273.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-5baac371.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-5baac371.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-5d893017.system.js +1 -1
- package/dist/swisspost-internet-header/p-5d893017.system.js.map +1 -1
- package/dist/swisspost-internet-header/p-64e1182b.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-4ae35141.entry.js.map → p-64e1182b.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-66d1bf9a.js +13 -0
- package/dist/swisspost-internet-header/p-66d1bf9a.js.map +1 -0
- package/dist/swisspost-internet-header/p-6bb07a80.entry.js +2 -0
- package/dist/swisspost-internet-header/p-6bb07a80.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-bedb8e58.system.entry.js → p-6f69aff4.system.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-7bed0797.js +2 -0
- package/dist/swisspost-internet-header/p-7bed0797.js.map +1 -0
- package/dist/swisspost-internet-header/p-97c90e22.system.entry.js +7 -0
- package/dist/swisspost-internet-header/{p-b7d03cb1.system.entry.js.map → p-97c90e22.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-9ab24fb3.entry.js +2 -0
- package/dist/swisspost-internet-header/p-9ab24fb3.entry.js.map +1 -0
- package/dist/swisspost-internet-header/{p-ed043df2.entry.js → p-9ec1f474.entry.js} +2 -2
- package/dist/swisspost-internet-header/p-a366648c.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-eccdad3c.system.entry.js.map → p-a366648c.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-b4c0cb5a.system.js +13 -0
- package/dist/swisspost-internet-header/p-b4c0cb5a.system.js.map +1 -0
- package/dist/swisspost-internet-header/p-e2df6e93.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-e2df6e93.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-f531c1ea.entry.js +2 -0
- package/dist/swisspost-internet-header/p-f531c1ea.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-fed8d74d.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/swisspost-internet-header.css +3 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js +1 -1
- package/dist/swisspost-internet-header/swisspost-internet-header.esm.js.map +1 -1
- package/dist/types/assets/i18n/translations.d.ts +5 -0
- package/dist/types/components/post-internet-footer/post-internet-footer.d.ts +3 -0
- package/dist/types/components/post-internet-header/logo-animation/logo-animation.d.ts +1 -0
- package/dist/types/components/post-internet-header/post-internet-header.d.ts +4 -1
- package/dist/types/components/post-logo/post-logo.d.ts +0 -7
- package/dist/types/data/store.d.ts +2 -0
- package/dist/types/services/language.service.d.ts +5 -0
- package/package.json +10 -10
- package/readme.md +45 -10
- package/dist/cjs/klp-widget.controller-d86525e1.js.map +0 -1
- package/dist/cjs/language.service-516d1809.js.map +0 -1
- package/dist/cjs/store-915e0360.js.map +0 -1
- package/dist/collection/services/config.service.spec.js +0 -274
- package/dist/collection/services/config.service.spec.js.map +0 -1
- package/dist/collection/services/route.service.spec.js +0 -109
- package/dist/collection/services/route.service.spec.js.map +0 -1
- package/dist/collection/services/search/search.service.spec.js +0 -49
- package/dist/collection/services/search/search.service.spec.js.map +0 -1
- package/dist/collection/tests/setup-tests.js +0 -14
- package/dist/collection/tests/setup-tests.js.map +0 -1
- package/dist/collection/utils/utils.spec.js +0 -11
- package/dist/collection/utils/utils.spec.js.map +0 -1
- package/dist/esm/klp-widget.controller-91f5dd0b.js.map +0 -1
- package/dist/esm/language.service-faf591b3.js.map +0 -1
- package/dist/esm/store-79377f91.js.map +0 -1
- package/dist/esm-es5/klp-widget.controller-91f5dd0b.js +0 -13
- package/dist/esm-es5/klp-widget.controller-91f5dd0b.js.map +0 -1
- package/dist/esm-es5/language.service-faf591b3.js +0 -2
- package/dist/esm-es5/language.service-faf591b3.js.map +0 -1
- package/dist/esm-es5/store-79377f91.js.map +0 -1
- package/dist/swisspost-internet-header/p-011353de.entry.js +0 -2
- package/dist/swisspost-internet-header/p-011353de.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-1055564a.entry.js +0 -7
- package/dist/swisspost-internet-header/p-24aba4ed.system.js +0 -13
- package/dist/swisspost-internet-header/p-24aba4ed.system.js.map +0 -1
- package/dist/swisspost-internet-header/p-30669cd6.entry.js +0 -2
- package/dist/swisspost-internet-header/p-30669cd6.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-36d624d3.entry.js +0 -2
- package/dist/swisspost-internet-header/p-36d624d3.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-3e6e0272.system.js +0 -2
- package/dist/swisspost-internet-header/p-41e08c10.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-41e08c10.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-4ae35141.entry.js +0 -2
- package/dist/swisspost-internet-header/p-4bd302a5.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-541c204b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-541c204b.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-77f72b8d.js +0 -13
- package/dist/swisspost-internet-header/p-77f72b8d.js.map +0 -1
- package/dist/swisspost-internet-header/p-8d12fe0c.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8d12fe0c.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8d5f4d78.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8d5f4d78.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-8eb05d18.js.map +0 -1
- package/dist/swisspost-internet-header/p-a02140c3.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-a02140c3.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b6f237a1.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-b6f237a1.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-b7d03cb1.system.entry.js +0 -7
- package/dist/swisspost-internet-header/p-b8ea3c0a.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-bab5139b.entry.js +0 -2
- package/dist/swisspost-internet-header/p-df51fa24.entry.js +0 -2
- package/dist/swisspost-internet-header/p-e057071d.js +0 -2
- package/dist/swisspost-internet-header/p-e057071d.js.map +0 -1
- package/dist/swisspost-internet-header/p-eccdad3c.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f445483f.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-f445483f.system.entry.js.map +0 -1
- package/dist/swisspost-internet-header/p-fa230c6b.system.js +0 -2
- package/dist/swisspost-internet-header/p-fa230c6b.system.js.map +0 -1
- package/dist/types/tests/setup-tests.d.ts +0 -0
- /package/dist/swisspost-internet-header/{p-bedb8e58.system.entry.js.map → p-6f69aff4.system.entry.js.map} +0 -0
- /package/dist/swisspost-internet-header/{p-ed043df2.entry.js.map → p-9ec1f474.entry.js.map} +0 -0
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
box-shadow: none;
|
|
74
74
|
border: 0;
|
|
75
75
|
margin: 0;
|
|
76
|
+
cursor: pointer;
|
|
76
77
|
display: flex;
|
|
77
78
|
align-items: center;
|
|
78
79
|
gap: 0.5rem;
|
|
@@ -121,7 +122,7 @@ button {
|
|
|
121
122
|
|
|
122
123
|
a,
|
|
123
124
|
button {
|
|
124
|
-
border-radius:
|
|
125
|
+
border-radius: 4px;
|
|
125
126
|
outline: none;
|
|
126
127
|
outline-offset: 2px;
|
|
127
128
|
/* Compatibility with button-group */
|
|
@@ -129,7 +130,7 @@ button {
|
|
|
129
130
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
130
131
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
131
132
|
outline: 2px solid var(--post-contrast-color);
|
|
132
|
-
border-radius:
|
|
133
|
+
border-radius: 4px;
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
img,
|
|
@@ -247,6 +248,30 @@ svg {
|
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
|
|
251
|
+
/**
|
|
252
|
+
* Default position: scrolled
|
|
253
|
+
* Logo is being scaled up for the initial view (scrollY = 0). This enables media queries to override
|
|
254
|
+
* mobile behaviour without re-calculation
|
|
255
|
+
*/
|
|
256
|
+
:host {
|
|
257
|
+
--logo-scale: 1;
|
|
258
|
+
}
|
|
259
|
+
@media (max-width: 1023.98px) {
|
|
260
|
+
:host {
|
|
261
|
+
--logo-scale: 1 !important;
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
post-logo {
|
|
266
|
+
height: var(--header-height);
|
|
267
|
+
transform-origin: bottom left;
|
|
268
|
+
transform: scale(var(--logo-scale));
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
post-main-navigation {
|
|
272
|
+
margin-left: calc(var(--header-height) * var(--logo-scale) - var(--header-height));
|
|
273
|
+
}
|
|
274
|
+
|
|
250
275
|
:host {
|
|
251
276
|
display: block;
|
|
252
277
|
position: relative;
|
|
@@ -7,6 +7,7 @@ import { SvgIcon } from '../../utils/svg-icon.component';
|
|
|
7
7
|
import { translate } from '../../services/language.service';
|
|
8
8
|
import { If } from '../../utils/if.component';
|
|
9
9
|
import packageJson from '../../../package.json';
|
|
10
|
+
import { registerLogoAnimationObserver } from './logo-animation/logo-animation';
|
|
10
11
|
export class PostInternetHeader {
|
|
11
12
|
/**
|
|
12
13
|
* Get the currently set language as a two letter string ("de", "fr" "it" or "en")
|
|
@@ -58,6 +59,7 @@ export class PostInternetHeader {
|
|
|
58
59
|
// Wait for the config to arrive, then render the header
|
|
59
60
|
try {
|
|
60
61
|
state.projectId = this.project;
|
|
62
|
+
state.stickyness = this.stickyness;
|
|
61
63
|
state.environment = this.environment.toLocaleLowerCase();
|
|
62
64
|
if (this.language !== undefined)
|
|
63
65
|
state.currentLanguage = this.language;
|
|
@@ -92,6 +94,9 @@ export class PostInternetHeader {
|
|
|
92
94
|
this.handleResize();
|
|
93
95
|
this.headerLoaded.emit();
|
|
94
96
|
this.host.classList.add('header-loaded');
|
|
97
|
+
if (this.meta && this.metaNav) {
|
|
98
|
+
this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);
|
|
99
|
+
}
|
|
95
100
|
});
|
|
96
101
|
if (this.stickyness === 'full')
|
|
97
102
|
console.warn('Internet Header: The stickyness="full" option is deprecated.');
|
|
@@ -167,6 +172,10 @@ export class PostInternetHeader {
|
|
|
167
172
|
handleLanguageChangeEvent(event) {
|
|
168
173
|
this.handleLanguageChange(event.detail);
|
|
169
174
|
}
|
|
175
|
+
handleStickynessChange(newValue) {
|
|
176
|
+
state.stickyness = newValue;
|
|
177
|
+
this.updateLogoAnimation();
|
|
178
|
+
}
|
|
170
179
|
handleClickOutside(event) {
|
|
171
180
|
// Close active dropdown element on click outside of it
|
|
172
181
|
if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {
|
|
@@ -267,7 +276,7 @@ export class PostInternetHeader {
|
|
|
267
276
|
((_b = config.header.navMeta) === null || _b === void 0 ? void 0 : _b.filter(meta => !meta.isHomeLink).length) > 0;
|
|
268
277
|
const renderLogin = ((_c = this.login) !== null && _c !== void 0 ? _c : !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;
|
|
269
278
|
const renderLanguageSwitch = config.header.navLang.length > 1;
|
|
270
|
-
return (h(Host, { class: `stickyness-${this.stickyness} ${this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''}`, "data-version": packageJson.version, onKeyup: (e) => this.handleKeyUp(e) }, h("header", { class: `post-internet-header${this.fullWidth ? ' full-width' : ''}` }, h(SvgSprite, null), h("h1", { class: "visually-hidden" }, translate('Navigate on post.ch')), h(If, { condition: this.skiplinks === true }, h("post-skiplinks", null)), h(If, { condition: renderMetaNavigation === true }, h("post-meta-navigation", { orientation: "horizontal", class: "hidden-lg", "full-width": this.fullWidth }, h(If, { condition: renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-desktop", mode: "dropdown", onDropdownToggled: e => this.handleDropdownToggled(e) })))), h("div", { class: "main-navigation-container wide-container" }, h("post-logo", null), h("button", { class: "menu-button nav-link", onClick: () => this.toggleMobileDropdown(), "aria-haspopup": "menu", "aria-controls": "post-internet-header-main-navigation", "aria-expanded": this.activeDropdownElement ? 'true' : 'false' }, h("span", { class: "menu-button-text visually-hidden" }, config.header.mobileMenu.text), h(SvgIcon, { name: this.isMainNavOpen() ? 'pi-close' : 'pi-menu' })), h("post-main-navigation", { onDropdownToggled: e => this.handleDropdownToggled(e), onFlyoutToggled: e => this.handleFlyoutToggled(e), ref: el => (this.mainNav = el) }, h(If, { condition: renderMetaNavigation === true }, h("post-meta-navigation", { orientation: "vertical" }, h(If, { condition: renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-mobile", mode: "list" }))))), h("div", { class: "main-navigation-controls" }, h(If, { condition: this.search !== false }, h("post-search", { onDropdownToggled: e => this.handleDropdownToggled(e) })), h(If, { condition: !!renderLogin }, h("post-klp-login-widget", null, h("slot", { name: "login-widget" }))), h(If, { condition: renderMetaNavigation === false && renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-no-meta", onDropdownToggled: e => this.handleDropdownToggled(e), mode: "dropdown" })), h("slot", { name: "main" }))))));
|
|
279
|
+
return (h(Host, { class: `stickyness-${this.stickyness} ${this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''}`, "data-version": packageJson.version, onKeyup: (e) => this.handleKeyUp(e) }, h("header", { class: `post-internet-header${this.fullWidth ? ' full-width' : ''}` }, h(SvgSprite, null), h("h1", { class: "visually-hidden" }, translate('Navigate on post.ch')), h(If, { condition: this.skiplinks === true }, h("post-skiplinks", null)), h(If, { condition: renderMetaNavigation === true }, h("post-meta-navigation", { orientation: "horizontal", class: "hidden-lg", "full-width": this.fullWidth, ref: el => (this.metaNav = el) }, h(If, { condition: renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-desktop", mode: "dropdown", onDropdownToggled: e => this.handleDropdownToggled(e) })))), h("div", { class: "main-navigation-container wide-container" }, h("post-logo", null), h("button", { class: "menu-button nav-link", onClick: () => this.toggleMobileDropdown(), "aria-haspopup": "menu", "aria-controls": "post-internet-header-main-navigation", "aria-expanded": this.activeDropdownElement ? 'true' : 'false' }, h("span", { class: "menu-button-text visually-hidden" }, config.header.mobileMenu.text), h(SvgIcon, { name: this.isMainNavOpen() ? 'pi-close' : 'pi-menu' })), h("post-main-navigation", { onDropdownToggled: e => this.handleDropdownToggled(e), onFlyoutToggled: e => this.handleFlyoutToggled(e), ref: el => (this.mainNav = el) }, h(If, { condition: renderMetaNavigation === true }, h("post-meta-navigation", { orientation: "vertical" }, h(If, { condition: renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-mobile", mode: "list" }))))), h("div", { class: "main-navigation-controls" }, h(If, { condition: this.search !== false }, h("post-search", { onDropdownToggled: e => this.handleDropdownToggled(e) })), h(If, { condition: !!renderLogin }, h("post-klp-login-widget", null, h("slot", { name: "login-widget" }))), h(If, { condition: renderMetaNavigation === false && renderLanguageSwitch === true }, h("post-language-switch", { id: "post-language-switch-no-meta", onDropdownToggled: e => this.handleDropdownToggled(e), mode: "dropdown" })), h("slot", { name: "main" }))))));
|
|
271
280
|
}
|
|
272
281
|
static get is() { return "swisspost-internet-header"; }
|
|
273
282
|
static get encapsulation() { return "shadow"; }
|
|
@@ -664,6 +673,9 @@ export class PostInternetHeader {
|
|
|
664
673
|
}, {
|
|
665
674
|
"propName": "meta",
|
|
666
675
|
"methodName": "handleMetaChange"
|
|
676
|
+
}, {
|
|
677
|
+
"propName": "stickyness",
|
|
678
|
+
"methodName": "handleStickynessChange"
|
|
667
679
|
}];
|
|
668
680
|
}
|
|
669
681
|
static get listeners() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-internet-header.js","sourceRoot":"","sources":["../../../../src/components/post-internet-header/post-internet-header.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n Element,\n h,\n State,\n Prop,\n Watch,\n Listen,\n EventEmitter,\n Event,\n Method,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { state, dispose } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: string;\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n window.addEventListener('scroll', this.throttledScroll, { passive: true });\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.throttledScroll);\n window.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined && state.currentLanguage !== null) {\n state.localizedCustomConfig = getLocalizedCustomConfig(\n this.customConfig,\n state.currentLanguage,\n );\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChage(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n this.handleLanguageChange(event.detail);\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st = window.scrollY || document.documentElement.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open === true) {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outsite of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks === true}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n >\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search !== false}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={renderMetaNavigation === false && renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"post-internet-header.js","sourceRoot":"","sources":["../../../../src/components/post-internet-header/post-internet-header.tsx"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,IAAI,EACJ,OAAO,EACP,CAAC,EACD,KAAK,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EAEN,KAAK,EACL,MAAM,GACP,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EACL,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,GACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAIzD,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAC;AAC9C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAOhF,MAAM,OAAO,kBAAkB;EA4F7B;;;KAGG;EAEH,KAAK,CAAC,kBAAkB;;IACtB,OAAO,MAAA,KAAK,CAAC,eAAe,mCAAI,IAAI,CAAC;EACvC,CAAC;EAUD;IANQ,kBAAa,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;IAGrE,oBAAe,GAAW,MAAM,CAAC,UAAU,CAAC;IA4K5C,4BAAuB,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;sBA7Q7B,SAAS;;gBAUzB,IAAI;iBAKH,IAAI;kBAKH,IAAI;qBAKD,IAAI;;uBAUE,MAAM;;;;mCAqBE,oCAAoC;uBAM/B,MAAM;;qBAUxB,KAAK;wBAOI,IAAI;iCACc,IAAI;IAqB3D,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;MACxF,MAAM,IAAI,KAAK,CACb,mCAAmC,IAAI,CAAC,OAAO,wCAAwC,CACxF,CAAC;KACH;GACF;EAED,iBAAiB;IACf,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAChE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;EAC7E,CAAC;EAED,oBAAoB;IAClB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3D,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;IAE3D,wCAAwC;IACxC,OAAO,EAAE,CAAC;EACZ,CAAC;EAED,KAAK,CAAC,iBAAiB;IACrB,wDAAwD;IACxD,IAAI;MACF,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;MAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;MACnC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,iBAAiB,EAAiB,CAAC;MACxE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;MACvE,KAAK,CAAC,uBAAuB;QAC3B,OAAO,IAAI,CAAC,uBAAuB,KAAK,QAAQ;UAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;UAC1C,CAAC,CAAC,IAAI,CAAC,uBAAuB,CAAC;MACnC,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;UACxC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC;UACpC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;MAE7B,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,KAAK,CAAC,eAAe,KAAK,IAAI,EAAE;QACrE,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CACpD,IAAI,CAAC,YAAY,EACjB,KAAK,CAAC,eAAe,CACtB,CAAC;OACH;MAED,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;QAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;QACvB,WAAW,EAAE,KAAK,CAAC,WAAW;QAC9B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;QACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;QAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;QACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;QAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;OAC3C,CAAC,CAAC;KACJ;IAAC,OAAO,KAAK,EAAE;MACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KACtB;EACH,CAAC;EAED,gBAAgB;IACd,MAAM,CAAC,qBAAqB,CAAC,GAAG,EAAE;MAChC,IAAI,CAAC,YAAY,EAAE,CAAC;MACpB,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;MACzB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;MACzC,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC7B,IAAI,CAAC,mBAAmB,GAAG,6BAA6B,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;OACnF;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM;MAC5B,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;EACjF,CAAC;EAGD,KAAK,CAAC,oBAAoB,CAAC,QAAgB;IACzC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC;IACjC,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,QAAQ;MAClB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;IACH,IAAI,IAAI,CAAC,YAAY;MACnB,KAAK,CAAC,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;EACxF,CAAC;EAGD,6BAA6B,CAAC,QAAuC;IACnE,KAAK,CAAC,uBAAuB,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;EACjG,CAAC;EAGD,KAAK,CAAC,uBAAuB,CAAC,QAAgC;IAC5D,KAAK,CAAC,iBAAiB,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACzF,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,KAAK,CAAC,uBAAuB,CAAC,QAAkC;IAC9D,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,QAAQ;MACzB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;MAClD,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,KAAK,CAAC,wBAAwB,CAAC,QAAgC;IAC7D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;MAAE,OAAO;IACxC,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAChF,KAAK,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;IACpD,KAAK,CAAC,eAAe,GAAG,MAAM,kBAAkB,CAAC;MAC/C,SAAS,EAAE,IAAI,CAAC,OAAO;MACvB,WAAW,EAAE,IAAI,CAAC,WAAW;MAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;MACvB,SAAS,EAAE,IAAI,CAAC,iBAAiB;MACjC,eAAe,EAAE,IAAI,CAAC,uBAAuB;MAC7C,eAAe,EAAE,IAAI,CAAC,WAAW;MACjC,qBAAqB,EAAE,qBAAqB;MAC5C,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;KAC3C,CAAC,CAAC;EACL,CAAC;EAGD,kBAAkB,CAAC,QAAiB;IAClC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;EAC1B,CAAC;EAGD,iBAAiB,CAAC,QAAiB;IACjC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;EACzB,CAAC;EAGD,gBAAgB,CAAC,QAAiB;IAChC,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;EACxB,CAAC;EAGD,yBAAyB,CAAC,KAA0B;IAClD,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;EAC1C,CAAC;EAGD,sBAAsB,CAAC,QAA2B;IAChD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,IAAI,CAAC,mBAAmB,EAAE,CAAC;EAC7B,CAAC;EAIO,kBAAkB,CAAC,KAAY;IACrC,uDAAuD;IACvD,IAAI,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,EAAE;MAC5F,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAClD;EACH,CAAC;EAEO,WAAW,CAAC,KAAoB;IACtC,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE;MAC1B,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OAClD;MACD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC9C,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OACpC;KACF;EACH,CAAC;EAEO,iBAAiB;IACvB,qEAAqE;IACrE,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,IAAI,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC;IAEhE,2EAA2E;IAC3E,mDAAmD;IACnD,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;MACjC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;KACtE;IAED,mCAAmC;IACnC,IAAI,CAAC,aAAa,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACxC,CAAC;EAEO,YAAY;;IAClB,2GAA2G;IAC3G,IAAI,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,eAAe,GAAG,IAAI,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;MACpF,MAAA,IAAI,CAAC,qBAAqB,0CAAE,cAAc,CAAC,KAAK,CAAC,CAAC;KACnD;IAED,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;EAC3C,CAAC;EAED;;;;;KAKG;EACK,qBAAqB,CAAC,KAAiC;IAC7D,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE;MAC7E,oFAAoF;MACpF,6DAA6D;MAC7D,OAAO;KACR;IAED,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE;MAC9B,IAAI,IAAI,CAAC,qBAAqB,EAAE;QAC9B,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;OAClD;MAED,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;MAElD,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAAE;QAC7B,6EAA6E;QAC7E,2DAA2D;QAC3D,sEAAsE;QACtE,2FAA2F;QAC3F,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;UACrB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACjE,CAAC,EAAE,EAAE,CAAC,CAAC;OACR;MAED,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;QAC9C,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;OACpC;KACF;SAAM;MACL,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;MAElC,6EAA6E;MAC7E,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;KACnE;EACH,CAAC;EAED;;;KAGG;EACK,mBAAmB,CAAC,KAAiC;IAC3D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,IAAI,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE;MACvE,IAAI,CAAC,qBAAqB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAClD;EACH,CAAC;EAEO,oBAAoB;;IAC1B,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,EAAE,CAAC;EACjC,CAAC;EAEO,aAAa;IACnB,OAAO,CACL,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,CAAC,OAAO,KAAK,sBAAsB,CAC5F,CAAC;EACJ,CAAC;EAED,MAAM;;IACJ,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAA,EAAE;MAClC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC;MACrE,OAAO;KACR;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC;IACrC,MAAM,oBAAoB,GACxB,IAAI,CAAC,IAAI;MACT,MAAM,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;MACnC,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,IAAG,CAAC,CAAC;IACrE,MAAM,WAAW,GACf,CAAC,MAAA,IAAI,CAAC,KAAK,mCAAI,CAAC,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC;IACzF,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IAE9D,OAAO,CACL,EAAC,IAAI,IACH,KAAK,EAAE,cAAc,IAAI,CAAC,UAAU,IAClC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EACtE,EAAE,kBACY,WAAW,CAAC,OAAO,EACjC,OAAO,EAAE,CAAC,CAAgB,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;MAElD,cAAQ,KAAK,EAAE,uBAAuB,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE;QACzE,EAAC,SAAS,OAAG;QACb,UAAI,KAAK,EAAC,iBAAiB,IAAE,SAAS,CAAC,qBAAqB,CAAC,CAAM;QACnE,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,SAAS,KAAK,IAAI;UACpC,yBAAiC,CAC9B;QACL,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI;UAC1C,4BACE,WAAW,EAAC,YAAY,EACxB,KAAK,EAAC,WAAW,gBACL,IAAI,CAAC,SAAS,EAC1B,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI;cAC1C,4BACE,EAAE,EAAC,8BAA8B,EACjC,IAAI,EAAC,UAAU,EACf,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAC/B,CACrB,CACgB,CACpB;QACL,WAAK,KAAK,EAAC,0CAA0C;UACnD,oBAAuB;UACvB,cACE,KAAK,EAAC,sBAAsB,EAC5B,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,mBAC5B,MAAM,mBACN,sCAAsC,mBACrC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;YAE5D,YAAM,KAAK,EAAC,kCAAkC,IAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAQ;YACrF,EAAC,OAAO,IAAC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,GAAY,CACjE;UACT,4BACE,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,eAAe,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EACjD,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAE9B,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI;cAC1C,4BAAsB,WAAW,EAAC,UAAU;gBAC1C,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,KAAK,IAAI;kBAC1C,4BACE,EAAE,EAAC,6BAA6B,EAChC,IAAI,EAAC,MAAM,GACW,CACrB,CACgB,CACpB,CACgB;UACvB,WAAK,KAAK,EAAC,0BAA0B;YACnC,EAAC,EAAE,IAAC,SAAS,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK;cAClC,mBAAa,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAgB,CAC/E;YACL,EAAC,EAAE,IAAC,SAAS,EAAE,CAAC,CAAC,WAAW;cAC1B;gBACE,YAAM,IAAI,EAAC,cAAc,GAAQ,CACX,CACrB;YACL,EAAC,EAAE,IAAC,SAAS,EAAE,oBAAoB,KAAK,KAAK,IAAI,oBAAoB,KAAK,IAAI;cAC5E,4BACE,EAAE,EAAC,8BAA8B,EACjC,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,EACrD,IAAI,EAAC,UAAU,GACO,CACrB;YACL,YAAM,IAAI,EAAC,MAAM,GAAQ,CACrB,CACF,CACC,CACJ,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import {\n Component,\n Host,\n Element,\n h,\n State,\n Prop,\n Watch,\n Listen,\n EventEmitter,\n Event,\n Method,\n} from '@stencil/core';\nimport { debounce, throttle } from 'throttle-debounce';\nimport {\n getLocalizedConfig,\n getLocalizedCustomConfig,\n isValidProjectId,\n} from '../../services/config.service';\nimport { state, dispose } from '../../data/store';\nimport { DropdownElement, DropdownEvent, NavMainEntity } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\nimport { StickynessOptions } from '../../models/implementor.model';\nimport { ActiveRouteProp, Environment, ICustomConfig } from '../../models/general.model';\nimport { IAvailableLanguage } from '../../models/language.model';\nimport { translate } from '../../services/language.service';\nimport { If } from '../../utils/if.component';\nimport packageJson from '../../../package.json';\nimport { registerLogoAnimationObserver } from './logo-animation/logo-animation';\n\n@Component({\n tag: 'swisspost-internet-header',\n styleUrl: 'post-internet-header.scss',\n shadow: true,\n})\nexport class PostInternetHeader {\n /**\n * Your project id, previously passed as query string parameter serviceId.\n */\n @Prop() project: string;\n\n /**\n * Sticky behaviour of the header.\n */\n @Prop() stickyness: StickynessOptions = 'minimal';\n\n /**\n * Initial language to be used. Overrides automatic language detection.\n */\n @Prop() language?: string;\n\n /**\n * Toggle the meta navigation.\n */\n @Prop() meta: boolean = true;\n\n /**\n * Toggle the login link (when logged out) or the user widget (when logged in).\n */\n @Prop() login: boolean = true;\n\n /**\n * Toggle the search button.\n */\n @Prop() search: boolean = true;\n\n /**\n * Toggle skiplinks. They help keyboard users to quickly jump to important sections of the page.\n */\n @Prop() skiplinks: boolean = true;\n\n /**\n * DEPRECATED!: Define a proxy URL for the config fetch request. Will be removed in the next major version\n */\n @Prop() configProxy?: string;\n\n /**\n * Target environment. Choose 'int01' for local testing.\n */\n @Prop() environment: Environment = 'prod';\n\n /**\n * Override the language switch links with custom URLs. Helpful when your application contains sub-pages and you\n * would like to stay on subpages when the user changes language.\n */\n @Prop() languageSwitchOverrides?: string | IAvailableLanguage[];\n\n /**\n * Customize the header config loaded from the post portal.\n */\n @Prop() customConfig?: string | ICustomConfig;\n\n /**\n * The header uses this cookie to set the language. Disables automatic language detection.\n */\n @Prop() languageCookieKey?: string;\n\n /**\n * The header uses this local storage key to set the language. Disables automatic language selection.\n */\n @Prop() languageLocalStorageKey?: string = 'swisspost-internet-header-language';\n\n /**\n * Set the currently activated route. If there is a link matching this URL in the header, it will be highlighted.\n * Will also highlight partly matching URLs. When set to auto, will use current location.href for comparison.\n */\n @Prop() activeRoute?: 'auto' | false | string = 'auto';\n\n /**\n * Online Services only: Add custom links to the special online service navigation entry\n */\n @Prop() osFlyoutOverrides?: string | NavMainEntity;\n\n /**\n * Displays the header at full width for full-screen applications\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * Fires when the header has been rendered to the page.\n */\n @Event() headerLoaded: EventEmitter<void>;\n\n @State() activeFlyout: string | null = null;\n @State() activeDropdownElement: DropdownElement | null = null;\n @Element() host: HTMLSwisspostInternetHeaderElement;\n\n /**\n * Get the currently set language as a two letter string (\"de\", \"fr\" \"it\" or \"en\")\n * @returns string\n */\n @Method()\n async getCurrentLanguage(): Promise<'de' | 'fr' | 'it' | 'en' | string> {\n return state.currentLanguage ?? 'de';\n }\n\n private mainNav?: HTMLPostMainNavigationElement;\n private metaNav?: HTMLPostMetaNavigationElement;\n private lastScrollTop = window.scrollY || document.documentElement.scrollTop;\n private throttledScroll: throttle<() => void>;\n private debouncedResize: debounce<() => void>;\n private lastWindowWidth: number = window.innerWidth;\n private updateLogoAnimation: () => void;\n\n constructor() {\n if (this.project === undefined || this.project === '' || !isValidProjectId(this.project)) {\n throw new Error(\n `Internet Header project key is \"${this.project}\". Please provide a valid project key.`,\n );\n }\n }\n\n connectedCallback() {\n this.throttledScroll = throttle(300, () => this.handleScrollEvent());\n this.debouncedResize = debounce(200, () => this.handleResize());\n window.addEventListener('scroll', this.throttledScroll, { passive: true });\n window.addEventListener('resize', this.debouncedResize, { passive: true });\n }\n\n disconnectedCallback() {\n window.removeEventListener('scroll', this.throttledScroll);\n window.removeEventListener('resize', this.debouncedResize);\n\n // Reset the store to its original state\n dispose();\n }\n\n async componentWillLoad() {\n // Wait for the config to arrive, then render the header\n try {\n state.projectId = this.project;\n state.stickyness = this.stickyness;\n state.environment = this.environment.toLocaleLowerCase() as Environment;\n if (this.language !== undefined) state.currentLanguage = this.language;\n state.languageSwitchOverrides =\n typeof this.languageSwitchOverrides === 'string'\n ? JSON.parse(this.languageSwitchOverrides)\n : this.languageSwitchOverrides;\n state.osFlyoutOverrides =\n typeof this.osFlyoutOverrides === 'string'\n ? JSON.parse(this.osFlyoutOverrides)\n : this.osFlyoutOverrides;\n\n if (this.customConfig !== undefined && state.currentLanguage !== null) {\n state.localizedCustomConfig = getLocalizedCustomConfig(\n this.customConfig,\n state.currentLanguage,\n );\n }\n\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: state.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n } catch (error) {\n console.error(error);\n }\n }\n\n componentDidLoad() {\n window.requestAnimationFrame(() => {\n this.handleResize();\n this.headerLoaded.emit();\n this.host.classList.add('header-loaded');\n if (this.meta && this.metaNav) {\n this.updateLogoAnimation = registerLogoAnimationObserver(this.metaNav, this.host);\n }\n });\n\n if (this.stickyness === 'full')\n console.warn('Internet Header: The stickyness=\"full\" option is deprecated.');\n }\n\n @Watch('language')\n async handleLanguageChange(newValue: string) {\n state.currentLanguage = newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: newValue,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n if (this.customConfig)\n state.localizedCustomConfig = getLocalizedCustomConfig(this.customConfig, newValue);\n }\n\n @Watch('languageSwitchOverrides')\n handleAvailableLanguagesChage(newValue: string | IAvailableLanguage[]) {\n state.languageSwitchOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n }\n\n @Watch('osFlyoutOverrides')\n async handleOsFlyoutOverrides(newValue: string | NavMainEntity) {\n state.osFlyoutOverrides = typeof newValue === 'string' ? JSON.parse(newValue) : newValue;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('activeRoute')\n async handleActiveRouteChange(newValue: string | ActiveRouteProp) {\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: newValue,\n localizedCustomConfig: state.localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('customConfig')\n async handleCustomConfigChange(newValue: string | ICustomConfig) {\n if (this.language === undefined) return;\n const localizedCustomConfig = getLocalizedCustomConfig(newValue, this.language);\n state.localizedCustomConfig = localizedCustomConfig;\n state.localizedConfig = await getLocalizedConfig({\n projectId: this.project,\n environment: this.environment,\n language: this.language,\n cookieKey: this.languageCookieKey,\n localStorageKey: this.languageLocalStorageKey,\n activeRouteProp: this.activeRoute,\n localizedCustomConfig: localizedCustomConfig,\n osFlyoutOverrides: state.osFlyoutOverrides,\n });\n }\n\n @Watch('search')\n handleSearchChange(newValue: boolean) {\n state.search = newValue;\n }\n\n @Watch('login')\n handleLoginChange(newValue: boolean) {\n state.login = newValue;\n }\n\n @Watch('meta')\n handleMetaChange(newValue: boolean) {\n state.meta = newValue;\n }\n\n @Listen('languageChanged')\n handleLanguageChangeEvent(event: CustomEvent<string>) {\n this.handleLanguageChange(event.detail);\n }\n\n @Watch('stickyness')\n handleStickynessChange(newValue: StickynessOptions) {\n state.stickyness = newValue;\n this.updateLogoAnimation();\n }\n\n private handleClickOutsideBound = this.handleClickOutside.bind(this);\n\n private handleClickOutside(event: Event) {\n // Close active dropdown element on click outside of it\n if (this.activeDropdownElement && !event.composedPath().includes(this.activeDropdownElement)) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private handleKeyUp(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.toggleDropdown(false);\n }\n }\n }\n\n private handleScrollEvent() {\n // Credits: \"https://github.com/qeremy/so/blob/master/so.dom.js#L426\"\n const st = window.scrollY || document.documentElement.scrollTop;\n\n // Toggle class without re-rendering the component if stickyness is minimal\n // the other stickyness modes do not need the class\n if (this.stickyness === 'minimal') {\n this.host.classList.toggle('scrolling-up', st <= this.lastScrollTop);\n }\n\n // For Mobile or negative scrolling\n this.lastScrollTop = st <= 0 ? 0 : st;\n }\n\n private handleResize() {\n // Close main navigation dropdown if size changed to bigger than 1024px (search dropdown will be kept open)\n if (this.isMainNavOpen() && this.lastWindowWidth < 1024 && window.innerWidth >= 1024) {\n this.activeDropdownElement?.toggleDropdown(false);\n }\n\n this.lastWindowWidth = window.innerWidth;\n }\n\n /**\n * Close open dropdown menus if another is being opened\n *\n * @param event Dropdown toggled event\n * @returns void\n */\n private handleDropdownToggled(event: CustomEvent<DropdownEvent>) {\n if (!event.detail.open && this.activeDropdownElement !== event.detail.element) {\n // Some dropdown got closed programmatically (possibly by this function). To prevent\n // a circle or an outdated state, we'll not handle this event\n return;\n }\n\n if (event.detail.open === true) {\n if (this.activeDropdownElement) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n\n this.activeDropdownElement = event.detail.element;\n\n if (window.innerWidth >= 1024) {\n // Add event listener to close active dropdown element on click outsite of it\n // Also adds 10ms delay in case of an external interaction:\n // Some button on the page calls toggleDropdown() -> dropdown opens\n // Click event bubbles to the window, this.handleClickOutsideBound closes dropdown again\n window.setTimeout(() => {\n window.addEventListener('click', this.handleClickOutsideBound);\n }, 10);\n }\n\n if (this.activeFlyout !== null && this.mainNav) {\n this.mainNav.setActiveFlyout(null);\n }\n } else {\n this.activeDropdownElement = null;\n\n // Remove event listener as it is not needed if no dropdown element is active\n window.removeEventListener('click', this.handleClickOutsideBound);\n }\n }\n\n /**\n * Close open dropdowns if the flyout is being opened\n * @param event Flyout toggle event\n */\n private handleFlyoutToggled(event: CustomEvent<string | null>) {\n this.activeFlyout = event.detail;\n\n if (this.activeDropdownElement && event.detail && !this.isMainNavOpen()) {\n this.activeDropdownElement.toggleDropdown(false);\n }\n }\n\n private toggleMobileDropdown() {\n this.mainNav?.toggleDropdown();\n }\n\n private isMainNavOpen() {\n return (\n this.activeDropdownElement && this.activeDropdownElement.tagName === 'POST-MAIN-NAVIGATION'\n );\n }\n\n render() {\n if (!state.localizedConfig?.header) {\n console.error(new Error('Internet Header: Config cannot be loaded'));\n return;\n }\n\n const config = state.localizedConfig;\n const renderMetaNavigation =\n this.meta &&\n config.header.navMeta !== undefined &&\n config.header.navMeta?.filter(meta => !meta.isHomeLink).length > 0;\n const renderLogin =\n (this.login ?? !config.header.isLoginWidgetHidden) && config.header.loginWidgetOptions;\n const renderLanguageSwitch = config.header.navLang.length > 1;\n\n return (\n <Host\n class={`stickyness-${this.stickyness} ${\n this.activeDropdownElement || this.activeFlyout ? 'dropdown-open' : ''\n }`}\n data-version={packageJson.version}\n onKeyup={(e: KeyboardEvent) => this.handleKeyUp(e)}\n >\n <header class={`post-internet-header${this.fullWidth ? ' full-width' : ''}`}>\n <SvgSprite />\n <h1 class=\"visually-hidden\">{translate('Navigate on post.ch')}</h1>\n <If condition={this.skiplinks === true}>\n <post-skiplinks></post-skiplinks>\n </If>\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation\n orientation=\"horizontal\"\n class=\"hidden-lg\"\n full-width={this.fullWidth}\n ref={el => (this.metaNav = el)}\n >\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-desktop\"\n mode=\"dropdown\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n <div class=\"main-navigation-container wide-container\">\n <post-logo></post-logo>\n <button\n class=\"menu-button nav-link\"\n onClick={() => this.toggleMobileDropdown()}\n aria-haspopup=\"menu\"\n aria-controls=\"post-internet-header-main-navigation\"\n aria-expanded={this.activeDropdownElement ? 'true' : 'false'}\n >\n <span class=\"menu-button-text visually-hidden\">{config.header.mobileMenu.text}</span>\n <SvgIcon name={this.isMainNavOpen() ? 'pi-close' : 'pi-menu'}></SvgIcon>\n </button>\n <post-main-navigation\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n onFlyoutToggled={e => this.handleFlyoutToggled(e)}\n ref={el => (this.mainNav = el)}\n >\n <If condition={renderMetaNavigation === true}>\n <post-meta-navigation orientation=\"vertical\">\n <If condition={renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-mobile\"\n mode=\"list\"\n ></post-language-switch>\n </If>\n </post-meta-navigation>\n </If>\n </post-main-navigation>\n <div class=\"main-navigation-controls\">\n <If condition={this.search !== false}>\n <post-search onDropdownToggled={e => this.handleDropdownToggled(e)}></post-search>\n </If>\n <If condition={!!renderLogin}>\n <post-klp-login-widget>\n <slot name=\"login-widget\"></slot>\n </post-klp-login-widget>\n </If>\n <If condition={renderMetaNavigation === false && renderLanguageSwitch === true}>\n <post-language-switch\n id=\"post-language-switch-no-meta\"\n onDropdownToggled={e => this.handleDropdownToggled(e)}\n mode=\"dropdown\"\n ></post-language-switch>\n </If>\n <slot name=\"main\"></slot>\n </div>\n </div>\n </header>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
.btn {
|
|
50
50
|
min-height: 3rem;
|
|
51
51
|
font-size: 1rem;
|
|
52
|
-
gap:
|
|
52
|
+
gap: 0.625rem;
|
|
53
53
|
outline: none;
|
|
54
54
|
outline-offset: 2px;
|
|
55
55
|
/* Compatibility with button-group */
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
transition: opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;
|
|
63
63
|
border-width: 2px;
|
|
64
64
|
border-style: solid;
|
|
65
|
-
border-radius:
|
|
65
|
+
border-radius: 4px;
|
|
66
66
|
background-color: transparent;
|
|
67
67
|
box-shadow: none;
|
|
68
68
|
color: var(--post-gray-80);
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
white-space: nowrap;
|
|
73
73
|
}
|
|
74
74
|
.btn:where(:not(.btn-link, .btn-tertiary)) {
|
|
75
|
-
padding: 0
|
|
75
|
+
padding: 0 1rem;
|
|
76
76
|
}
|
|
77
77
|
.btn > .pi {
|
|
78
78
|
width: 1.25rem;
|
|
@@ -158,14 +158,14 @@
|
|
|
158
158
|
}
|
|
159
159
|
.btn-icon.btn-lg {
|
|
160
160
|
min-width: 3.5rem;
|
|
161
|
-
padding-right: 0.
|
|
162
|
-
padding-left: 0.
|
|
161
|
+
padding-right: 0.9375rem;
|
|
162
|
+
padding-left: 0.9375rem;
|
|
163
163
|
}
|
|
164
164
|
|
|
165
165
|
.btn-animated:not(.btn-link, .btn-tertiary)::after {
|
|
166
166
|
content: "";
|
|
167
167
|
position: absolute;
|
|
168
|
-
right:
|
|
168
|
+
right: 0.5rem;
|
|
169
169
|
width: 0.625em;
|
|
170
170
|
height: 0.625em;
|
|
171
171
|
transform: rotateZ(315deg) translate(-2px, -2px);
|
|
@@ -176,29 +176,29 @@
|
|
|
176
176
|
opacity: 0;
|
|
177
177
|
}
|
|
178
178
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-sm::after {
|
|
179
|
-
right: 0.
|
|
179
|
+
right: 0.25rem;
|
|
180
180
|
}
|
|
181
181
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-rg::after {
|
|
182
|
-
right: 0.
|
|
182
|
+
right: 0.375rem;
|
|
183
183
|
}
|
|
184
184
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-lg::after {
|
|
185
|
-
right:
|
|
185
|
+
right: 0.625rem;
|
|
186
186
|
}
|
|
187
187
|
.btn-animated:not(.btn-link, .btn-tertiary) > span {
|
|
188
188
|
transition: transform 250ms;
|
|
189
189
|
}
|
|
190
190
|
@media (prefers-reduced-motion: no-preference) {
|
|
191
191
|
.btn-animated:not(.btn-link, .btn-tertiary):focus > span, .btn-animated:not(.btn-link, .btn-tertiary):not(:disabled):hover > span, .btn-animated:not(.btn-link, .btn-tertiary).pretend-hover > span {
|
|
192
|
-
transform: translateX(-0.
|
|
192
|
+
transform: translateX(-0.5rem);
|
|
193
193
|
}
|
|
194
194
|
.btn-animated:not(.btn-link, .btn-tertiary):focus.btn-sm > span, .btn-animated:not(.btn-link, .btn-tertiary):not(:disabled):hover.btn-sm > span, .btn-animated:not(.btn-link, .btn-tertiary).pretend-hover.btn-sm > span {
|
|
195
195
|
transform: translateX(-0.5rem);
|
|
196
196
|
}
|
|
197
197
|
.btn-animated:not(.btn-link, .btn-tertiary):focus.btn-rg > span, .btn-animated:not(.btn-link, .btn-tertiary):not(:disabled):hover.btn-rg > span, .btn-animated:not(.btn-link, .btn-tertiary).pretend-hover.btn-rg > span {
|
|
198
|
-
transform: translateX(-0.
|
|
198
|
+
transform: translateX(-0.5rem);
|
|
199
199
|
}
|
|
200
200
|
.btn-animated:not(.btn-link, .btn-tertiary):focus.btn-lg > span, .btn-animated:not(.btn-link, .btn-tertiary):not(:disabled):hover.btn-lg > span, .btn-animated:not(.btn-link, .btn-tertiary).pretend-hover.btn-lg > span {
|
|
201
|
-
transform: translateX(-
|
|
201
|
+
transform: translateX(-0.5rem);
|
|
202
202
|
}
|
|
203
203
|
.btn-animated:not(.btn-link, .btn-tertiary):focus::after, .btn-animated:not(.btn-link, .btn-tertiary):not(:disabled):hover::after, .btn-animated:not(.btn-link, .btn-tertiary).pretend-hover::after {
|
|
204
204
|
transform: rotateZ(315deg) translate(0, 0);
|
|
@@ -212,10 +212,10 @@
|
|
|
212
212
|
.btn-sm {
|
|
213
213
|
min-height: 2rem;
|
|
214
214
|
font-size: 0.75rem;
|
|
215
|
-
gap: 0.
|
|
215
|
+
gap: 0.375rem;
|
|
216
216
|
}
|
|
217
217
|
.btn-sm:where(:not(.btn-link, .btn-tertiary)) {
|
|
218
|
-
padding: 0
|
|
218
|
+
padding: 0 0.75rem;
|
|
219
219
|
}
|
|
220
220
|
.btn-sm > .pi {
|
|
221
221
|
width: 1rem;
|
|
@@ -225,10 +225,10 @@
|
|
|
225
225
|
.btn-rg {
|
|
226
226
|
min-height: 2.5rem;
|
|
227
227
|
font-size: 0.875rem;
|
|
228
|
-
gap: 0.
|
|
228
|
+
gap: 0.5rem;
|
|
229
229
|
}
|
|
230
230
|
.btn-rg:where(:not(.btn-link, .btn-tertiary)) {
|
|
231
|
-
padding: 0
|
|
231
|
+
padding: 0 0.875rem;
|
|
232
232
|
}
|
|
233
233
|
.btn-rg > .pi {
|
|
234
234
|
width: 1.125rem;
|
|
@@ -238,14 +238,14 @@
|
|
|
238
238
|
.btn-lg {
|
|
239
239
|
min-height: 3.5rem;
|
|
240
240
|
font-size: 1.125rem;
|
|
241
|
-
gap:
|
|
241
|
+
gap: 0.75rem;
|
|
242
242
|
}
|
|
243
243
|
.btn-lg:where(:not(.btn-link, .btn-tertiary)) {
|
|
244
|
-
padding: 0
|
|
244
|
+
padding: 0 1.125rem;
|
|
245
245
|
}
|
|
246
246
|
.btn-lg > .pi {
|
|
247
|
-
width: 1.
|
|
248
|
-
height: 1.
|
|
247
|
+
width: 1.375rem;
|
|
248
|
+
height: 1.375rem;
|
|
249
249
|
}
|
|
250
250
|
|
|
251
251
|
.btn-nightblue {
|
|
@@ -476,6 +476,7 @@
|
|
|
476
476
|
box-shadow: none;
|
|
477
477
|
border: 0;
|
|
478
478
|
margin: 0;
|
|
479
|
+
cursor: pointer;
|
|
479
480
|
display: flex;
|
|
480
481
|
align-items: center;
|
|
481
482
|
gap: 0.5rem;
|
|
@@ -524,7 +525,7 @@ button {
|
|
|
524
525
|
|
|
525
526
|
a,
|
|
526
527
|
button {
|
|
527
|
-
border-radius:
|
|
528
|
+
border-radius: 4px;
|
|
528
529
|
outline: none;
|
|
529
530
|
outline-offset: 2px;
|
|
530
531
|
/* Compatibility with button-group */
|
|
@@ -532,7 +533,7 @@ button {
|
|
|
532
533
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
533
534
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
534
535
|
outline: 2px solid var(--post-contrast-color);
|
|
535
|
-
border-radius:
|
|
536
|
+
border-radius: 4px;
|
|
536
537
|
}
|
|
537
538
|
|
|
538
539
|
img,
|
|
@@ -8,7 +8,7 @@ export class PostKlpLoginWidget {
|
|
|
8
8
|
if (((_b = (_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header) === null || _b === void 0 ? void 0 : _b.showJobsLoginWidget) ||
|
|
9
9
|
!((_d = (_c = state.localizedConfig) === null || _c === void 0 ? void 0 : _c.header) === null || _d === void 0 ? void 0 : _d.loginWidgetOptions))
|
|
10
10
|
return;
|
|
11
|
-
const { initializeKLPLoginWidget } = await import('./klp-widget.controller');
|
|
11
|
+
const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');
|
|
12
12
|
initializeKLPLoginWidget('post-klp-login-widget', Object.assign(Object.assign({}, state.localizedConfig.header.loginWidgetOptions), { environment: state.environment }));
|
|
13
13
|
}
|
|
14
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-klp-login-widget.js","sourceRoot":"","sources":["../../../../src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,MAAM,OAAO,kBAAkB;EAG7B,KAAK,CAAC,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"post-klp-login-widget.js","sourceRoot":"","sources":["../../../../src/components/post-klp-login-widget/post-klp-login-widget.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQzD,MAAM,OAAO,kBAAkB;EAG7B,KAAK,CAAC,gBAAgB;;IACpB,IACE,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,mBAAmB;MAClD,CAAC,CAAA,MAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MAElD,OAAO;IACT,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;IAChF,wBAAwB,CAAC,uBAAuB,kCAC3C,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,KAClD,WAAW,EAAE,KAAK,CAAC,WAAW,IAC9B,CAAC;EACL,CAAC;EAED;;KAEG;EAEH,KAAK,CAAC,QAAQ;;IACZ,MAAM,WAAW,GAAG,MAAA,IAAI,CAAC,IAAI,CAAC,UAAU,0CAAE,gBAAgB,CACxD,uEAAuE,CACxE,CAAC;IACF,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,EAAE;MACrC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC;KACxB;EACH,CAAC;EAED,MAAM;;IACJ,IACE,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,kBAAkB,CAAA;MACnD,CAAC,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,CAAA,EACpD;MACA,OAAO,CAAC,IAAI,CACV,sHAAsH,KAAK,CAAC,SAAS,kHAAkH,CACxP,CAAC;MACF,OAAO,IAAI,CAAC;KACb;IACD,OAAO,CACL,EAAC,IAAI;MACH,EAAC,SAAS,OAAG;MACb,WAAK,KAAK,EAAC,gBAAgB,8BACxB,CAAA,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,eAAe,0CAAE,MAAM,0CAAE,mBAAmB,EAAC,CAAC,CAAC,CACrD,SACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,cAAc,EACpB,IAAI,EAAE,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,kBAAkB,0CAAE,WAAW;QAElE,YAAM,KAAK,EAAC,iBAAiB,IAC1B,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CACrD;QACP,EAAC,OAAO,IAAC,IAAI,EAAC,UAAU,GAAG,CACzB,CACL,CAAC,CAAC,CAAC,CACF,WAAK,EAAE,EAAC,uBAAuB,GAAO,CACvC,CACG,CACD,CACR,CAAC;EACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Method, Element } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { IsFocusable } from '../../models/header.model';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { SvgIcon } from '../../utils/svg-icon.component';\n\n@Component({\n tag: 'post-klp-login-widget',\n styleUrl: 'post-klp-login-widget.scss',\n scoped: false,\n shadow: true,\n})\nexport class PostKlpLoginWidget implements IsFocusable {\n @Element() host: HTMLElement;\n\n async componentDidLoad() {\n if (\n state.localizedConfig?.header?.showJobsLoginWidget ||\n !state.localizedConfig?.header?.loginWidgetOptions\n )\n return;\n const { initializeKLPLoginWidget } = await import('./klp-widget.controller.js');\n initializeKLPLoginWidget('post-klp-login-widget', {\n ...state.localizedConfig.header.loginWidgetOptions,\n environment: state.environment,\n });\n }\n\n /**\n * Sets the focus on the login button\n */\n @Method()\n async setFocus() {\n const loginButton = this.host.shadowRoot?.querySelectorAll<HTMLElement>(\n '.klp-widget-anonymous__wrapper a, .klp-widget-authenticated-session a',\n );\n if (loginButton && loginButton.length) {\n loginButton[0].focus();\n }\n }\n\n render() {\n if (\n !state?.localizedConfig?.header?.loginWidgetOptions &&\n !state?.localizedConfig?.header?.showJobsLoginWidget\n ) {\n console.warn(\n `Internet Header: the login widget is not configured in your portal config. Use <swisspost-internet-header project=\"${state.projectId}\" login=\"false\"></swisspost-internet-header> to turn off the login widget or configure it via the portal config.`,\n );\n return null;\n }\n return (\n <Host>\n <SvgSprite />\n <div class=\"widget-wrapper\" data-hj-suppress>\n {state?.localizedConfig?.header?.showJobsLoginWidget ? (\n <a\n id=\"post-klp-login-widget\"\n class=\"login-button\"\n href={state.localizedConfig.header.loginWidgetOptions?.appLoginUrl}\n >\n <span class=\"visually-hidden\">\n {state.localizedConfig.header.translations.loginWidgetText}\n </span>\n <SvgIcon name=\"pi-login\" />\n </a>\n ) : (\n <div id=\"post-klp-login-widget\"></div>\n )}\n </div>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
box-shadow: none;
|
|
75
75
|
border: 0;
|
|
76
76
|
margin: 0;
|
|
77
|
+
cursor: pointer;
|
|
77
78
|
display: flex;
|
|
78
79
|
align-items: center;
|
|
79
80
|
gap: 0.5rem;
|
|
@@ -128,7 +129,7 @@ button {
|
|
|
128
129
|
|
|
129
130
|
a,
|
|
130
131
|
button {
|
|
131
|
-
border-radius:
|
|
132
|
+
border-radius: 4px;
|
|
132
133
|
outline: none;
|
|
133
134
|
outline-offset: 2px;
|
|
134
135
|
/* Compatibility with button-group */
|
|
@@ -136,7 +137,7 @@ button {
|
|
|
136
137
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
137
138
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
138
139
|
outline: 2px solid var(--post-contrast-color);
|
|
139
|
-
border-radius:
|
|
140
|
+
border-radius: 4px;
|
|
140
141
|
}
|
|
141
142
|
|
|
142
143
|
img,
|
|
@@ -262,10 +263,11 @@ svg {
|
|
|
262
263
|
align-self: stretch;
|
|
263
264
|
}
|
|
264
265
|
:host::before {
|
|
266
|
+
position: relative;
|
|
267
|
+
content: "";
|
|
265
268
|
display: var(--separator-display);
|
|
266
269
|
height: var(--separator-height);
|
|
267
270
|
border-left: 1px solid hsl(0, 0%, 90%);
|
|
268
|
-
content: "";
|
|
269
271
|
}
|
|
270
272
|
|
|
271
273
|
.lang-btn {
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
box-shadow: none;
|
|
74
74
|
border: 0;
|
|
75
75
|
margin: 0;
|
|
76
|
+
cursor: pointer;
|
|
76
77
|
display: flex;
|
|
77
78
|
align-items: center;
|
|
78
79
|
gap: 0.5rem;
|
|
@@ -121,7 +122,7 @@ button {
|
|
|
121
122
|
|
|
122
123
|
a,
|
|
123
124
|
button {
|
|
124
|
-
border-radius:
|
|
125
|
+
border-radius: 4px;
|
|
125
126
|
outline: none;
|
|
126
127
|
outline-offset: 2px;
|
|
127
128
|
/* Compatibility with button-group */
|
|
@@ -129,7 +130,7 @@ button {
|
|
|
129
130
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
130
131
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
131
132
|
outline: 2px solid var(--post-contrast-color);
|
|
132
|
-
border-radius:
|
|
133
|
+
border-radius: 4px;
|
|
133
134
|
}
|
|
134
135
|
|
|
135
136
|
img,
|
|
@@ -249,6 +250,7 @@ svg {
|
|
|
249
250
|
|
|
250
251
|
:host {
|
|
251
252
|
display: block;
|
|
253
|
+
aspect-ratio: 1/1;
|
|
252
254
|
}
|
|
253
255
|
|
|
254
256
|
.logo {
|
|
@@ -258,6 +260,6 @@ svg {
|
|
|
258
260
|
}
|
|
259
261
|
.logo svg {
|
|
260
262
|
display: block;
|
|
261
|
-
width:
|
|
262
|
-
height:
|
|
263
|
+
width: 100%;
|
|
264
|
+
height: 100%;
|
|
263
265
|
}
|
|
@@ -1,35 +1,6 @@
|
|
|
1
1
|
import { Host, h } from '@stencil/core';
|
|
2
|
-
import { throttle } from 'throttle-debounce';
|
|
3
2
|
import { state } from '../../data/store';
|
|
4
3
|
export class PostLogo {
|
|
5
|
-
constructor() {
|
|
6
|
-
this.showFaviconLogo = undefined;
|
|
7
|
-
// Register window resize event listener and a resize observer on the mainnav controls (they change size while controls are being loaded) to display an accurately sized logo
|
|
8
|
-
this.throttledResize = throttle(300, () => this.handleResize());
|
|
9
|
-
window.addEventListener('resize', this.throttledResize, { passive: true });
|
|
10
|
-
this.resizeObserver = new ResizeObserver(this.handleResize.bind(this));
|
|
11
|
-
// Initially call the resize handler
|
|
12
|
-
this.handleResize();
|
|
13
|
-
}
|
|
14
|
-
componentDidLoad() {
|
|
15
|
-
var _a;
|
|
16
|
-
const mainNavControls = (_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector('.main-navigation-controls');
|
|
17
|
-
if (mainNavControls) {
|
|
18
|
-
this.resizeObserver.observe(mainNavControls);
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
disconnectedCallback() {
|
|
22
|
-
window.removeEventListener('resize', this.throttledResize);
|
|
23
|
-
this.resizeObserver.disconnect();
|
|
24
|
-
}
|
|
25
|
-
handleResize() {
|
|
26
|
-
var _a, _b;
|
|
27
|
-
const mainNavControls = (_a = this.host.parentElement) === null || _a === void 0 ? void 0 : _a.querySelector('.main-navigation-controls');
|
|
28
|
-
const menuButton = (_b = this.host.parentElement) === null || _b === void 0 ? void 0 : _b.querySelector('.menu-button');
|
|
29
|
-
if (mainNavControls && menuButton)
|
|
30
|
-
this.showFaviconLogo =
|
|
31
|
-
window.innerWidth - (150 + mainNavControls.clientWidth + menuButton.clientWidth) <= 0;
|
|
32
|
-
}
|
|
33
4
|
render() {
|
|
34
5
|
var _a;
|
|
35
6
|
if (((_a = state.localizedConfig) === null || _a === void 0 ? void 0 : _a.header.logo) === undefined)
|
|
@@ -49,11 +20,6 @@ export class PostLogo {
|
|
|
49
20
|
"$": ["post-logo.css"]
|
|
50
21
|
};
|
|
51
22
|
}
|
|
52
|
-
static get states() {
|
|
53
|
-
return {
|
|
54
|
-
"showFaviconLogo": {}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
23
|
static get elementRef() { return "host"; }
|
|
58
24
|
}
|
|
59
25
|
//# sourceMappingURL=post-logo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-logo.js","sourceRoot":"","sources":["../../../../src/components/post-logo/post-logo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,
|
|
1
|
+
{"version":3,"file":"post-logo.js","sourceRoot":"","sources":["../../../../src/components/post-logo/post-logo.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAOzC,MAAM,OAAO,QAAQ;EAGnB,MAAM;;IACJ,IAAI,CAAA,MAAA,KAAK,CAAC,eAAe,0CAAE,MAAM,CAAC,IAAI,MAAK,SAAS;MAAE,OAAO;IAC7D,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC;IAEjD,OAAO,CACL,EAAC,IAAI;MACH,SAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM;QACpC,YAAM,KAAK,EAAC,iBAAiB,IAAE,MAAM,CAAC,aAAa,CAAQ;QAC3D,WAAK,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,iBAAa,MAAM;UAC5E,SAAG,EAAE,EAAC,MAAM;YACV,YAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,GAAG,EAAC,CAAC,EAAC,GAAG,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,GAAG;YAC1D,eACE,IAAI,EAAC,SAAS,EACd,MAAM,EAAC,qLAAqL,GAC5L;YACF,YAAM,CAAC,EAAC,4PAA4P,GAAG,CACrQ,CACA,CACJ,CACC,CACR,CAAC;EACJ,CAAC;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Element } from '@stencil/core';\nimport { state } from '../../data/store';\n\n@Component({\n tag: 'post-logo',\n styleUrl: 'post-logo.scss',\n shadow: true,\n})\nexport class PostLogo {\n @Element() host: HTMLPostLogoElement;\n\n render() {\n if (state.localizedConfig?.header.logo === undefined) return;\n const config = state.localizedConfig.header.logo;\n\n return (\n <Host>\n <a href={config.logoLink} class=\"logo\">\n <span class=\"visually-hidden\">{config.logoLinkTitle}</span>\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 72 72\" aria-hidden=\"true\">\n <g id=\"Logo\">\n <rect fill=\"#ffcc00\" x=\"0\" y=\"0\" width=\"72\" height=\"72\" />\n <polygon\n fill=\"#ff0000\"\n points=\"34,32.3 34,19 19.7,19 19.7,29.1 10,29.1 10,42.9 19.7,42.9 19.7,53 34,53 34,39.7 30.6,39.7 30.6,49.8 23.1,49.8 23.1,39.7 13.4,39.7 13.4,32.3 23.1,32.3 23.1,22.2 30.6,22.2 30.6,32.3\"\n />\n <path d=\"M53.56234,31.10526c0,2.41272-1.99154,4.29475-4.51723,4.29475H45.2v-8.3h3.84511C51.66802,27.1,53.56234,28.78889,53.56234,31.10526z M50.69666,19H36v34h9.2V42.9h5.49666c6.75131,0,11.9971-5.15137,11.9971-11.8057C62.69376,24.39136,57.35099,19,50.69666,19z\" />\n </g>\n </svg>\n </a>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
* will be available as sass-variables
|
|
22
22
|
* but should not be used.
|
|
23
23
|
*/
|
|
24
|
+
/*!
|
|
25
|
+
* Copyright 2021 by Swiss Post, Information Technology
|
|
26
|
+
*/
|
|
24
27
|
/**
|
|
25
28
|
* Generate responsive size properties for things like height, width, margin, padding, etc.
|
|
26
29
|
* @param $curve-size One of the curve sizes predefined at https://www.experience-hub.ch/document/2307#/grundlagen-web/abstaende
|
|
@@ -123,6 +126,7 @@
|
|
|
123
126
|
box-shadow: none;
|
|
124
127
|
border: 0;
|
|
125
128
|
margin: 0;
|
|
129
|
+
cursor: pointer;
|
|
126
130
|
display: flex;
|
|
127
131
|
align-items: center;
|
|
128
132
|
gap: 0.5rem;
|
|
@@ -171,7 +175,7 @@ button {
|
|
|
171
175
|
|
|
172
176
|
a,
|
|
173
177
|
button {
|
|
174
|
-
border-radius:
|
|
178
|
+
border-radius: 4px;
|
|
175
179
|
outline: none;
|
|
176
180
|
outline-offset: 2px;
|
|
177
181
|
/* Compatibility with button-group */
|
|
@@ -179,7 +183,7 @@ button {
|
|
|
179
183
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
180
184
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
181
185
|
outline: 2px solid var(--post-contrast-color);
|
|
182
|
-
border-radius:
|
|
186
|
+
border-radius: 4px;
|
|
183
187
|
}
|
|
184
188
|
|
|
185
189
|
img,
|