hr-design-system-handlebars 1.50.41 → 1.51.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/assets/brand/_default/conf/locatags.json +1 -0
  3. package/dist/assets/index.css +23 -16
  4. package/dist/assets/js/alpine.js +1 -0
  5. package/dist/assets/js/base/tracking/pianoHelper.subfeature.js +4 -4
  6. package/dist/assets/js/components/dataPolicySettings/dataPolicySettingsDs.feature.js +29 -59
  7. package/dist/views/components/dataPolicySettings/data_policy_settings.hbs +33 -24
  8. package/dist/views/components/forms/toggle_button.hbs +4 -2
  9. package/dist/views/components/site_header/service_navigation/service_list.hbs +1 -1
  10. package/dist/views_static/components/dataPolicySettings/data_policy_settings.hbs +33 -24
  11. package/dist/views_static/components/forms/toggle_button.hbs +4 -2
  12. package/dist/views_static/components/site_header/service_navigation/service_list.hbs +1 -1
  13. package/package.json +2 -1
  14. package/src/assets/brand/_default/conf/locatags.json +1 -0
  15. package/src/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
  16. package/src/assets/brand/hr/conf/locatags.merged.json +1 -0
  17. package/src/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
  18. package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
  19. package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
  20. package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
  21. package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
  22. package/src/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
  23. package/src/assets/brand/hr1/conf/locatags.merged.json +1 -0
  24. package/src/assets/brand/hr2/conf/locatags.merged.json +1 -0
  25. package/src/assets/brand/hr3/conf/locatags.merged.json +1 -0
  26. package/src/assets/brand/hr4/conf/locatags.merged.json +1 -0
  27. package/src/assets/brand/you-fm/conf/locatags.merged.json +1 -0
  28. package/src/assets/css/custom-utilities.css +4 -0
  29. package/src/assets/js/alpine.js +1 -0
  30. package/src/stories/views/base/tracking/pianoHelper.subfeature.js +4 -4
  31. package/src/stories/views/components/dataPolicySettings/dataPolicySettingsDs.feature.js +29 -59
  32. package/src/stories/views/components/dataPolicySettings/data_policy_settings.hbs +33 -24
  33. package/src/stories/views/components/forms/toggle_button.hbs +4 -2
  34. package/src/stories/views/components/site_header/service_navigation/service_list.hbs +1 -1
  35. package/tailwind.config.js +1 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,28 @@
