@swisspost/internet-header 1.8.3-beta.1 → 1.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{klp-widget.controller-d86525e1.js → klp-widget.controller-8e2198a2.js} +8 -8
- package/dist/cjs/klp-widget.controller-8e2198a2.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 +73 -20
- 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 +7 -7
- 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-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 -2
- package/dist/collection/data/store.js +1 -0
- package/dist/collection/data/store.js.map +1 -1
- package/dist/components/klp-widget.controller.js +7 -7
- 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 +65 -12
- package/dist/components/swisspost-internet-header.js.map +1 -1
- package/dist/esm/{klp-widget.controller-91f5dd0b.js → klp-widget.controller-e9029567.js} +8 -8
- package/dist/esm/klp-widget.controller-e9029567.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 +67 -14
- package/dist/esm/swisspost-internet-header.entry.js.map +1 -1
- package/dist/esm/swisspost-internet-header.js +1 -1
- package/dist/esm-es5/{klp-widget.controller-91f5dd0b.js → klp-widget.controller-e9029567.js} +2 -2
- package/dist/esm-es5/{klp-widget.controller-91f5dd0b.js.map → klp-widget.controller-e9029567.js.map} +1 -1
- 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-0dd2de97.entry.js +2 -0
- package/dist/swisspost-internet-header/p-0dd2de97.entry.js.map +1 -0
- 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-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-5b233b42.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-df51fa24.entry.js.map → p-5b233b42.entry.js.map} +1 -1
- 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-24aba4ed.system.js → p-6426cae8.system.js} +2 -2
- package/dist/swisspost-internet-header/{p-24aba4ed.system.js.map → p-6426cae8.system.js.map} +1 -1
- 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-811b9615.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-4ae35141.entry.js.map → p-811b9615.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/p-84f78f40.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-b8ea3c0a.system.entry.js.map → p-84f78f40.system.entry.js.map} +1 -1
- package/dist/swisspost-internet-header/{p-77f72b8d.js → p-8ad474a9.js} +2 -2
- package/dist/swisspost-internet-header/{p-77f72b8d.js.map → p-8ad474a9.js.map} +1 -1
- 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-b33e74a6.entry.js +2 -0
- package/dist/swisspost-internet-header/p-b33e74a6.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-d6a99399.system.entry.js +2 -0
- package/dist/swisspost-internet-header/p-d6a99399.system.entry.js.map +1 -0
- package/dist/swisspost-internet-header/p-e1fa55e3.system.entry.js +2 -0
- package/dist/swisspost-internet-header/{p-4bd302a5.system.entry.js.map → p-e1fa55e3.system.entry.js.map} +1 -1
- 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-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 +8 -8
- 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/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-1055564a.entry.js +0 -7
- 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-31881c83.system.entry.js +0 -2
- package/dist/swisspost-internet-header/p-31881c83.system.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-8078bb3c.entry.js +0 -2
- package/dist/swisspost-internet-header/p-8078bb3c.entry.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-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
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Colors used by the post style guide
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Maps. Allow maps to have custom colors from the project
|
|
6
|
+
* by always merging into a default empty map
|
|
7
|
+
*/
|
|
1
8
|
/**
|
|
2
9
|
* Colors used by the post style guide
|
|
3
10
|
*/
|
|
@@ -14,117 +21,15 @@
|
|
|
14
21
|
* will be available as sass-variables
|
|
15
22
|
* but should not be used.
|
|
16
23
|
*/
|
|
17
|
-
/**
|
|
18
|
-
* Colors used by the post style guide
|
|
19
|
-
*/
|
|
20
|
-
/**
|
|
21
|
-
* Maps. Allow maps to have custom colors from the project
|
|
22
|
-
* by always merging into a default empty map
|
|
23
|
-
*/
|
|
24
24
|
/*!
|
|
25
|
-
*
|
|
26
|
-
* Copyright 2011-2021 The Bootstrap Authors
|
|
27
|
-
* Copyright 2011-2021 Twitter, Inc.
|
|
28
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
29
|
-
|
|
30
|
-
* The MIT License (MIT)
|
|
31
|
-
|
|
32
|
-
* Copyright (c) 2011-2020 Twitter, Inc.
|
|
33
|
-
* Copyright (c) 2011-2020 The Bootstrap Authors
|
|
34
|
-
|
|
35
|
-
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
36
|
-
* of this software and associated documentation files (the "Software"), to deal
|
|
37
|
-
* in the Software without restriction, including without limitation the rights
|
|
38
|
-
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
39
|
-
* copies of the Software, and to permit persons to whom the Software is
|
|
40
|
-
* furnished to do so, subject to the following conditions:
|
|
41
|
-
|
|
42
|
-
* The above copyright notice and this permission notice shall be included in
|
|
43
|
-
* all copies or substantial portions of the Software.
|
|
44
|
-
|
|
45
|
-
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
46
|
-
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
47
|
-
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
48
|
-
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
49
|
-
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
50
|
-
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
51
|
-
* THE SOFTWARE.
|
|
25
|
+
* Copyright 2021 by Swiss Post, Information Technology
|
|
52
26
|
*/
|
|
53
|
-
.btn-close {
|
|
54
|
-
--bs-btn-close-color: #000;
|
|
55
|
-
--bs-btn-close-bg: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%3E%3Cpath opacity='1' fill='%23000000' d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/g%3E%3C/svg%3E");
|
|
56
|
-
--bs-btn-close-opacity: 0.5;
|
|
57
|
-
--bs-btn-close-hover-opacity: 0.75;
|
|
58
|
-
--bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(51, 51, 51, 0.25);
|
|
59
|
-
--bs-btn-close-focus-opacity: 1;
|
|
60
|
-
--bs-btn-close-disabled-opacity: 0.25;
|
|
61
|
-
--bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
|
|
62
|
-
box-sizing: content-box;
|
|
63
|
-
width: 1.5rem;
|
|
64
|
-
height: 1.5rem;
|
|
65
|
-
padding: 1rem 1rem;
|
|
66
|
-
color: var(--bs-btn-close-color);
|
|
67
|
-
background: transparent var(--bs-btn-close-bg) center/1.5rem auto no-repeat;
|
|
68
|
-
border: 0;
|
|
69
|
-
border-radius: 3px;
|
|
70
|
-
opacity: var(--bs-btn-close-opacity);
|
|
71
|
-
}
|
|
72
|
-
.btn-close:hover {
|
|
73
|
-
color: var(--bs-btn-close-color);
|
|
74
|
-
text-decoration: none;
|
|
75
|
-
opacity: var(--bs-btn-close-hover-opacity);
|
|
76
|
-
}
|
|
77
|
-
.btn-close:focus {
|
|
78
|
-
outline: 0;
|
|
79
|
-
box-shadow: var(--bs-btn-close-focus-shadow);
|
|
80
|
-
opacity: var(--bs-btn-close-focus-opacity);
|
|
81
|
-
}
|
|
82
|
-
.btn-close:disabled, .btn-close.disabled {
|
|
83
|
-
pointer-events: none;
|
|
84
|
-
user-select: none;
|
|
85
|
-
opacity: var(--bs-btn-close-disabled-opacity);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
.btn-close-white {
|
|
89
|
-
filter: var(--bs-btn-close-white-filter);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
[data-bs-theme=dark] .btn-close {
|
|
93
|
-
filter: var(--bs-btn-close-white-filter);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
.btn-close {
|
|
97
|
-
height: unset;
|
|
98
|
-
min-height: 1.5rem;
|
|
99
|
-
}
|
|
100
|
-
@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black) {
|
|
101
|
-
.btn-close {
|
|
102
|
-
opacity: 1;
|
|
103
|
-
background: transparent url("data:image/svg+xml,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cg id='icon'%3E%3Cpath opacity='1' fill='%23ffffff' d='m16.267 16.667 6.667-6.533-.933-1.067-6.667 6.667-6.667-6.667-.933 1.067 6.667 6.533-6.667 6.667 1.067.933 6.533-6.667 6.667 6.667.933-1.067z'/%3E%3C/g%3E%3C/svg%3E") center/1.5rem auto no-repeat;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
.btn-close:focus {
|
|
107
|
-
outline: 2px solid var(--post-contrast-color);
|
|
108
|
-
box-shadow: none;
|
|
109
|
-
}
|
|
110
|
-
.btn-close:focus:not(:focus-visible) {
|
|
111
|
-
outline: 0;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
@media (forced-colors: active), (-ms-high-contrast: active), (-ms-high-contrast: white-on-black) {
|
|
115
|
-
.btn-close-white {
|
|
116
|
-
filter: none;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
27
|
/**
|
|
121
28
|
* Generate responsive size properties for things like height, width, margin, padding, etc.
|
|
122
29
|
* @param $curve-size One of the curve sizes predefined at https://www.experience-hub.ch/document/2307#/grundlagen-web/abstaende
|
|
123
30
|
* @param $property Property key (height, width, padding, margin, top, etc.)
|
|
124
31
|
* @param $template Value template string used for shorthand declarations like padding ("$value auto" = padding: 1rem auto)
|
|
125
32
|
*/
|
|
126
|
-
/* stylelint-disable */
|
|
127
|
-
/* stylelint-enable */
|
|
128
33
|
.btn-default,
|
|
129
34
|
.btn-secondary {
|
|
130
35
|
border: 2px solid var(--post-gray-60);
|
|
@@ -169,7 +74,7 @@
|
|
|
169
74
|
.btn {
|
|
170
75
|
min-height: 3rem;
|
|
171
76
|
font-size: 1rem;
|
|
172
|
-
gap:
|
|
77
|
+
gap: 0.625rem;
|
|
173
78
|
outline: none;
|
|
174
79
|
outline-offset: 2px;
|
|
175
80
|
/* Compatibility with button-group */
|
|
@@ -182,7 +87,7 @@
|
|
|
182
87
|
transition: opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;
|
|
183
88
|
border-width: 2px;
|
|
184
89
|
border-style: solid;
|
|
185
|
-
border-radius:
|
|
90
|
+
border-radius: 4px;
|
|
186
91
|
background-color: transparent;
|
|
187
92
|
box-shadow: none;
|
|
188
93
|
color: var(--post-gray-80);
|
|
@@ -192,7 +97,7 @@
|
|
|
192
97
|
white-space: nowrap;
|
|
193
98
|
}
|
|
194
99
|
.btn:where(:not(.btn-link, .btn-tertiary)) {
|
|
195
|
-
padding: 0
|
|
100
|
+
padding: 0 1rem;
|
|
196
101
|
}
|
|
197
102
|
.btn > .pi {
|
|
198
103
|
width: 1.25rem;
|
|
@@ -278,14 +183,14 @@
|
|
|
278
183
|
}
|
|
279
184
|
.btn-icon.btn-lg {
|
|
280
185
|
min-width: 3.5rem;
|
|
281
|
-
padding-right: 0.
|
|
282
|
-
padding-left: 0.
|
|
186
|
+
padding-right: 0.9375rem;
|
|
187
|
+
padding-left: 0.9375rem;
|
|
283
188
|
}
|
|
284
189
|
|
|
285
190
|
.btn-animated:not(.btn-link, .btn-tertiary)::after {
|
|
286
191
|
content: "";
|
|
287
192
|
position: absolute;
|
|
288
|
-
right:
|
|
193
|
+
right: 0.5rem;
|
|
289
194
|
width: 0.625em;
|
|
290
195
|
height: 0.625em;
|
|
291
196
|
transform: rotateZ(315deg) translate(-2px, -2px);
|
|
@@ -296,29 +201,29 @@
|
|
|
296
201
|
opacity: 0;
|
|
297
202
|
}
|
|
298
203
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-sm::after {
|
|
299
|
-
right: 0.
|
|
204
|
+
right: 0.25rem;
|
|
300
205
|
}
|
|
301
206
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-rg::after {
|
|
302
|
-
right: 0.
|
|
207
|
+
right: 0.375rem;
|
|
303
208
|
}
|
|
304
209
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-lg::after {
|
|
305
|
-
right:
|
|
210
|
+
right: 0.625rem;
|
|
306
211
|
}
|
|
307
212
|
.btn-animated:not(.btn-link, .btn-tertiary) > span {
|
|
308
213
|
transition: transform 250ms;
|
|
309
214
|
}
|
|
310
215
|
@media (prefers-reduced-motion: no-preference) {
|
|
311
216
|
.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 {
|
|
312
|
-
transform: translateX(-0.
|
|
217
|
+
transform: translateX(-0.5rem);
|
|
313
218
|
}
|
|
314
219
|
.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 {
|
|
315
220
|
transform: translateX(-0.5rem);
|
|
316
221
|
}
|
|
317
222
|
.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 {
|
|
318
|
-
transform: translateX(-0.
|
|
223
|
+
transform: translateX(-0.5rem);
|
|
319
224
|
}
|
|
320
225
|
.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 {
|
|
321
|
-
transform: translateX(-
|
|
226
|
+
transform: translateX(-0.5rem);
|
|
322
227
|
}
|
|
323
228
|
.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 {
|
|
324
229
|
transform: rotateZ(315deg) translate(0, 0);
|
|
@@ -332,10 +237,10 @@
|
|
|
332
237
|
.btn-sm {
|
|
333
238
|
min-height: 2rem;
|
|
334
239
|
font-size: 0.75rem;
|
|
335
|
-
gap: 0.
|
|
240
|
+
gap: 0.375rem;
|
|
336
241
|
}
|
|
337
242
|
.btn-sm:where(:not(.btn-link, .btn-tertiary)) {
|
|
338
|
-
padding: 0
|
|
243
|
+
padding: 0 0.75rem;
|
|
339
244
|
}
|
|
340
245
|
.btn-sm > .pi {
|
|
341
246
|
width: 1rem;
|
|
@@ -345,10 +250,10 @@
|
|
|
345
250
|
.btn-rg {
|
|
346
251
|
min-height: 2.5rem;
|
|
347
252
|
font-size: 0.875rem;
|
|
348
|
-
gap: 0.
|
|
253
|
+
gap: 0.5rem;
|
|
349
254
|
}
|
|
350
255
|
.btn-rg:where(:not(.btn-link, .btn-tertiary)) {
|
|
351
|
-
padding: 0
|
|
256
|
+
padding: 0 0.875rem;
|
|
352
257
|
}
|
|
353
258
|
.btn-rg > .pi {
|
|
354
259
|
width: 1.125rem;
|
|
@@ -358,14 +263,14 @@
|
|
|
358
263
|
.btn-lg {
|
|
359
264
|
min-height: 3.5rem;
|
|
360
265
|
font-size: 1.125rem;
|
|
361
|
-
gap:
|
|
266
|
+
gap: 0.75rem;
|
|
362
267
|
}
|
|
363
268
|
.btn-lg:where(:not(.btn-link, .btn-tertiary)) {
|
|
364
|
-
padding: 0
|
|
269
|
+
padding: 0 1.125rem;
|
|
365
270
|
}
|
|
366
271
|
.btn-lg > .pi {
|
|
367
|
-
width: 1.
|
|
368
|
-
height: 1.
|
|
272
|
+
width: 1.375rem;
|
|
273
|
+
height: 1.375rem;
|
|
369
274
|
}
|
|
370
275
|
|
|
371
276
|
.btn-nightblue {
|
|
@@ -528,6 +433,35 @@
|
|
|
528
433
|
color: #fff;
|
|
529
434
|
}
|
|
530
435
|
|
|
436
|
+
/*!
|
|
437
|
+
* Bootstrap Utilities v5.1.3 (https://getbootstrap.com/)
|
|
438
|
+
* Copyright 2011-2021 The Bootstrap Authors
|
|
439
|
+
* Copyright 2011-2021 Twitter, Inc.
|
|
440
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
441
|
+
|
|
442
|
+
* The MIT License (MIT)
|
|
443
|
+
|
|
444
|
+
* Copyright (c) 2011-2020 Twitter, Inc.
|
|
445
|
+
* Copyright (c) 2011-2020 The Bootstrap Authors
|
|
446
|
+
|
|
447
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
448
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
449
|
+
* in the Software without restriction, including without limitation the rights
|
|
450
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
451
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
452
|
+
* furnished to do so, subject to the following conditions:
|
|
453
|
+
|
|
454
|
+
* The above copyright notice and this permission notice shall be included in
|
|
455
|
+
* all copies or substantial portions of the Software.
|
|
456
|
+
|
|
457
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
458
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
459
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
460
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
461
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
462
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
463
|
+
* THE SOFTWARE.
|
|
464
|
+
*/
|
|
531
465
|
:root {
|
|
532
466
|
--bs-breakpoint-xs: 0;
|
|
533
467
|
--bs-breakpoint-sm: 400px;
|
|
@@ -1995,7 +1929,7 @@
|
|
|
1995
1929
|
--bs-progress-height: 1rem;
|
|
1996
1930
|
--bs-progress-font-size: 0.75rem;
|
|
1997
1931
|
--bs-progress-bg: hsl(0, 0%, 80%);
|
|
1998
|
-
--bs-progress-border-radius:
|
|
1932
|
+
--bs-progress-border-radius: 4px;
|
|
1999
1933
|
--bs-progress-box-shadow: inset 0 0.1rem 0.1rem rgba(0, 0, 0, 0.1);
|
|
2000
1934
|
--bs-progress-bar-color: #fff;
|
|
2001
1935
|
--bs-progress-bar-bg: hsl(0, 0%, 20%);
|
|
@@ -2175,6 +2109,7 @@
|
|
|
2175
2109
|
box-shadow: none;
|
|
2176
2110
|
border: 0;
|
|
2177
2111
|
margin: 0;
|
|
2112
|
+
cursor: pointer;
|
|
2178
2113
|
display: flex;
|
|
2179
2114
|
align-items: center;
|
|
2180
2115
|
gap: 0.5rem;
|
|
@@ -2223,7 +2158,7 @@ button {
|
|
|
2223
2158
|
|
|
2224
2159
|
a,
|
|
2225
2160
|
button {
|
|
2226
|
-
border-radius:
|
|
2161
|
+
border-radius: 4px;
|
|
2227
2162
|
outline: none;
|
|
2228
2163
|
outline-offset: 2px;
|
|
2229
2164
|
/* Compatibility with button-group */
|
|
@@ -2231,7 +2166,7 @@ button {
|
|
|
2231
2166
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
2232
2167
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
2233
2168
|
outline: 2px solid var(--post-contrast-color);
|
|
2234
|
-
border-radius:
|
|
2169
|
+
border-radius: 4px;
|
|
2235
2170
|
}
|
|
2236
2171
|
|
|
2237
2172
|
img,
|
|
@@ -1507,6 +1507,9 @@
|
|
|
1507
1507
|
}
|
|
1508
1508
|
}
|
|
1509
1509
|
|
|
1510
|
+
/*!
|
|
1511
|
+
* Copyright 2021 by Swiss Post, Information Technology
|
|
1512
|
+
*/
|
|
1510
1513
|
/**
|
|
1511
1514
|
* Generate responsive size properties for things like height, width, margin, padding, etc.
|
|
1512
1515
|
* @param $curve-size One of the curve sizes predefined at https://www.experience-hub.ch/document/2307#/grundlagen-web/abstaende
|
|
@@ -1557,7 +1560,7 @@
|
|
|
1557
1560
|
.btn {
|
|
1558
1561
|
min-height: 3rem;
|
|
1559
1562
|
font-size: 1rem;
|
|
1560
|
-
gap:
|
|
1563
|
+
gap: 0.625rem;
|
|
1561
1564
|
outline: none;
|
|
1562
1565
|
outline-offset: 2px;
|
|
1563
1566
|
/* Compatibility with button-group */
|
|
@@ -1570,7 +1573,7 @@
|
|
|
1570
1573
|
transition: opacity 250ms, border-color 250ms, background-color 250ms, color 250ms;
|
|
1571
1574
|
border-width: 2px;
|
|
1572
1575
|
border-style: solid;
|
|
1573
|
-
border-radius:
|
|
1576
|
+
border-radius: 4px;
|
|
1574
1577
|
background-color: transparent;
|
|
1575
1578
|
box-shadow: none;
|
|
1576
1579
|
color: var(--post-gray-80);
|
|
@@ -1580,7 +1583,7 @@
|
|
|
1580
1583
|
white-space: nowrap;
|
|
1581
1584
|
}
|
|
1582
1585
|
.btn:where(:not(.btn-link, .btn-tertiary)) {
|
|
1583
|
-
padding: 0
|
|
1586
|
+
padding: 0 1rem;
|
|
1584
1587
|
}
|
|
1585
1588
|
.btn > .pi {
|
|
1586
1589
|
width: 1.25rem;
|
|
@@ -1666,14 +1669,14 @@
|
|
|
1666
1669
|
}
|
|
1667
1670
|
.btn-icon.btn-lg {
|
|
1668
1671
|
min-width: 3.5rem;
|
|
1669
|
-
padding-right: 0.
|
|
1670
|
-
padding-left: 0.
|
|
1672
|
+
padding-right: 0.9375rem;
|
|
1673
|
+
padding-left: 0.9375rem;
|
|
1671
1674
|
}
|
|
1672
1675
|
|
|
1673
1676
|
.btn-animated:not(.btn-link, .btn-tertiary)::after {
|
|
1674
1677
|
content: "";
|
|
1675
1678
|
position: absolute;
|
|
1676
|
-
right:
|
|
1679
|
+
right: 0.5rem;
|
|
1677
1680
|
width: 0.625em;
|
|
1678
1681
|
height: 0.625em;
|
|
1679
1682
|
transform: rotateZ(315deg) translate(-2px, -2px);
|
|
@@ -1684,29 +1687,29 @@
|
|
|
1684
1687
|
opacity: 0;
|
|
1685
1688
|
}
|
|
1686
1689
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-sm::after {
|
|
1687
|
-
right: 0.
|
|
1690
|
+
right: 0.25rem;
|
|
1688
1691
|
}
|
|
1689
1692
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-rg::after {
|
|
1690
|
-
right: 0.
|
|
1693
|
+
right: 0.375rem;
|
|
1691
1694
|
}
|
|
1692
1695
|
.btn-animated:not(.btn-link, .btn-tertiary).btn-lg::after {
|
|
1693
|
-
right:
|
|
1696
|
+
right: 0.625rem;
|
|
1694
1697
|
}
|
|
1695
1698
|
.btn-animated:not(.btn-link, .btn-tertiary) > span {
|
|
1696
1699
|
transition: transform 250ms;
|
|
1697
1700
|
}
|
|
1698
1701
|
@media (prefers-reduced-motion: no-preference) {
|
|
1699
1702
|
.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 {
|
|
1700
|
-
transform: translateX(-0.
|
|
1703
|
+
transform: translateX(-0.5rem);
|
|
1701
1704
|
}
|
|
1702
1705
|
.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 {
|
|
1703
1706
|
transform: translateX(-0.5rem);
|
|
1704
1707
|
}
|
|
1705
1708
|
.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 {
|
|
1706
|
-
transform: translateX(-0.
|
|
1709
|
+
transform: translateX(-0.5rem);
|
|
1707
1710
|
}
|
|
1708
1711
|
.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 {
|
|
1709
|
-
transform: translateX(-
|
|
1712
|
+
transform: translateX(-0.5rem);
|
|
1710
1713
|
}
|
|
1711
1714
|
.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 {
|
|
1712
1715
|
transform: rotateZ(315deg) translate(0, 0);
|
|
@@ -1720,10 +1723,10 @@
|
|
|
1720
1723
|
.btn-sm {
|
|
1721
1724
|
min-height: 2rem;
|
|
1722
1725
|
font-size: 0.75rem;
|
|
1723
|
-
gap: 0.
|
|
1726
|
+
gap: 0.375rem;
|
|
1724
1727
|
}
|
|
1725
1728
|
.btn-sm:where(:not(.btn-link, .btn-tertiary)) {
|
|
1726
|
-
padding: 0
|
|
1729
|
+
padding: 0 0.75rem;
|
|
1727
1730
|
}
|
|
1728
1731
|
.btn-sm > .pi {
|
|
1729
1732
|
width: 1rem;
|
|
@@ -1733,10 +1736,10 @@
|
|
|
1733
1736
|
.btn-rg {
|
|
1734
1737
|
min-height: 2.5rem;
|
|
1735
1738
|
font-size: 0.875rem;
|
|
1736
|
-
gap: 0.
|
|
1739
|
+
gap: 0.5rem;
|
|
1737
1740
|
}
|
|
1738
1741
|
.btn-rg:where(:not(.btn-link, .btn-tertiary)) {
|
|
1739
|
-
padding: 0
|
|
1742
|
+
padding: 0 0.875rem;
|
|
1740
1743
|
}
|
|
1741
1744
|
.btn-rg > .pi {
|
|
1742
1745
|
width: 1.125rem;
|
|
@@ -1746,14 +1749,14 @@
|
|
|
1746
1749
|
.btn-lg {
|
|
1747
1750
|
min-height: 3.5rem;
|
|
1748
1751
|
font-size: 1.125rem;
|
|
1749
|
-
gap:
|
|
1752
|
+
gap: 0.75rem;
|
|
1750
1753
|
}
|
|
1751
1754
|
.btn-lg:where(:not(.btn-link, .btn-tertiary)) {
|
|
1752
|
-
padding: 0
|
|
1755
|
+
padding: 0 1.125rem;
|
|
1753
1756
|
}
|
|
1754
1757
|
.btn-lg > .pi {
|
|
1755
|
-
width: 1.
|
|
1756
|
-
height: 1.
|
|
1758
|
+
width: 1.375rem;
|
|
1759
|
+
height: 1.375rem;
|
|
1757
1760
|
}
|
|
1758
1761
|
|
|
1759
1762
|
.btn-nightblue {
|
|
@@ -1984,6 +1987,7 @@
|
|
|
1984
1987
|
box-shadow: none;
|
|
1985
1988
|
border: 0;
|
|
1986
1989
|
margin: 0;
|
|
1990
|
+
cursor: pointer;
|
|
1987
1991
|
display: flex;
|
|
1988
1992
|
align-items: center;
|
|
1989
1993
|
gap: 0.5rem;
|
|
@@ -2032,7 +2036,7 @@ button {
|
|
|
2032
2036
|
|
|
2033
2037
|
a,
|
|
2034
2038
|
button {
|
|
2035
|
-
border-radius:
|
|
2039
|
+
border-radius: 4px;
|
|
2036
2040
|
outline: none;
|
|
2037
2041
|
outline-offset: 2px;
|
|
2038
2042
|
/* Compatibility with button-group */
|
|
@@ -2040,7 +2044,7 @@ button {
|
|
|
2040
2044
|
a:is(:focus-visible, :focus-within, .pretend-focus),
|
|
2041
2045
|
button:is(:focus-visible, :focus-within, .pretend-focus) {
|
|
2042
2046
|
outline: 2px solid var(--post-contrast-color);
|
|
2043
|
-
border-radius:
|
|
2047
|
+
border-radius: 4px;
|
|
2044
2048
|
}
|
|
2045
2049
|
|
|
2046
2050
|
img,
|
|
@@ -5,10 +5,13 @@ import { PostFooterBlockCustom } from './components/post-footer-block-custom.com
|
|
|
5
5
|
import { PostFooterBlockList } from './components/post-footer-block-list.component';
|
|
6
6
|
import { PostFooterBlockAddress } from './components/post-footer-block-address.component';
|
|
7
7
|
import { PostFooterBlockContact } from './components/post-footer-block-contact.component';
|
|
8
|
+
import { translate } from '../../services/language.service';
|
|
8
9
|
export class PostInternetFooter {
|
|
9
10
|
constructor() {
|
|
10
11
|
this.liveSupportEnabled = false;
|
|
12
|
+
this.cookieSettingsEnabled = false;
|
|
11
13
|
this.liveSupportEnabled = this.unbluEnabled();
|
|
14
|
+
this.cookieSettingsEnabled = this.ucUIEnabled();
|
|
12
15
|
/**
|
|
13
16
|
* If the unblu script is not available, wait 5 seconds for it to load.
|
|
14
17
|
* If it's still not there after 5 seconds, abandon efforts and don't
|
|
@@ -18,10 +21,15 @@ export class PostInternetFooter {
|
|
|
18
21
|
let intervalId;
|
|
19
22
|
let runs = 0;
|
|
20
23
|
const checker = () => {
|
|
21
|
-
const
|
|
22
|
-
|
|
24
|
+
const unbluEnabled = this.unbluEnabled();
|
|
25
|
+
const ucUIEnabled = this.ucUIEnabled();
|
|
26
|
+
const isEnabled = unbluEnabled && ucUIEnabled;
|
|
27
|
+
if (unbluEnabled) {
|
|
23
28
|
this.liveSupportEnabled = true;
|
|
24
29
|
}
|
|
30
|
+
if (ucUIEnabled) {
|
|
31
|
+
this.cookieSettingsEnabled = true;
|
|
32
|
+
}
|
|
25
33
|
if (isEnabled || runs >= 5) {
|
|
26
34
|
window.clearInterval(intervalId);
|
|
27
35
|
}
|
|
@@ -37,6 +45,13 @@ export class PostInternetFooter {
|
|
|
37
45
|
unbluEnabled() {
|
|
38
46
|
return typeof window['unbluLSLoad'] === 'function';
|
|
39
47
|
}
|
|
48
|
+
ucUIEnabled() {
|
|
49
|
+
return (typeof window['UC_UI'] === 'object' &&
|
|
50
|
+
typeof window['UC_UI']['showSecondLayer'] === 'function');
|
|
51
|
+
}
|
|
52
|
+
handleCookieSettingsClick() {
|
|
53
|
+
window['UC_UI']['showSecondLayer']();
|
|
54
|
+
}
|
|
40
55
|
render() {
|
|
41
56
|
var _a;
|
|
42
57
|
// There is something wrong entirely
|
|
@@ -63,7 +78,7 @@ export class PostInternetFooter {
|
|
|
63
78
|
.filter(block => block.columnType === 'address')
|
|
64
79
|
.map(block => (h(PostFooterBlockAddress, { key: block.title, block: block })))), h("div", { class: "copyright container" }, h("span", { class: "bold" }, footerConfig.entry.text), h("ul", { class: "no-list footer-meta-links" }, footerConfig.links
|
|
65
80
|
? footerConfig.links.map(link => (h("li", { key: link.url }, h("a", { class: "nav-link", href: link.url, target: link.target }, link.text))))
|
|
66
|
-
: null)))));
|
|
81
|
+
: null, this.cookieSettingsEnabled && (h("li", null, h("button", { class: "nav-link cookie-settings", onClick: this.handleCookieSettingsClick }, translate('Cookie Settings')))))))));
|
|
67
82
|
}
|
|
68
83
|
static get is() { return "swisspost-internet-footer"; }
|
|
69
84
|
static get encapsulation() { return "shadow"; }
|
|
@@ -79,7 +94,8 @@ export class PostInternetFooter {
|
|
|
79
94
|
}
|
|
80
95
|
static get states() {
|
|
81
96
|
return {
|
|
82
|
-
"liveSupportEnabled": {}
|
|
97
|
+
"liveSupportEnabled": {},
|
|
98
|
+
"cookieSettingsEnabled": {}
|
|
83
99
|
};
|
|
84
100
|
}
|
|
85
101
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"post-internet-footer.js","sourceRoot":"","sources":["../../../../src/components/post-internet-footer/post-internet-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,EAAE,sBAAsB,EAAE,MAAM,kDAAkD,CAAC;
|
|
1
|
+
{"version":3,"file":"post-internet-footer.js","sourceRoot":"","sources":["../../../../src/components/post-internet-footer/post-internet-footer.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, h, State } from '@stencil/core';\nimport { state } from '../../data/store';\nimport { SvgSprite } from '../../utils/svg-sprite.component';\nimport { PostFooterBlockCustom } from './components/post-footer-block-custom.component';\nimport { PostFooterBlockList } from './components/post-footer-block-list.component';\nimport { PostFooterBlockAddress } from './components/post-footer-block-address.component';\nimport { PostFooterBlockContact } from './components/post-footer-block-contact.component';\nimport { translate } from '../../services/language.service';\n\n@Component({\n tag: 'swisspost-internet-footer',\n styleUrl: 'post-internet-footer.scss',\n shadow: true,\n})\nexport class PostInternetFooter {\n @State() liveSupportEnabled = false;\n @State() cookieSettingsEnabled = false;\n\n constructor() {\n this.liveSupportEnabled = this.unbluEnabled();\n this.cookieSettingsEnabled = this.ucUIEnabled();\n\n /**\n * If the unblu script is not available, wait 5 seconds for it to load.\n * If it's still not there after 5 seconds, abandon efforts and don't\n * show the live support button.\n */\n if (!this.liveSupportEnabled) {\n let intervalId: number;\n let runs = 0;\n\n const checker = () => {\n const unbluEnabled = this.unbluEnabled();\n const ucUIEnabled = this.ucUIEnabled();\n const isEnabled = unbluEnabled && ucUIEnabled;\n if (unbluEnabled) {\n this.liveSupportEnabled = true;\n }\n if (ucUIEnabled) {\n this.cookieSettingsEnabled = true;\n }\n if (isEnabled || runs >= 5) {\n window.clearInterval(intervalId);\n }\n runs++;\n };\n\n intervalId = window.setInterval(checker, 1000);\n }\n }\n\n /**\n * Check if the unblu live support script is loaded\n * @returns Boolean\n */\n private unbluEnabled(): boolean {\n return typeof window['unbluLSLoad'] === 'function';\n }\n\n private ucUIEnabled(): boolean {\n return (\n typeof window['UC_UI'] === 'object' &&\n typeof window['UC_UI']['showSecondLayer'] === 'function'\n );\n }\n\n private handleCookieSettingsClick() {\n window['UC_UI']['showSecondLayer']();\n }\n\n render() {\n // There is something wrong entirely\n if (!state) {\n console.warn(\n `Internet Footer: Could not load config. Please make sure that you included the <swisspost-internet-header></swisspost-internet-header> component.`,\n );\n return null;\n }\n\n // Config has not loaded yet\n if (!state.localizedConfig) {\n return null;\n }\n\n // There's no footer config\n if (!state.localizedConfig.footer) {\n console.warn(\n `Internet Footer: Current project \"${state.projectId}\" does not include a footer config. The footer will not be rendered. Remove `,\n document.querySelector('swisspost-internet-footer'),\n `from your markup or configure the footer in your portal config to stop seeing this warning.`,\n );\n return null;\n }\n\n const footerConfig = state.localizedConfig.footer;\n const customFooterConfig = state.localizedCustomConfig?.footer;\n\n return (\n <Host>\n <SvgSprite />\n <footer class=\"post-internet-footer light font-curve-regular\">\n <h2 class=\"visually-hidden\">{footerConfig.title}</h2>\n {customFooterConfig?.block && <PostFooterBlockCustom block={customFooterConfig?.block} />}\n <div class=\"footer-container container\">\n {footerConfig.block\n .filter(block => block.columnType === 'list')\n .map(block => (\n <PostFooterBlockList key={block.title} block={block} />\n ))}\n {footerConfig.block\n .filter(block => block.columnType === 'contact')\n .map(block => (\n <PostFooterBlockContact\n key={block.title}\n block={block}\n liveSupportEnabled={this.liveSupportEnabled}\n />\n ))}\n {footerConfig.block\n .filter(block => block.columnType === 'address')\n .map(block => (\n <PostFooterBlockAddress key={block.title} block={block} />\n ))}\n </div>\n <div class=\"copyright container\">\n <span class=\"bold\">{footerConfig.entry.text}</span>\n <ul class=\"no-list footer-meta-links\">\n {footerConfig.links\n ? footerConfig.links.map(link => (\n <li key={link.url}>\n <a class=\"nav-link\" href={link.url} target={link.target}>\n {link.text}\n </a>\n </li>\n ))\n : null}\n {this.cookieSettingsEnabled && (\n <li>\n <button class=\"nav-link cookie-settings\" onClick={this.handleCookieSettingsClick}>\n {translate('Cookie Settings')}\n </button>\n </li>\n )}\n </ul>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { debounce } from 'throttle-debounce';
|
|
2
|
+
import { state } from '../../../data/store';
|
|
3
|
+
export const registerLogoAnimationObserver = (target, headerRef) => {
|
|
4
|
+
/**
|
|
5
|
+
* Set intersection ratio as CSS custom property
|
|
6
|
+
*/
|
|
7
|
+
const handleScroll = () => {
|
|
8
|
+
const fullStickyness = state.stickyness === 'full';
|
|
9
|
+
let scale = 1;
|
|
10
|
+
// Minus 1px border at the bottom that the logo is not covering
|
|
11
|
+
const adjustedHeaderHeight = headerRef.clientHeight - 1;
|
|
12
|
+
const scrollY = fullStickyness ? 0 : window.scrollY;
|
|
13
|
+
// If meta navigation is not visible (mobile, not configured), scale should just be 1
|
|
14
|
+
if (target.clientHeight > 0) {
|
|
15
|
+
scale = Math.max((adjustedHeaderHeight - Math.max(scrollY, 0)) /
|
|
16
|
+
(adjustedHeaderHeight - target.clientHeight), 1);
|
|
17
|
+
}
|
|
18
|
+
headerRef.style.setProperty('--logo-scale', scale.toString());
|
|
19
|
+
};
|
|
20
|
+
const debounced = debounce(150, handleScroll);
|
|
21
|
+
/**
|
|
22
|
+
* Observe the meta navigation in order to not track scroll events throughout the whole page.
|
|
23
|
+
* This ensures that the scroll listener is only active while the meta navigation is visible.
|
|
24
|
+
*/
|
|
25
|
+
const observer = new IntersectionObserver(entries => {
|
|
26
|
+
entries.forEach(entry => {
|
|
27
|
+
if (entry.isIntersecting && entry.intersectionRatio > 0) {
|
|
28
|
+
window.addEventListener('scroll', handleScroll, { passive: true });
|
|
29
|
+
window.addEventListener('resize', debounced);
|
|
30
|
+
// Ensure callback is called at least once in case main thread is too busy while scrolling up
|
|
31
|
+
window.requestAnimationFrame(handleScroll);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
window.removeEventListener('scroll', handleScroll);
|
|
35
|
+
window.removeEventListener('resize', debounced);
|
|
36
|
+
window.requestAnimationFrame(handleScroll);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}, {
|
|
40
|
+
// Fires when element leaves viewport (0) and when it just about enters it (0.001)
|
|
41
|
+
threshold: [0, 0.001],
|
|
42
|
+
});
|
|
43
|
+
observer.observe(target);
|
|
44
|
+
return handleScroll;
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=logo-animation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logo-animation.js","sourceRoot":"","sources":["../../../../../src/components/post-internet-header/logo-animation/logo-animation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,MAAmB,EACnB,SAA6C,EAC7C,EAAE;EACF;;KAEG;EACH,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,KAAK,MAAM,CAAC;IACnD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,+DAA+D;IAC/D,MAAM,oBAAoB,GAAG,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC;IACxD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;IAEpD,qFAAqF;IACrF,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE;MAC3B,KAAK,GAAG,IAAI,CAAC,GAAG,CACd,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC3C,CAAC,oBAAoB,GAAG,MAAM,CAAC,YAAY,CAAC,EAC9C,CAAC,CACF,CAAC;KACH;IACD,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;EAChE,CAAC,CAAC;EAEF,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;EAE9C;;;KAGG;EACH,MAAM,QAAQ,GAAG,IAAI,oBAAoB,CACvC,OAAO,CAAC,EAAE;IACR,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;MACtB,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,iBAAiB,GAAG,CAAC,EAAE;QACvD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE7C,6FAA6F;QAC7F,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;OAC5C;WAAM;QACL,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACnD,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;OAC5C;IACH,CAAC,CAAC,CAAC;EACL,CAAC,EACD;IACE,kFAAkF;IAClF,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;GACtB,CACF,CAAC;EACF,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAEzB,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC","sourcesContent":["import { debounce } from 'throttle-debounce';\nimport { state } from '../../../data/store';\n\nexport const registerLogoAnimationObserver = (\n target: HTMLElement,\n headerRef: HTMLSwisspostInternetHeaderElement,\n) => {\n /**\n * Set intersection ratio as CSS custom property\n */\n const handleScroll = () => {\n const fullStickyness = state.stickyness === 'full';\n let scale = 1;\n // Minus 1px border at the bottom that the logo is not covering\n const adjustedHeaderHeight = headerRef.clientHeight - 1;\n const scrollY = fullStickyness ? 0 : window.scrollY;\n\n // If meta navigation is not visible (mobile, not configured), scale should just be 1\n if (target.clientHeight > 0) {\n scale = Math.max(\n (adjustedHeaderHeight - Math.max(scrollY, 0)) /\n (adjustedHeaderHeight - target.clientHeight),\n 1,\n );\n }\n headerRef.style.setProperty('--logo-scale', scale.toString());\n };\n\n const debounced = debounce(150, handleScroll);\n\n /**\n * Observe the meta navigation in order to not track scroll events throughout the whole page.\n * This ensures that the scroll listener is only active while the meta navigation is visible.\n */\n const observer = new IntersectionObserver(\n entries => {\n entries.forEach(entry => {\n if (entry.isIntersecting && entry.intersectionRatio > 0) {\n window.addEventListener('scroll', handleScroll, { passive: true });\n window.addEventListener('resize', debounced);\n\n // Ensure callback is called at least once in case main thread is too busy while scrolling up\n window.requestAnimationFrame(handleScroll);\n } else {\n window.removeEventListener('scroll', handleScroll);\n window.removeEventListener('resize', debounced);\n window.requestAnimationFrame(handleScroll);\n }\n });\n },\n {\n // Fires when element leaves viewport (0) and when it just about enters it (0.001)\n threshold: [0, 0.001],\n },\n );\n observer.observe(target);\n\n return handleScroll;\n};\n"]}
|