1
+ # v1.51.1 (Fri Dec 08 2023)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - corrects z-index in servicelist [#786](https://github.com/mumprod/hr-design-system-handlebars/pull/786) ([@StefanVesper](https://github.com/StefanVesper))
6
+
7
+ #### Authors: 1
8
+
9
+ - SonicSoulSurfer ([@StefanVesper](https://github.com/StefanVesper))
10
+
11
+ ---
12
+
13
+ # v1.51.0 (Fri Dec 08 2023)
14
+
15
+ #### 🚀 Enhancement
16
+
17
+ - WIP: DPE-2582 Einstellungsmenü mit Screenreader bedienbar machen [#751](https://github.com/mumprod/hr-design-system-handlebars/pull/751) ([@Sunny1112358](https://github.com/Sunny1112358) [@szuelch](https://github.com/szuelch))
18
+
19
+ #### Authors: 2
20
+
21
+ - [@Sunny1112358](https://github.com/Sunny1112358)
22
+ - [@szuelch](https://github.com/szuelch)
23
+
24
+ ---
25
+
1
26
  # v1.50.41 (Thu Dec 07 2023)
2
27
 
3
28
  #### 🐛 Bug Fix
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter":"{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -439,7 +439,7 @@ video {
439
439
  --tw-gradient-to-position: ;
440
440
  }
441
441
 
442
- .btn--secondary, .ds-focus, .ds-focus:not(:focus-visible), .ds-button, .ds-button:not(:focus-visible), .ds-button-round, .ds-button-round:not(:focus-visible), .ds-link, .ds-link:not(:focus-visible), .ds-teaser-focus, .ds-teaser-focus::before, .ds-cta > *, .ds-teaser-focus:not(:focus-visible)::before, .-isOpen, .shadow-md, .shadow-xl, .before\:shadow-stage::before {
442
+ .btn--secondary, .ds-focus, .ds-focus:not(:focus-visible), .ds-button, .ds-button:not(:focus-visible), .ds-button-round, .ds-button-round:not(:focus-visible), .ds-link, .ds-link:not(:focus-visible), .ds-teaser-focus, .ds-teaser-focus::before, .ds-cta > *, .ds-teaser-focus:not(:focus-visible)::before, .-isOpen, .shadow-md, .shadow-xl, .toggleSwitch-label, .before\:shadow-stage::before {
443
443
  --tw-ring-offset-shadow: 0 0 rgba(0,0,0,0);
444
444
  --tw-ring-shadow: 0 0 rgba(0,0,0,0);
445
445
  --tw-shadow: 0 0 rgba(0,0,0,0);
@@ -1124,9 +1124,6 @@ article.indexText ul {
1124
1124
  .top-full {
1125
1125
  top: 100%;
1126
1126
  }
1127
- .-z-40 {
1128
- z-index: -40;
1129
- }
1130
1127
  .z-10 {
1131
1128
  z-index: 10;
1132
1129
  }
@@ -1151,6 +1148,9 @@ article.indexText ul {
1151
1148
  .z-300 {
1152
1149
  z-index: 300;
1153
1150
  }
1151
+ .z-40 {
1152
+ z-index: 40;
1153
+ }
1154
1154
  .z-50 {
1155
1155
  z-index: 50;
1156
1156
  }
@@ -1205,9 +1205,6 @@ article.indexText ul {
1205
1205
  .m-4 {
1206
1206
  margin: 1rem;
1207
1207
  }
1208
- .m-auto {
1209
- margin: auto;
1210
- }
1211
1208
  .mx-0 {
1212
1209
  margin-left: 0px;
1213
1210
  margin-right: 0px;
@@ -1466,9 +1463,6 @@ article.indexText ul {
1466
1463
  .inline {
1467
1464
  display: inline;
1468
1465
  }
1469
- .\!flex {
1470
- display: flex !important;
1471
- }
1472
1466
  .flex {
1473
1467
  display: flex;
1474
1468
  }
@@ -1954,9 +1948,6 @@ article.indexText ul {
1954
1948
  .overflow-visible {
1955
1949
  overflow: visible;
1956
1950
  }
1957
- .overflow-scroll {
1958
- overflow: scroll;
1959
- }
1960
1951
  .overflow-x-auto {
1961
1952
  overflow-x: auto;
1962
1953
  }
@@ -1966,6 +1957,9 @@ article.indexText ul {
1966
1957
  .overflow-x-scroll {
1967
1958
  overflow-x: scroll;
1968
1959
  }
1960
+ .overflow-y-scroll {
1961
+ overflow-y: scroll;
1962
+ }
1969
1963
  .scroll-smooth {
1970
1964
  scroll-behavior: smooth;
1971
1965
  }
@@ -3217,7 +3211,7 @@ article.indexText ul {
3217
3211
  border-bottom-color: var(--color-secondary-ds);
3218
3212
  }
3219
3213
  .counter-reset {
3220
- counter-reset: cnt1701960574124;
3214
+ counter-reset: cnt1702031994177;
3221
3215
  }
3222
3216
  .hyphens-auto {
3223
3217
  -webkit-hyphens: auto;
@@ -3478,7 +3472,7 @@ article.indexText ul {
3478
3472
  --tw-ring-color: rgba(255, 255, 255, 0.5);
3479
3473
  }
3480
3474
  .-ordered {
3481
- counter-increment: cnt1701960574124 1;
3475
+ counter-increment: cnt1702031994177 1;
3482
3476
  }
3483
3477
  .-ordered::before {
3484
3478
  position: absolute;
@@ -3494,7 +3488,7 @@ article.indexText ul {
3494
3488
  letter-spacing: .0125em;
3495
3489
  --tw-text-opacity: 1;
3496
3490
  color: rgba(0, 0, 0, var(--tw-text-opacity));
3497
- content: counter(cnt1701960574124);
3491
+ content: counter(cnt1702031994177);
3498
3492
  }
3499
3493
  /*! ****************************/
3500
3494
  /*! DataPolicy stuff */
@@ -3506,6 +3500,16 @@ article.indexText ul {
3506
3500
  background-color: #2c7e13;
3507
3501
  background-color: var(--color-toggle-confirmation);
3508
3502
  }
3503
+ .toggleSwitch-checkbox:focus+.toggleSwitch-label {
3504
+ --tw-shadow: 0 0 0 0.25rem;
3505
+ --tw-shadow-colored: 0 0 0 0.25rem var(--tw-shadow-color);
3506
+ box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), var(--tw-shadow);
3507
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0,0,0,0)), var(--tw-ring-shadow, 0 0 rgba(0,0,0,0)), var(--tw-shadow);
3508
+ --tw-shadow-color: var(--color-focus-state);
3509
+ --tw-shadow: var(--tw-shadow-colored);
3510
+ outline: 2px solid transparent;
3511
+ outline-offset: 2px;
3512
+ }
3509
3513
  .toggleSwitch-label::after {
3510
3514
  position: absolute;
3511
3515
  top: 2px;
@@ -5071,6 +5075,9 @@ article.indexText ul {
5071
5075
  --tw-text-opacity: 1;
5072
5076
  color: rgba(255, 255, 255, var(--tw-text-opacity));
5073
5077
  }
5078
+ .aria-hidden\:hidden[aria-hidden="true"] {
5079
+ display: none;
5080
+ }
5074
5081
  .before\:absolute::before {
5075
5082
  position: absolute;
5076
5083
  }
@@ -10,6 +10,7 @@ import mainNavigationHandler from 'components/site_header/mainNavigationHandler.
10
10
  import flyoutHandler from 'components/site_header/flyoutHandler.alpine'
11
11
  import overlayHandler from 'components/site_header/overlayHandler.alpine'
12
12
  import dropdown from 'components/site_header/dropdown.alpine'
13
+
13
14
 
14
15
  AsyncAlpine.init(Alpine)
15
16
  .data('podcastPlayer', () => import('components/podcast/podcast_player.alpine.js'))
@@ -7,7 +7,7 @@ const isTrackingAllowed = () => {
7
7
 
8
8
  const uxAction = (label, secondLevelId) => {
9
9
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
10
- if (pa && isTrackingAllowed()) {
10
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
11
11
  pa.sendEvent('click.action', {
12
12
  click: label,
13
13
  site_level2: secondLevelId,
@@ -17,7 +17,7 @@ const uxAction = (label, secondLevelId) => {
17
17
 
18
18
  const uxNavigation = (label, secondLevelId) => {
19
19
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
20
- if (pa && isTrackingAllowed()) {
20
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
21
21
  pa.sendEvent('click.navigation', {
22
22
  click: label,
23
23
  site_level2: secondLevelId,
@@ -26,14 +26,14 @@ const uxNavigation = (label, secondLevelId) => {
26
26
  }
27
27
 
28
28
  const pi = (label, secondLevelId) => {
29
- if (pa && isTrackingAllowed()) {
29
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
30
30
  pa.sendEvent('page.display', pageDisplayConfig)
31
31
  }
32
32
  }
33
33
 
34
34
  const download = (label, secondLevelId) => {
35
35
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
36
- if (pa && isTrackingAllowed()) {
36
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
37
37
  pa.sendEvent('click.download', {
38
38
  click: label,
39
39
  site_level2: secondLevelId,
@@ -3,25 +3,26 @@ import TrackingCookie from 'components/externalService/trackingCookie.subfeature
3
3
  import { fireEvent, getJSONCookie, hr$, setJSONCookie, listen } from 'hrQuery'
4
4
  import { uxAction } from 'base/tracking/pianoHelper.subfeature'
5
5
 
6
+ import A11yDialog from 'a11y-dialog'
7
+
6
8
  const DataPolicySettings = function (context) {
7
9
  const { options } = context,
8
10
  { element: rootElement } = context,
11
+ container = hr$('#datapolicy-settings-dialog',document)[0],
12
+ dialog = new A11yDialog(container),
9
13
  settingsButtons = hr$('.js-data-policy-settings-button', document),
10
14
  overlay = hr$('.js-data-policy-settings-overlay', rootElement)[0],
11
15
  closeButton = hr$('.js-data-policy-settings-close-button', rootElement)[0],
12
16
  bodyElement = document.getElementsByTagName('html')[0],
13
17
  datapolicyCookie = new DatapolicyCookie(),
14
18
  trackingCookie = new TrackingCookie(),
15
- toggleSwitches = hr$('.js-toggleSwitch-checkbox', rootElement),
16
- toggleSwitchesExternal = hr$('.js-toggleSwitch-external', rootElement),
17
- toggleSwitchesTracking = hr$('.js-toggleSwitch-tracking', rootElement),
18
- toggleAllSwitch = hr$('.js-toggleSwitch-checkbox-all', rootElement)[0],
19
- providerTitle = hr$('.js-providerTitle', rootElement)[0],
19
+ toggleSwitches = hr$('.js-toggleSwitch-checkbox', container),
20
+ toggleSwitchesExternal = hr$('.js-toggleSwitch-external', container),
21
+ toggleSwitchesTracking = hr$('.js-toggleSwitch-tracking', container),
22
+ toggleAllSwitch = hr$('.js-toggleSwitch-checkbox-all', container)[0],
23
+ providerTitle = hr$('.js-providerTitle', container)[0],
20
24
  trackingCookieLifetime = 1000 * 60 * 60 * 24 * 365 * 10
21
- let atiSecondLevelId = window.xtn2,
22
- isWebview = window.parent.document.documentElement.classList.contains('webview'),
23
- //isWebview = window.location.href.match(/(app)(\.[a-zA-Z]*)(\.de)/i), //App URL ...app.hr.de
24
- //isWebview = window.location.href.match(/(app)/i), //App URL ...app.hr.de
25
+ let isWebview = window.parent.document.documentElement.classList.contains('webview'),
25
26
  cookie = {}
26
27
 
27
28
  console.log('gelaaaadeeeeeeeen')
@@ -51,48 +52,28 @@ const DataPolicySettings = function (context) {
51
52
  cookie = 'true'
52
53
  setJSONCookie('hsAppSettingsButton', cookie, trackingCookieLifetime)
53
54
  }
54
- const initializeSettingsButtons = function () {
55
- for (let i = 0; i < settingsButtons.length; ++i) {
56
- if (settingsButtons.length - i == 1) {
57
- listen(
58
- 'click',
59
- function () {
60
- openDialog('Footer')
61
- atiSecondLevelId = 1
62
- },
63
- settingsButtons[i]
64
- )
65
- } else {
66
- if (!settingsButtons[i].getAttribute('listener')) {
67
- listen(
68
- 'click',
69
- function () {
70
- openDialog('DSGVO-Overlay')
71
- },
72
- settingsButtons[i]
73
- )
74
- settingsButtons[i].setAttribute('listener', 'true')
75
- }
76
- }
77
- }
78
- }
79
- const openDialog = function (settingsButtonLocation) {
80
- overlay.classList.add('!flex')
55
+
56
+ const onDialogShow = function (event) {
81
57
  bodyElement.classList.add('optionOpen')
82
- uxAction('Einstellungsdialog geöffnet - ' + settingsButtonLocation, atiSecondLevelId)
83
- }
84
- const closeDialogeOnOverlay = function (e) {
85
- if (e.target !== this) return
86
- closeDialog()
58
+ const opener = event.detail == null && event.detail.target.closest('[data-a11y-dialog-show]') ? event.detail.target.closest('[data-a11y-dialog-show]') : null
59
+ const pianoTracking = null != opener && undefined !== opener.dataset.pianoTracking ? JSON.parse(opener.dataset.pianoTracking) : {label:"Datenschutzerklärung"}
60
+ if(undefined !== pianoTracking.secondLevelId){
61
+ console.log(pianoTracking)
62
+ uxAction('Einstellungsdialog geöffnet - ' + pianoTracking.label, pianoTracking.secondLevelId)
63
+ }else{
64
+ console.log(pianoTracking)
65
+ uxAction('Einstellungsdialog geöffnet - ' + pianoTracking.label)
66
+ }
87
67
  }
88
- const closeDialog = function () {
89
- overlay.classList.remove('!flex')
68
+
69
+ const onDialogHide = function () {
70
+ console.log("Hide")
90
71
  bodyElement.classList.remove('optionOpen')
91
72
  }
92
73
  const shouldDialogBeOpendOnLoad = function () {
93
74
  const urlParam = getUrlVars()['openDialog']
94
75
  if (typeof urlParam !== 'undefined' && urlParam === 'true') {
95
- openDialog('Datenschutzerklärung')
76
+ dialog.show()
96
77
  }
97
78
  }
98
79
  const getUrlVars = function () {
@@ -253,33 +234,22 @@ const DataPolicySettings = function (context) {
253
234
  return trackingCookie.isTrackingCookieExistent(trackingService)
254
235
  }
255
236
  const initializeEventListeners = function () {
256
- listen('hr:settingsButtonInsideDataPolicyBoxClicked', function () {
257
- openDialog('DSGVO-Overlay')
258
- })
259
237
  listen('change', toggleAll, toggleAllSwitch)
260
- listen('click', closeDialog, closeButton)
261
- listen('click', closeDialogeOnOverlay, overlay)
238
+ listen("show", onDialogShow, container)
239
+ listen("hide", onDialogHide, container)
262
240
  }
263
241
  // steuert die Darstellung des Buttons für die hs-App ///
264
242
  showSettingsButton()
265
- //// 1. Alle Settings Buttons initialisieren ////
266
- initializeSettingsButtons()
267
-
268
- //// 2. Toggle States aller Switches setzen ////
243
+ //// 1. Toggle States aller Switches setzen ////
269
244
  //// Cookies setzen usw. ////
270
245
  initializeToggleStateExternal()
271
246
 
272
247
  initializeToggleStateTracking()
273
248
 
274
- //// 3. Event Listener initialisieren ////
249
+ //// 2. Event Listener initialisieren ////
275
250
  initializeEventListeners()
276
251
 
277
252
  shouldDialogBeOpendOnLoad()
278
-
279
- //// 4. Funktion extern aufrufbar machen ////
280
- return {
281
- initializeSettingsButtons: initializeSettingsButtons,
282
- }
283
253
  }
284
254
 
285
255
  export default DataPolicySettings
@@ -1,32 +1,42 @@
1
1
  <div class="flex items-center justify-center mt-4 md:mt-2 md:justify-end js-load" data-hr-data-policy-settings-ds='{}'>
2
- {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
3
- {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
4
- {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
5
- {{/components/button/button}}
6
-
7
- <div class="hidden fixed overflow-scroll w-full h-full top-0 left-0 right-0 bottom-0 z-300 pb-6 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}">
8
- <div class="m-auto pt-0 max-w-[480px] bg-white">
2
+ {{#with this}}
3
+ {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
4
+ {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
5
+ {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
6
+ {{/components/button/button}}
7
+ {{#*inline "htmlProperties"}}
8
+ data-piano-tracking='{"label":"Footer","secondLevelId":"1"}'
9
+ data-a11y-dialog-show="datapolicy-settings-dialog"
10
+ {{/inline}}
11
+ {{/with}}
12
+ </div>
13
+ <div id="datapolicy-settings-dialog"
14
+ aria-labelledby="datapolicy-settings-title"
15
+ aria-hidden="true" class="aria-hidden:hidden flex justify-center fixed inset-0 z-300 overflow-y-scroll">
16
+ <div class="fixed w-full h-full top-0 left-0 right-0 bottom-0 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}" data-a11y-dialog-hide>
17
+ </div>
18
+ <div role="document" class="pt-0 max-w-[480px] z-300 bg-white mb-6">
9
19
  <div class="flex w-full px-6 bg-primary z-100">
10
20
  <span class="flex justify-start w-full py-4">
11
21
  <span
12
22
  class="pr-4 -ml-1 fill-white"> {{> components/base/image/icon _icon="settings" _addClass="h-7 w-7 inline" }}</span>
13
23
  <span class="w-full text-2xl text-white font-headingSerif">Einstellungen</span>
14
- <button class="text-white bg-transparent fill-current js-data-policy-settings-close-button">
24
+ <button type="button" "aria-label="Close dialog" class="link-focus-white text-white bg-transparent fill-current js-data-policy-settings-close-button" data-a11y-dialog-hide>
15
25
  {{> components/base/image/icon _icon="close" _addClass="h-6 w-6 inline"}}
16
26
  </button>
17
27
  </span>
18
28
  </div>
19
29
 
20
30
  <div class="bg-[#d8e9f6] p-6 {{#if _webview}} hidden{{/if}}">
21
- <span class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
31
+ <span id="datapolicy-settings-title" class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
22
32
  <p class="mt-4 text-black">
23
33
  {{#with this.footerMetadata}}
24
34
  {{#with this.dataProtectionLink}}
25
35
  {{loca "cookies_setting_tracking_service_description_text"}}
26
- <a class="block mt-2 text-link hover:underline" target="_blank"
27
- rel="noopener noreferrer" href="{{this.url}}"
28
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
29
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
36
+ <a class="ds-link block mt-2 text-link hover:underline" target="_blank"
37
+ rel="noopener noreferrer" href="{{this.url}}"
38
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
39
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
30
40
  </a>
31
41
  {{/with}}
32
42
  {{/with}}
@@ -40,19 +50,19 @@
40
50
  <ul class="{{#if _webview}} hidden{{/if}}">
41
51
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_1">
42
52
  <span class="text-base text-black">AGF <a
43
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
53
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
44
54
  href="https://www.agf.de/" title="AGF">(https://www.agf.de/)</a></span>
45
55
  <div class="flex w-fit toggleSwitch">
46
- {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
56
+ {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="agf aktivieren/deaktivieren" }}
47
57
  </div>
48
58
  </li>
49
59
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_2">
50
60
  <span class="text-base text-black">AT Internet <a
51
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
61
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
52
62
  href="https://www.atinternet.com/de/"
53
63
  title="AT Internet">(https://www.atinternet.com/de/)</a></span>
54
64
  <div class="flex w-fit toggleSwitch">
55
- {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
65
+ {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="at internet aktivieren/deaktivieren"}}
56
66
  </div>
57
67
  </li>
58
68
  </ul>
@@ -63,10 +73,10 @@
63
73
  {{#with this.footerMetadata}}
64
74
  {{#with this.dataProtectionLink}}
65
75
  {{loca "cookies_setting_description_text"}}
66
- <a class="block mt-2 text-link hover:underline" target="_blank"
67
- rel="noopener noreferrer" href="{{this.url}}"
68
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
69
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
76
+ <a class=ds-link block mt-2 text-link hover:underline" target="_blank"
77
+ rel="noopener noreferrer" href="{{this.url}}"
78
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
79
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
70
80
  </a>
71
81
  {{/with}}
72
82
  {{/with}}
@@ -77,7 +87,7 @@
77
87
  <div class="flex justify-between all">
78
88
  <span class="inline-flex text-base text-black js-providerTitle">x</span>
79
89
  <div class="flex float-right toggleSwitch">
80
- {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all"}}
90
+ {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all" _screenReaderText="alle aktivieren/deaktivieren"}}
81
91
  </div>
82
92
  </div>
83
93
  </div>
@@ -88,12 +98,11 @@
88
98
  <li class="bg-white py-2.5 px-6 border-t border-[#e3e3e3] {{this.key}}">
89
99
  <span class="inline-flex text-base leading-6 text-black align-text-top">{{this.value}}</span>
90
100
  <div class="flex float-right toggleSwitch">
91
- {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden }}
101
+ {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden _screenReaderText=(loca "screen_reader_text_external_anbieter" this.key)}}
92
102
  </div>
93
103
  </li>
94
104
  {{/each}}
95
105
  {{/with}}
96
106
  </ul>
97
107
  </div>
98
- </div>
99
108
  </div>
@@ -1,2 +1,4 @@
1
- <input class="h-0 w-0 invisible toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
- <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">{{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
1
+ <input class="h-0 w-0 opacity-0 toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
+ <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">
3
+ <span class="sr-only">{{_screenReaderText}}</span>
4
+ {{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
@@ -3,7 +3,7 @@
3
3
  @click.outside="$store.serviceNavIsOpen = false; toggleScrolling(!$store.searchFieldOpen && !$store.burgeropen)"
4
4
  x-ref="serviceList"
5
5
  :class="shouldServiceIconsBeHidden() ? 'delay-300 duration-500 -mt-40' : 'delay-0 duration-0 mt-0'"
6
- class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list -z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
6
+ class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
7
7
  >
8
8
  {{#with this.serviceNavigationSSILinks}}
9
9
  <ul class="flex justify-around w-full h-full -itemCount-{{ count }} lg:w-auto lg:justify-end lg:pt-1">
@@ -1,32 +1,42 @@
1
1
  <div class="flex items-center justify-center mt-4 md:mt-2 md:justify-end js-load" data-hr-data-policy-settings-ds='{}'>
2
- {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
3
- {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
4
- {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
5
- {{/components/button/button}}
6
-
7
- <div class="hidden fixed overflow-scroll w-full h-full top-0 left-0 right-0 bottom-0 z-300 pb-6 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}">
8
- <div class="m-auto pt-0 max-w-[480px] bg-white">
2
+ {{#with this}}
3
+ {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
4
+ {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
5
+ {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
6
+ {{/components/button/button}}
7
+ {{#*inline "htmlProperties"}}
8
+ data-piano-tracking='{"label":"Footer","secondLevelId":"1"}'
9
+ data-a11y-dialog-show="datapolicy-settings-dialog"
10
+ {{/inline}}
11
+ {{/with}}
12
+ </div>
13
+ <div id="datapolicy-settings-dialog"
14
+ aria-labelledby="datapolicy-settings-title"
15
+ aria-hidden="true" class="aria-hidden:hidden flex justify-center fixed inset-0 z-300 overflow-y-scroll">
16
+ <div class="fixed w-full h-full top-0 left-0 right-0 bottom-0 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}" data-a11y-dialog-hide>
17
+ </div>
18
+ <div role="document" class="pt-0 max-w-[480px] z-300 bg-white mb-6">
9
19
  <div class="flex w-full px-6 bg-primary z-100">
10
20
  <span class="flex justify-start w-full py-4">
11
21
  <span
12
22
  class="pr-4 -ml-1 fill-white"> {{> components/base/image/icon _icon="settings" _addClass="h-7 w-7 inline" }}</span>
13
23
  <span class="w-full text-2xl text-white font-headingSerif">Einstellungen</span>
14
- <button class="text-white bg-transparent fill-current js-data-policy-settings-close-button">
24
+ <button type="button" "aria-label="Close dialog" class="link-focus-white text-white bg-transparent fill-current js-data-policy-settings-close-button" data-a11y-dialog-hide>
15
25
  {{> components/base/image/icon _icon="close" _addClass="h-6 w-6 inline"}}
16
26
  </button>
17
27
  </span>
18
28
  </div>
19
29
 
20
30
  <div class="bg-[#d8e9f6] p-6 {{#if _webview}} hidden{{/if}}">
21
- <span class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
31
+ <span id="datapolicy-settings-title" class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
22
32
  <p class="mt-4 text-black">
23
33
  {{#with this.footerMetadata}}
24
34
  {{#with this.dataProtectionLink}}
25
35
  {{loca "cookies_setting_tracking_service_description_text"}}
26
- <a class="block mt-2 text-link hover:underline" target="_blank"
27
- rel="noopener noreferrer" href="{{this.url}}"
28
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
29
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
36
+ <a class="ds-link block mt-2 text-link hover:underline" target="_blank"
37
+ rel="noopener noreferrer" href="{{this.url}}"
38
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
39
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
30
40
  </a>
31
41
  {{/with}}
32
42
  {{/with}}
@@ -40,19 +50,19 @@
40
50
  <ul class="{{#if _webview}} hidden{{/if}}">
41
51
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_1">
42
52
  <span class="text-base text-black">AGF <a
43
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
53
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
44
54
  href="https://www.agf.de/" title="AGF">(https://www.agf.de/)</a></span>
45
55
  <div class="flex w-fit toggleSwitch">
46
- {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
56
+ {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="agf aktivieren/deaktivieren" }}
47
57
  </div>
48
58
  </li>
49
59
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_2">
50
60
  <span class="text-base text-black">AT Internet <a
51
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
61
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
52
62
  href="https://www.atinternet.com/de/"
53
63
  title="AT Internet">(https://www.atinternet.com/de/)</a></span>
54
64
  <div class="flex w-fit toggleSwitch">
55
- {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
65
+ {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="at internet aktivieren/deaktivieren"}}
56
66
  </div>
57
67
  </li>
58
68
  </ul>
@@ -63,10 +73,10 @@
63
73
  {{#with this.footerMetadata}}
64
74
  {{#with this.dataProtectionLink}}
65
75
  {{loca "cookies_setting_description_text"}}
66
- <a class="block mt-2 text-link hover:underline" target="_blank"
67
- rel="noopener noreferrer" href="{{this.url}}"
68
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
69
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
76
+ <a class=ds-link block mt-2 text-link hover:underline" target="_blank"
77
+ rel="noopener noreferrer" href="{{this.url}}"
78
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
79
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
70
80
  </a>
71
81
  {{/with}}
72
82
  {{/with}}
@@ -77,7 +87,7 @@
77
87
  <div class="flex justify-between all">
78
88
  <span class="inline-flex text-base text-black js-providerTitle">x</span>
79
89
  <div class="flex float-right toggleSwitch">
80
- {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all"}}
90
+ {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all" _screenReaderText="alle aktivieren/deaktivieren"}}
81
91
  </div>
82
92
  </div>
83
93
  </div>
@@ -88,12 +98,11 @@
88
98
  <li class="bg-white py-2.5 px-6 border-t border-[#e3e3e3] {{this.key}}">
89
99
  <span class="inline-flex text-base leading-6 text-black align-text-top">{{this.value}}</span>
90
100
  <div class="flex float-right toggleSwitch">
91
- {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden }}
101
+ {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden _screenReaderText=(loca "screen_reader_text_external_anbieter" this.key)}}
92
102
  </div>
93
103
  </li>
94
104
  {{/each}}
95
105
  {{/with}}
96
106
  </ul>
97
107
  </div>
98
- </div>
99
108
  </div>
@@ -1,2 +1,4 @@
1
- <input class="h-0 w-0 invisible toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
- <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">{{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
1
+ <input class="h-0 w-0 opacity-0 toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
+ <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">
3
+ <span class="sr-only">{{_screenReaderText}}</span>
4
+ {{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
@@ -3,7 +3,7 @@
3
3
  @click.outside="$store.serviceNavIsOpen = false; toggleScrolling(!$store.searchFieldOpen && !$store.burgeropen)"
4
4
  x-ref="serviceList"
5
5
  :class="shouldServiceIconsBeHidden() ? 'delay-300 duration-500 -mt-40' : 'delay-0 duration-0 mt-0'"
6
- class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list -z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
6
+ class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
7
7
  >
8
8
  {{#with this.serviceNavigationSSILinks}}
9
9
  <ul class="flex justify-around w-full h-full -itemCount-{{ count }} lg:w-auto lg:justify-end lg:pt-1">
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "license": "MIT",
7
7
  "main": "dist/index.js",
8
8
  "repository": "https://github.com/szuelch/hr-design-system-handlebars",
9
- "version": "1.50.41",
9
+ "version": "1.51.1",
10
10
  "scripts": {
11
11
  "test": "echo \"Error: no test specified\" && exit 1",
12
12
  "storybook": "storybook dev -p 6006 public",
@@ -109,6 +109,7 @@
109
109
  "@alpinejs/collapse": "^3.8.1",
110
110
  "@alpinejs/intersect": "^3.13.3",
111
111
  "@tailwindcss/line-clamp": "^0.4.2",
112
+ "a11y-dialog": "^8.0.4",
112
113
  "alpinejs": "^3.8.1",
113
114
  "async-alpine": "^1.0.0",
114
115
  "dialog-polyfill": "^0.5.6",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter":"{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -122,6 +122,7 @@
122
122
  "share_whatsapp_linktitle": "Bei Whatsapp teilen",
123
123
  "share_print_linktitle": "Seite ausdrucken",
124
124
  "social_media_links_text": "Folgen Sie mir:",
125
+ "screen_reader_text_external_anbieter": "{0} aktivieren/deaktivieren",
125
126
  "story_cite_author_sr": "Zitat von",
126
127
  "story_cite_intro_sr": "Zitat",
127
128
  "story_cite_outro_sr": "Zitat Ende",
@@ -228,6 +228,10 @@
228
228
  .toggleSwitch-checkbox:checked+.toggleSwitch-label {
229
229
  @apply bg-toggle-confirmation;
230
230
  }
231
+
232
+ .toggleSwitch-checkbox:focus+.toggleSwitch-label {
233
+ @apply shadow-teaser-focus shadow-focus-state outline-none;
234
+ }
231
235
 
232
236
  .toggleSwitch-label {
233
237
  @apply after:content-[''] after:absolute after:top-[2px] after:left-[2px] after:w-[21px] after:h-[21px] after:bg-white after:rounded-2xl after:transition-all after:duration-300
@@ -10,6 +10,7 @@ import mainNavigationHandler from 'components/site_header/mainNavigationHandler.
10
10
  import flyoutHandler from 'components/site_header/flyoutHandler.alpine'
11
11
  import overlayHandler from 'components/site_header/overlayHandler.alpine'
12
12
  import dropdown from 'components/site_header/dropdown.alpine'
13
+
13
14
 
14
15
  AsyncAlpine.init(Alpine)
15
16
  .data('podcastPlayer', () => import('components/podcast/podcast_player.alpine.js'))
@@ -7,7 +7,7 @@ const isTrackingAllowed = () => {
7
7
 
8
8
  const uxAction = (label, secondLevelId) => {
9
9
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
10
- if (pa && isTrackingAllowed()) {
10
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
11
11
  pa.sendEvent('click.action', {
12
12
  click: label,
13
13
  site_level2: secondLevelId,
@@ -17,7 +17,7 @@ const uxAction = (label, secondLevelId) => {
17
17
 
18
18
  const uxNavigation = (label, secondLevelId) => {
19
19
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
20
- if (pa && isTrackingAllowed()) {
20
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
21
21
  pa.sendEvent('click.navigation', {
22
22
  click: label,
23
23
  site_level2: secondLevelId,
@@ -26,14 +26,14 @@ const uxNavigation = (label, secondLevelId) => {
26
26
  }
27
27
 
28
28
  const pi = (label, secondLevelId) => {
29
- if (pa && isTrackingAllowed()) {
29
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
30
30
  pa.sendEvent('page.display', pageDisplayConfig)
31
31
  }
32
32
  }
33
33
 
34
34
  const download = (label, secondLevelId) => {
35
35
  secondLevelId = secondLevelId || pageDisplayConfig.site_level2
36
- if (pa && isTrackingAllowed()) {
36
+ if (typeof pa != "undefined" && pa != undefined && isTrackingAllowed()) {
37
37
  pa.sendEvent('click.download', {
38
38
  click: label,
39
39
  site_level2: secondLevelId,
@@ -3,25 +3,26 @@ import TrackingCookie from 'components/externalService/trackingCookie.subfeature
3
3
  import { fireEvent, getJSONCookie, hr$, setJSONCookie, listen } from 'hrQuery'
4
4
  import { uxAction } from 'base/tracking/pianoHelper.subfeature'
5
5
 
6
+ import A11yDialog from 'a11y-dialog'
7
+
6
8
  const DataPolicySettings = function (context) {
7
9
  const { options } = context,
8
10
  { element: rootElement } = context,
11
+ container = hr$('#datapolicy-settings-dialog',document)[0],
12
+ dialog = new A11yDialog(container),
9
13
  settingsButtons = hr$('.js-data-policy-settings-button', document),
10
14
  overlay = hr$('.js-data-policy-settings-overlay', rootElement)[0],
11
15
  closeButton = hr$('.js-data-policy-settings-close-button', rootElement)[0],
12
16
  bodyElement = document.getElementsByTagName('html')[0],
13
17
  datapolicyCookie = new DatapolicyCookie(),
14
18
  trackingCookie = new TrackingCookie(),
15
- toggleSwitches = hr$('.js-toggleSwitch-checkbox', rootElement),
16
- toggleSwitchesExternal = hr$('.js-toggleSwitch-external', rootElement),
17
- toggleSwitchesTracking = hr$('.js-toggleSwitch-tracking', rootElement),
18
- toggleAllSwitch = hr$('.js-toggleSwitch-checkbox-all', rootElement)[0],
19
- providerTitle = hr$('.js-providerTitle', rootElement)[0],
19
+ toggleSwitches = hr$('.js-toggleSwitch-checkbox', container),
20
+ toggleSwitchesExternal = hr$('.js-toggleSwitch-external', container),
21
+ toggleSwitchesTracking = hr$('.js-toggleSwitch-tracking', container),
22
+ toggleAllSwitch = hr$('.js-toggleSwitch-checkbox-all', container)[0],
23
+ providerTitle = hr$('.js-providerTitle', container)[0],
20
24
  trackingCookieLifetime = 1000 * 60 * 60 * 24 * 365 * 10
21
- let atiSecondLevelId = window.xtn2,
22
- isWebview = window.parent.document.documentElement.classList.contains('webview'),
23
- //isWebview = window.location.href.match(/(app)(\.[a-zA-Z]*)(\.de)/i), //App URL ...app.hr.de
24
- //isWebview = window.location.href.match(/(app)/i), //App URL ...app.hr.de
25
+ let isWebview = window.parent.document.documentElement.classList.contains('webview'),
25
26
  cookie = {}
26
27
 
27
28
  console.log('gelaaaadeeeeeeeen')
@@ -51,48 +52,28 @@ const DataPolicySettings = function (context) {
51
52
  cookie = 'true'
52
53
  setJSONCookie('hsAppSettingsButton', cookie, trackingCookieLifetime)
53
54
  }
54
- const initializeSettingsButtons = function () {
55
- for (let i = 0; i < settingsButtons.length; ++i) {
56
- if (settingsButtons.length - i == 1) {
57
- listen(
58
- 'click',
59
- function () {
60
- openDialog('Footer')
61
- atiSecondLevelId = 1
62
- },
63
- settingsButtons[i]
64
- )
65
- } else {
66
- if (!settingsButtons[i].getAttribute('listener')) {
67
- listen(
68
- 'click',
69
- function () {
70
- openDialog('DSGVO-Overlay')
71
- },
72
- settingsButtons[i]
73
- )
74
- settingsButtons[i].setAttribute('listener', 'true')
75
- }
76
- }
77
- }
78
- }
79
- const openDialog = function (settingsButtonLocation) {
80
- overlay.classList.add('!flex')
55
+
56
+ const onDialogShow = function (event) {
81
57
  bodyElement.classList.add('optionOpen')
82
- uxAction('Einstellungsdialog geöffnet - ' + settingsButtonLocation, atiSecondLevelId)
83
- }
84
- const closeDialogeOnOverlay = function (e) {
85
- if (e.target !== this) return
86
- closeDialog()
58
+ const opener = event.detail == null && event.detail.target.closest('[data-a11y-dialog-show]') ? event.detail.target.closest('[data-a11y-dialog-show]') : null
59
+ const pianoTracking = null != opener && undefined !== opener.dataset.pianoTracking ? JSON.parse(opener.dataset.pianoTracking) : {label:"Datenschutzerklärung"}
60
+ if(undefined !== pianoTracking.secondLevelId){
61
+ console.log(pianoTracking)
62
+ uxAction('Einstellungsdialog geöffnet - ' + pianoTracking.label, pianoTracking.secondLevelId)
63
+ }else{
64
+ console.log(pianoTracking)
65
+ uxAction('Einstellungsdialog geöffnet - ' + pianoTracking.label)
66
+ }
87
67
  }
88
- const closeDialog = function () {
89
- overlay.classList.remove('!flex')
68
+
69
+ const onDialogHide = function () {
70
+ console.log("Hide")
90
71
  bodyElement.classList.remove('optionOpen')
91
72
  }
92
73
  const shouldDialogBeOpendOnLoad = function () {
93
74
  const urlParam = getUrlVars()['openDialog']
94
75
  if (typeof urlParam !== 'undefined' && urlParam === 'true') {
95
- openDialog('Datenschutzerklärung')
76
+ dialog.show()
96
77
  }
97
78
  }
98
79
  const getUrlVars = function () {
@@ -253,33 +234,22 @@ const DataPolicySettings = function (context) {
253
234
  return trackingCookie.isTrackingCookieExistent(trackingService)
254
235
  }
255
236
  const initializeEventListeners = function () {
256
- listen('hr:settingsButtonInsideDataPolicyBoxClicked', function () {
257
- openDialog('DSGVO-Overlay')
258
- })
259
237
  listen('change', toggleAll, toggleAllSwitch)
260
- listen('click', closeDialog, closeButton)
261
- listen('click', closeDialogeOnOverlay, overlay)
238
+ listen("show", onDialogShow, container)
239
+ listen("hide", onDialogHide, container)
262
240
  }
263
241
  // steuert die Darstellung des Buttons für die hs-App ///
264
242
  showSettingsButton()
265
- //// 1. Alle Settings Buttons initialisieren ////
266
- initializeSettingsButtons()
267
-
268
- //// 2. Toggle States aller Switches setzen ////
243
+ //// 1. Toggle States aller Switches setzen ////
269
244
  //// Cookies setzen usw. ////
270
245
  initializeToggleStateExternal()
271
246
 
272
247
  initializeToggleStateTracking()
273
248
 
274
- //// 3. Event Listener initialisieren ////
249
+ //// 2. Event Listener initialisieren ////
275
250
  initializeEventListeners()
276
251
 
277
252
  shouldDialogBeOpendOnLoad()
278
-
279
- //// 4. Funktion extern aufrufbar machen ////
280
- return {
281
- initializeSettingsButtons: initializeSettingsButtons,
282
- }
283
253
  }
284
254
 
285
255
  export default DataPolicySettings
@@ -1,32 +1,42 @@
1
1
  <div class="flex items-center justify-center mt-4 md:mt-2 md:justify-end js-load" data-hr-data-policy-settings-ds='{}'>
2
- {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
3
- {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
4
- {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
5
- {{/components/button/button}}
6
-
7
- <div class="hidden fixed overflow-scroll w-full h-full top-0 left-0 right-0 bottom-0 z-300 pb-6 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}">
8
- <div class="m-auto pt-0 max-w-[480px] bg-white">
2
+ {{#with this}}
3
+ {{#> components/button/button _size="md" _id="globalSettingsButton" _css=" js-data-policy-settings-button" _variant="secondary" _onBackground=(configProperty "footer.onBackground") }}
4
+ {{> components/button/components/button_icon _icon="settings" _iconmap="icons" _css="w-5 h-5"}}
5
+ {{> components/button/components/button_label _label=(loca "cookies_setting_button_text")}}
6
+ {{/components/button/button}}
7
+ {{#*inline "htmlProperties"}}
8
+ data-piano-tracking='{"label":"Footer","secondLevelId":"1"}'
9
+ data-a11y-dialog-show="datapolicy-settings-dialog"
10
+ {{/inline}}
11
+ {{/with}}
12
+ </div>
13
+ <div id="datapolicy-settings-dialog"
14
+ aria-labelledby="datapolicy-settings-title"
15
+ aria-hidden="true" class="aria-hidden:hidden flex justify-center fixed inset-0 z-300 overflow-y-scroll">
16
+ <div class="fixed w-full h-full top-0 left-0 right-0 bottom-0 bg-black/[0.5] js-data-policy-settings-overlay{{#if _webview}} hidden{{/if}}" data-a11y-dialog-hide>
17
+ </div>
18
+ <div role="document" class="pt-0 max-w-[480px] z-300 bg-white mb-6">
9
19
  <div class="flex w-full px-6 bg-primary z-100">
10
20
  <span class="flex justify-start w-full py-4">
11
21
  <span
12
22
  class="pr-4 -ml-1 fill-white"> {{> components/base/image/icon _icon="settings" _addClass="h-7 w-7 inline" }}</span>
13
23
  <span class="w-full text-2xl text-white font-headingSerif">Einstellungen</span>
14
- <button class="text-white bg-transparent fill-current js-data-policy-settings-close-button">
24
+ <button type="button" "aria-label="Close dialog" class="link-focus-white text-white bg-transparent fill-current js-data-policy-settings-close-button" data-a11y-dialog-hide>
15
25
  {{> components/base/image/icon _icon="close" _addClass="h-6 w-6 inline"}}
16
26
  </button>
17
27
  </span>
18
28
  </div>
19
29
 
20
30
  <div class="bg-[#d8e9f6] p-6 {{#if _webview}} hidden{{/if}}">
21
- <span class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
31
+ <span id="datapolicy-settings-title" class="block text-lg text-black font-headingSerif">{{loca "cookies_setting_tracking_service_description_title"}}</span>
22
32
  <p class="mt-4 text-black">
23
33
  {{#with this.footerMetadata}}
24
34
  {{#with this.dataProtectionLink}}
25
35
  {{loca "cookies_setting_tracking_service_description_text"}}
26
- <a class="block mt-2 text-link hover:underline" target="_blank"
27
- rel="noopener noreferrer" href="{{this.url}}"
28
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
29
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
36
+ <a class="ds-link block mt-2 text-link hover:underline" target="_blank"
37
+ rel="noopener noreferrer" href="{{this.url}}"
38
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
39
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
30
40
  </a>
31
41
  {{/with}}
32
42
  {{/with}}
@@ -40,19 +50,19 @@
40
50
  <ul class="{{#if _webview}} hidden{{/if}}">
41
51
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_1">
42
52
  <span class="text-base text-black">AGF <a
43
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
53
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
44
54
  href="https://www.agf.de/" title="AGF">(https://www.agf.de/)</a></span>
45
55
  <div class="flex w-fit toggleSwitch">
46
- {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
56
+ {{> components/forms/toggle_button _id="agf" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="agf aktivieren/deaktivieren" }}
47
57
  </div>
48
58
  </li>
49
59
  <li class="px-6 py-3 flex justify-between items-center bg-white border-t border-[#e3e3e3] tracking_2">
50
60
  <span class="text-base text-black">AT Internet <a
51
- class="mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
61
+ class="ds-link mt-3 -mb-1 text-link" target="_blank" rel="noopener noreferrer"
52
62
  href="https://www.atinternet.com/de/"
53
63
  title="AT Internet">(https://www.atinternet.com/de/)</a></span>
54
64
  <div class="flex w-fit toggleSwitch">
55
- {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false }}
65
+ {{> components/forms/toggle_button _id="ati" _addClass="js-toggleSwitch-checkbox js-toggleSwitch-tracking" _isInitiallyHidden=false _screenReaderText="at internet aktivieren/deaktivieren"}}
56
66
  </div>
57
67
  </li>
58
68
  </ul>
@@ -63,10 +73,10 @@
63
73
  {{#with this.footerMetadata}}
64
74
  {{#with this.dataProtectionLink}}
65
75
  {{loca "cookies_setting_description_text"}}
66
- <a class="block mt-2 text-link hover:underline" target="_blank"
67
- rel="noopener noreferrer" href="{{this.url}}"
68
- title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
69
- {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
76
+ <a class=ds-link block mt-2 text-link hover:underline" target="_blank"
77
+ rel="noopener noreferrer" href="{{this.url}}"
78
+ title="Mehr Informationen zum Thema Datenschutz">Mehr Informationen zum Thema Datenschutz
79
+ {{#if this.targetBlank}}{{~> components/base/image/icon _icon="extern" _addClass="icon--primary icon--textRight" _iconmap="icons"~}}{{/if}}
70
80
  </a>
71
81
  {{/with}}
72
82
  {{/with}}
@@ -77,7 +87,7 @@
77
87
  <div class="flex justify-between all">
78
88
  <span class="inline-flex text-base text-black js-providerTitle">x</span>
79
89
  <div class="flex float-right toggleSwitch">
80
- {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all"}}
90
+ {{> components/forms/toggle_button _id="all" _addClass="js-toggleSwitch-checkbox-all" _screenReaderText="alle aktivieren/deaktivieren"}}
81
91
  </div>
82
92
  </div>
83
93
  </div>
@@ -88,12 +98,11 @@
88
98
  <li class="bg-white py-2.5 px-6 border-t border-[#e3e3e3] {{this.key}}">
89
99
  <span class="inline-flex text-base leading-6 text-black align-text-top">{{this.value}}</span>
90
100
  <div class="flex float-right toggleSwitch">
91
- {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden }}
101
+ {{> components/forms/toggle_button _id=this.key _addClass="js-toggleSwitch-checkbox js-toggleSwitch-external" _isInitiallyHidden=this.isInitiallyHidden _screenReaderText=(loca "screen_reader_text_external_anbieter" this.key)}}
92
102
  </div>
93
103
  </li>
94
104
  {{/each}}
95
105
  {{/with}}
96
106
  </ul>
97
107
  </div>
98
- </div>
99
108
  </div>
@@ -1,2 +1,4 @@
1
- <input class="h-0 w-0 invisible toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
- <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">{{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
1
+ <input class="h-0 w-0 opacity-0 toggleSwitch-checkbox {{_addClass}}" type="checkbox" id="{{_id}}" {{#unless _isInitiallyHidden}}initial="checked"{{/unless}}/>
2
+ <label class="bg-toggle-default cursor-pointer w-[50px] h-[25px] block rounded-3xl relative toggleSwitch-label" for="{{_id}}">
3
+ <span class="sr-only">{{_screenReaderText}}</span>
4
+ {{> components/base/image/icon _icon="check" _addClass="fill-white inline absolute h-[19px] w-[19px] left-[4px] top-[3px] toggleSwitch-labelIcon"}}</label>
@@ -3,7 +3,7 @@
3
3
  @click.outside="$store.serviceNavIsOpen = false; toggleScrolling(!$store.searchFieldOpen && !$store.burgeropen)"
4
4
  x-ref="serviceList"
5
5
  :class="shouldServiceIconsBeHidden() ? 'delay-300 duration-500 -mt-40' : 'delay-0 duration-0 mt-0'"
6
- class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list -z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
6
+ class="absolute transition-[margin-top] ease-in left-0 flex justify-center flex-initial w-full h-10 max-w-full align-top ease-in border-b border-navigation-border-color sb-service-list z-40 md:z-100 md:h-12 top-[41px] bg-navigation-bg md:border-0 md:top-auto md:w-auto md:left-auto md:static md:justify-end md:flex md:flex-auto lg:h-16 lg:pl-0 lg:pr-4 lg:w-3/4 "
7
7
  >
8
8
  {{#with this.serviceNavigationSSILinks}}
9
9
  <ul class="flex justify-around w-full h-full -itemCount-{{ count }} lg:w-auto lg:justify-end lg:pt-1">
@@ -112,6 +112,7 @@ module.exports = {
112
112
  },
113
113
  zIndex: {
114
114
  '0': '0',
115
+ '40': '40',
115
116
  '50': '50',
116
117
  '100': '100',
117
118
  '110': '110',