hr-design-system-handlebars 1.113.10 → 1.113.12

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 (69) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
  3. package/dist/assets/brand/hr/conf/locatags.merged.json +1 -0
  4. package/dist/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
  5. package/dist/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
  6. package/dist/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
  7. package/dist/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
  8. package/dist/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
  9. package/dist/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
  10. package/dist/assets/brand/hr1/conf/locatags.merged.json +1 -0
  11. package/dist/assets/brand/hr2/conf/locatags.merged.json +1 -0
  12. package/dist/assets/brand/hr3/conf/locatags.merged.json +1 -0
  13. package/dist/assets/brand/hr4/conf/locatags.merged.json +1 -0
  14. package/dist/assets/brand/you-fm/conf/locatags.merged.json +1 -0
  15. package/dist/assets/index.css +44 -3
  16. package/dist/assets/js/components/forms/js/contactForm.alpine.js +18 -17
  17. package/dist/assets/js/components/voting/js/votingCookieCheckerDs.feature.js +25 -0
  18. package/dist/assets/js/components/voting/js/votingDs.feature.js +214 -0
  19. package/dist/assets/js/components/voting/js/votingValidatorDs.feature.js +193 -0
  20. package/dist/views/components/forms/components/choice.hbs +2 -2
  21. package/dist/views/components/forms/components/choiceGroup.hbs +4 -2
  22. package/dist/views/components/forms/components/fields.hbs +3 -1
  23. package/dist/views/components/voting/components/voting_submit.hbs +4 -0
  24. package/dist/views/components/voting/voting.hbs +48 -7
  25. package/dist/views/components/voting/voting_result.hbs +3 -3
  26. package/dist/views_static/components/forms/components/choice.hbs +2 -2
  27. package/dist/views_static/components/forms/components/choiceGroup.hbs +4 -2
  28. package/dist/views_static/components/forms/components/fields.hbs +3 -1
  29. package/dist/views_static/components/voting/components/voting_submit.hbs +4 -0
  30. package/dist/views_static/components/voting/voting.hbs +48 -7
  31. package/dist/views_static/components/voting/voting_result.hbs +3 -3
  32. package/package.json +1 -1
  33. package/src/assets/brand/_default/conf/locatags.json +1 -0
  34. package/src/assets/brand/hessenschau/conf/locatags.merged.json +1 -0
  35. package/src/assets/brand/hr/conf/locatags.merged.json +1 -0
  36. package/src/assets/brand/hr-bigband/conf/locatags.merged.json +1 -0
  37. package/src/assets/brand/hr-fernsehen/conf/locatags.merged.json +1 -0
  38. package/src/assets/brand/hr-inforadio/conf/locatags.merged.json +1 -0
  39. package/src/assets/brand/hr-rundfunkrat/conf/locatags.merged.json +1 -0
  40. package/src/assets/brand/hr-sinfonieorchester/conf/locatags.merged.json +1 -0
  41. package/src/assets/brand/hr-werbung/conf/locatags.merged.json +1 -0
  42. package/src/assets/brand/hr1/conf/locatags.merged.json +1 -0
  43. package/src/assets/brand/hr2/conf/locatags.merged.json +1 -0
  44. package/src/assets/brand/hr3/conf/locatags.merged.json +1 -0
  45. package/src/assets/brand/hr4/conf/locatags.merged.json +1 -0
  46. package/src/assets/brand/you-fm/conf/locatags.merged.json +1 -0
  47. package/src/assets/fixtures/voting/voting.inc.json +21 -5
  48. package/src/stories/views/components/forms/components/choice.hbs +2 -2
  49. package/src/stories/views/components/forms/components/choiceGroup.hbs +4 -2
  50. package/src/stories/views/components/forms/components/fields.hbs +3 -1
  51. package/src/stories/views/components/forms/js/contactForm.alpine.js +18 -17
  52. package/src/stories/views/components/voting/components/voting_submit.hbs +4 -0
  53. package/src/stories/views/components/voting/fixtures/voting.json +1 -1
  54. package/src/stories/views/components/voting/fixtures/voting_error.json +1 -1
  55. package/src/stories/views/components/voting/fixtures/voting_over.json +1 -1
  56. package/src/stories/views/components/voting/fixtures/voting_result_absolute.json +1 -1
  57. package/src/stories/views/components/voting/js/voteValidatorDs.js +195 -0
  58. package/src/stories/views/components/voting/js/votingCookieCheckerDs.feature.js +25 -0
  59. package/src/stories/views/components/voting/js/votingCookieCheckerDs.js +31 -0
  60. package/src/stories/views/components/voting/js/votingDs.feature.js +214 -0
  61. package/src/stories/views/components/voting/js/votingDs.js +198 -0
  62. package/src/stories/views/components/voting/js/votingValidatorDs.feature.js +193 -0
  63. package/src/stories/views/components/voting/voting.hbs +48 -7
  64. package/src/stories/views/components/voting/voting.stories.js +7 -0
  65. package/src/stories/views/components/voting/voting_result.hbs +3 -3
  66. package/src/stories/views/components/voting/voting_result.stories.js +0 -30
  67. /package/dist/views/components/voting/{voting_header.hbs → components/voting_header.hbs} +0 -0
  68. /package/dist/views_static/components/voting/{voting_header.hbs → components/voting_header.hbs} +0 -0
  69. /package/src/stories/views/components/voting/{voting_header.hbs → components/voting_header.hbs} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,27 @@
1
+ # v1.113.12 (Fri Nov 01 2024)
2
+
3
+ #### 🐛 Bug Fix
4
+
5
+ - add single-choice voting [#1139](https://github.com/mumprod/hr-design-system-handlebars/pull/1139) ([@hanswurstsalat](https://github.com/hanswurstsalat))
6
+
7
+ #### Authors: 1
8
+
9
+ - Geraldo ([@hanswurstsalat](https://github.com/hanswurstsalat))
10
+
11
+ ---
12
+
13
+ # v1.113.11 (Fri Nov 01 2024)
14
+
15
+ #### 🐛 Bug Fix
16
+
17
+ - added scrollToElementAndCenterWithTimeout to fix center problems [#1138](https://github.com/mumprod/hr-design-system-handlebars/pull/1138) ([@vascoeduardo](https://github.com/vascoeduardo))
18
+
19
+ #### Authors: 1
20
+
21
+ - Vasco ([@vascoeduardo](https://github.com/vascoeduardo))
22
+
23
+ ---
24
+
1
25
  # v1.113.10 (Fri Nov 01 2024)
2
26
 
3
27
  #### 🐛 Bug Fix
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -196,6 +196,7 @@
196
196
  "votingform_text_error": "Ihre Stimme konnte nicht gezählt werden, weil ein Fehler aufgetreten ist. Bitte versuchen Sie es später wieder.",
197
197
  "votingform_text_success": "Ihre Stimme wurde gezählt.",
198
198
  "votingform_open_answers_text": "Bis zu {0} Antworten möglich",
199
+ "votingform_single_answer_text": "Nur eine Antwort ist möglich",
199
200
  "votingform2F_title_success": "Vielen Dank für Ihre Stimme.",
200
201
  "votingform2F_text_success": "Eine E-Mail zur Bestätigung Ihrer Abstimmung wurde Ihnen geschickt. Bitte prüfen Sie gegebenenfalls auch Ihren Spam-Ordner.",
201
202
  "votingform2F_privacy_protection_disclaimer": "Ich stimme der Verarbeitung meiner E-Mail-Adresse zum Zweck der Teilnahme sowie der <a href=\"https://hr.de/datenschutz\" class=\"{nuc https://hr.de/datenschutz nuc}link unbreakable\" target=\"_blank\"><span class=\"unbreakable\">Datenschutzerklärung<svg class=\"icon icon--primary icon--textRight\" role=\"presentation\"><use xlink:href=\"{<% hrcms.delivery.current.assetBaseUrl %>}base/icons/icons/svgmap.min.svg#extern\"/></svg></span></a> des hr zu.",
@@ -2090,6 +2090,9 @@ article.indexTextDS .indexTextHighlighted .link {
2090
2090
  .flex-row {
2091
2091
  flex-direction: row;
2092
2092
  }
2093
+ .\!flex-col {
2094
+ flex-direction: column !important;
2095
+ }
2093
2096
  .flex-col {
2094
2097
  flex-direction: column;
2095
2098
  }
@@ -3094,6 +3097,9 @@ article.indexTextDS .indexTextHighlighted .link {
3094
3097
  .text-center {
3095
3098
  text-align: center;
3096
3099
  }
3100
+ .text-right {
3101
+ text-align: right;
3102
+ }
3097
3103
  .align-top {
3098
3104
  vertical-align: top;
3099
3105
  }
@@ -3126,6 +3132,10 @@ article.indexTextDS .indexTextHighlighted .link {
3126
3132
  font-family: RobotoSlab, ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
3127
3133
  font-family: var(--font-titleCluster);
3128
3134
  }
3135
+ .\!text-base {
3136
+ font-size: 1rem !important;
3137
+ line-height: 1.375rem !important;
3138
+ }
3129
3139
  .text-2xl {
3130
3140
  font-size: 1.375rem;
3131
3141
  line-height: 1.75rem;
@@ -3521,6 +3531,12 @@ article.indexTextDS .indexTextHighlighted .link {
3521
3531
  box-shadow: 0 0 rgba(0,0,0,0), 0 0 rgba(0,0,0,0), 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
3522
3532
  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);
3523
3533
  }
3534
+ .outline-2 {
3535
+ outline-width: 2px;
3536
+ }
3537
+ .outline-blue-science-hex {
3538
+ outline-color: #006dc1;
3539
+ }
3524
3540
  .ring {
3525
3541
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
3526
3542
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);
@@ -3642,7 +3658,7 @@ article.indexTextDS .indexTextHighlighted .link {
3642
3658
  border-bottom-color: var(--color-secondary-ds);
3643
3659
  }
3644
3660
  .counter-reset {
3645
- counter-reset: cnt1730456241225;
3661
+ counter-reset: cnt1730475050900;
3646
3662
  }
3647
3663
  .placeholder-text-xs::-webkit-input-placeholder {
3648
3664
  font-size: 0.75rem;
@@ -4056,7 +4072,7 @@ article.indexTextDS .indexTextHighlighted .link {
4056
4072
  --tw-ring-color: rgba(255, 255, 255, 0.5);
4057
4073
  }
4058
4074
  .-ordered {
4059
- counter-increment: cnt1730456241225 1;
4075
+ counter-increment: cnt1730475050900 1;
4060
4076
  }
4061
4077
  .-ordered::before {
4062
4078
  position: absolute;
@@ -4074,7 +4090,7 @@ article.indexTextDS .indexTextHighlighted .link {
4074
4090
  --tw-text-opacity: 1;
4075
4091
  color: rgba(0, 0, 0, 1);
4076
4092
  color: rgba(0, 0, 0, var(--tw-text-opacity));
4077
- content: counter(cnt1730456241225);
4093
+ content: counter(cnt1730475050900);
4078
4094
  }
4079
4095
  /*! ****************************/
4080
4096
  /*! DataPolicy stuff */
@@ -6192,11 +6208,17 @@ select:has(option:checked[value='']) {
6192
6208
  .disabled\:hidden:disabled {
6193
6209
  display: none;
6194
6210
  }
6211
+ .disabled\:cursor-not-allowed:disabled {
6212
+ cursor: not-allowed;
6213
+ }
6195
6214
  .disabled\:text-gray-scorpion:disabled {
6196
6215
  --tw-text-opacity: 1;
6197
6216
  color: rgba(96, 96, 96, 1);
6198
6217
  color: rgba(96, 96, 96, var(--tw-text-opacity));
6199
6218
  }
6219
+ .disabled\:opacity-75:disabled {
6220
+ opacity: 0.75;
6221
+ }
6200
6222
  .group:focus-within .group-focus-within\:text-white {
6201
6223
  --tw-text-opacity: 1;
6202
6224
  color: rgba(255, 255, 255, 1);
@@ -6301,6 +6323,15 @@ select:has(option:checked[value='']) {
6301
6323
  color: #006eb7;
6302
6324
  color: var(--color-form-highlight);
6303
6325
  }
6326
+ .has-\[input\:disabled\]\:cursor-not-allowed:has(input:disabled) {
6327
+ cursor: not-allowed;
6328
+ }
6329
+ .has-\[input\:disabled\]\:opacity-75:has(input:disabled) {
6330
+ opacity: 0.75;
6331
+ }
6332
+ .has-\[input\:checked\]\:outline:has(input:checked) {
6333
+ outline-style: solid;
6334
+ }
6304
6335
  .aria-hidden\:hidden[aria-hidden="true"] {
6305
6336
  display: none;
6306
6337
  }
@@ -6879,6 +6910,11 @@ select:has(option:checked[value='']) {
6879
6910
  padding-top: 2.25rem;
6880
6911
  }
6881
6912
 
6913
+ .sm\:\!text-lg {
6914
+ font-size: 1.125rem !important;
6915
+ line-height: 1.5rem !important;
6916
+ }
6917
+
6882
6918
  .sm\:text-3xl {
6883
6919
  font-size: 1.625rem;
6884
6920
  line-height: 2rem;
@@ -7480,6 +7516,11 @@ select:has(option:checked[value='']) {
7480
7516
  padding-top: 2rem;
7481
7517
  }
7482
7518
 
7519
+ .md\:\!text-lg {
7520
+ font-size: 1.125rem !important;
7521
+ line-height: 1.5rem !important;
7522
+ }
7523
+
7483
7524
  .md\:text-2xl {
7484
7525
  font-size: 1.375rem;
7485
7526
  line-height: 1.75rem;
@@ -21,30 +21,27 @@ export default function contactForm(formId, jsonUrl, errorMessages, multipart, t
21
21
  this.$store.forms.submissionAttempted[formId] = false;
22
22
  this.$store.forms.errorMessages = JSON.parse(errorMessages.replace(/&quot;/g,'"'))
23
23
  },
24
- scrollToElementWithOffset(element, offset = 0){
25
-
26
- var elementPosition = element.getBoundingClientRect().top;
27
- var offsetPosition = elementPosition + window.scrollY - offset;
28
-
29
- window.scrollTo({
30
- top: offsetPosition,
31
- behavior: "smooth"
32
- });
24
+ scrollToElementAndCenterWithTimeout(element, timeout){
25
+ setTimeout(() => {
26
+ element.scrollIntoView({
27
+ behavior: 'smooth',
28
+ block: 'center'
29
+ });
30
+ }, timeout);
33
31
  },
34
32
  submitButtonHandler(event) {
35
- if(this.form.reportValidity()){
33
+ this.$store.forms.submissionAttempted[formId] = true;
34
+ if(this.form.reportValidity()){
36
35
  this.handleSubmit(event,this.form)
37
36
  } else {
38
- this.$store.forms.submissionAttempted[formId] = true;
39
- setTimeout(() => {
40
- this.scrollToElementWithOffset(document.activeElement, 180)
41
- }, 100);
37
+ this.scrollToElementAndCenterWithTimeout(document.activeElement, 50)
42
38
  }
43
39
  },
44
40
  retryHandler() {
45
41
  this.wasPosted = false;
46
42
  this.wasPostedWithError = false;
47
- this.formWrapper.scrollIntoView({ behavior: 'smooth' })
43
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 50)
44
+
48
45
  },
49
46
  handleValidationErrors(errors) {
50
47
  console.log('Validation Errors:', errors);
@@ -109,20 +106,21 @@ export default function contactForm(formId, jsonUrl, errorMessages, multipart, t
109
106
  console.log("OK");
110
107
  this.wasPosted = true;
111
108
  this.wasPostedWithSuccess = true;
112
- this.scrollToElementWithOffset(this.formWrapper, 180)
109
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
113
110
 
114
111
  break;
115
112
  default:
116
113
  console.log("default");
117
114
  this.wasPosted = true;
118
115
  this.wasPostedWithError = true;
119
- this.scrollToElementWithOffset(this.formWrapper, 180)
116
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
120
117
  break;
121
118
  }
122
119
  } else {
123
120
 
124
121
  this.wasPosted = true;
125
122
  this.wasPostedWithError = true;
123
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
126
124
  }
127
125
  if (formId) {
128
126
  window.location.hash = formId;
@@ -130,14 +128,17 @@ export default function contactForm(formId, jsonUrl, errorMessages, multipart, t
130
128
  } else {
131
129
  this.wasPosted = true;
132
130
  this.wasPostedWithError = true;
131
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
133
132
  throw new Error('Network response was not ok.');
134
133
 
134
+
135
135
  }
136
136
  })
137
137
  .catch((error) => {
138
138
  console.error('Fail:', error);
139
139
  this.wasPosted = true;
140
140
  this.wasPostedWithError = true;
141
+ this.scrollToElementAndCenterWithTimeout(this.formWrapper.previousElementSibling, 0)
141
142
  })
142
143
  .finally(() => {
143
144
  console.log('Always');
@@ -0,0 +1,25 @@
1
+ import { hr$, getJSONCookie, replaceAnimated } from 'hrQuery'
2
+
3
+ const VotingCookieChecker = (context) => {
4
+ const { options } = context,
5
+ { element: rootElement } = context,
6
+ votingId = options.votingId,
7
+ votingWrapper = hr$('.js-voting-wrapper', rootElement)[0],
8
+ hideVotingResult = options.hideVotingResult,
9
+ alreadyVotedTmpl = '<p>' + options.alreadyVotedHintText + '<p>'
10
+ let cookie = ''
11
+
12
+ const checkForVotingCookie = function () {
13
+ cookie = getJSONCookie(votingId)
14
+ if (cookie) {
15
+ let voting = hr$('#' + votingId)[0]
16
+ let votingText = voting.querySelector('.c-voting-form__bottomWrapper')
17
+ hideVotingResult
18
+ ? replaceAnimated(votingText, alreadyVotedTmpl, true)
19
+ : replaceAnimated(votingWrapper, hr$('.js-result', rootElement)[0].innerHTML, true)
20
+ }
21
+ }
22
+ checkForVotingCookie()
23
+ }
24
+
25
+ export default VotingCookieChecker
@@ -0,0 +1,214 @@
1
+ import { hr$, listen, replaceAnimated } from 'hrQuery'
2
+ import $ from 'zepto-modules'
3
+
4
+ require('zepto-modules/callbacks')
5
+ require('zepto-modules/deferred')
6
+
7
+ const Voting = (context) => {
8
+ const { options } = context
9
+ const { element: rootElement } = context
10
+ const jsonUrl = options.jsonURL,
11
+ votingWrapper = hr$('.js-voting-wrapper', rootElement)[0],
12
+ votingTmpl = votingWrapper.innerHTML,
13
+ ajaxTimeout = 60 * 1000,
14
+ responseFormatParam = 'rf=inline'
15
+ let ajaxOptions,
16
+ votingForm = hr$('.js-votingForm', rootElement)[0],
17
+ actionUrl = votingForm && votingForm.getAttribute('action'),
18
+ isPosting = false,
19
+ responseStatus,
20
+ validationErrors
21
+
22
+ const checkForJsonUrl = function () {
23
+ if (jsonUrl) {
24
+ actionUrl = jsonUrl
25
+ }
26
+ }
27
+
28
+ const handleSubmit = function (event) {
29
+ if (event.target.matches('.js-votingForm')) {
30
+ submitForm(event)
31
+ }
32
+ }
33
+ const submitForm = function (event) {
34
+ event.preventDefault()
35
+
36
+ if (isPosting) {
37
+ return
38
+ } else {
39
+ isPosting = true
40
+ }
41
+
42
+ //jedes mal neu holen,
43
+ //da das DOM mit innerHTML ersetzt wird
44
+ votingForm = hr$('.js-votingForm', rootElement)[0]
45
+
46
+ console.log('DATA: ' + $(votingForm).serialize())
47
+ setAjaxOptions()
48
+
49
+ $.ajax(ajaxOptions)
50
+
51
+ //Add handlers to be called when the Deferred object is resolved.
52
+ .done(function (data, status, xhr) {
53
+ console.log('Done')
54
+ console.log(data)
55
+
56
+ if (jsonUrl) {
57
+ responseStatus = JSON.parse(data).status
58
+ switch (responseStatus) {
59
+ case 'VALIDATION_ERROR':
60
+ console.log('Validation Error')
61
+ validationErrors = JSON.parse(data).errors
62
+ handleValidationErrors(validationErrors)
63
+ break
64
+ case 'SERVER_ERROR':
65
+ replaceAnimated(
66
+ votingWrapper,
67
+ hr$('.js-errorMessage', rootElement)[0].innerHTML,
68
+ true,
69
+ scrollIntoVoting
70
+ )
71
+ break
72
+ case 'OK':
73
+ replaceAnimated(
74
+ votingWrapper,
75
+ hr$('.js-successMessage', rootElement)[0].innerHTML,
76
+ true,
77
+ scrollIntoVoting
78
+ )
79
+ break
80
+ default:
81
+ replaceAnimated(
82
+ votingWrapper,
83
+ hr$('.js-errorMessage', rootElement)[0].innerHTML,
84
+ true,
85
+ scrollIntoVoting
86
+ )
87
+ break
88
+ }
89
+ } else {
90
+ replaceAnimated(votingWrapper, data, true, scrollIntoVoting)
91
+ }
92
+ })
93
+
94
+ //Add handlers to be called when the Deferred object is rejected.
95
+ .fail(function (xhr, errorType, error) {
96
+ //anzeige irgendetwas hat nicht geklappt
97
+ console.log('Fail ' + errorType)
98
+ replaceAnimated(
99
+ votingWrapper,
100
+ hr$('.js-errorMessage', rootElement)[0].innerHTML,
101
+ true,
102
+ scrollIntoVoting
103
+ )
104
+ })
105
+
106
+ //Add handlers to be called when the Deferred object is either resolved or rejected.
107
+ .always(function () {
108
+ //aufräumen wenn bedarf besteht.
109
+ console.log('Always')
110
+
111
+ isPosting = false
112
+ })
113
+ }
114
+
115
+ const setAjaxOptions = function () {
116
+ ajaxOptions = {}
117
+ ajaxOptions.timeout = ajaxTimeout
118
+
119
+ ajaxOptions.type = 'POST'
120
+ ajaxOptions.url = actionUrl + '?' + responseFormatParam
121
+ ajaxOptions.data = $(votingForm).serialize()
122
+ ajaxOptions.contentType = 'application/x-www-form-urlencoded; charset=UTF-8'
123
+ ajaxOptions.dataType = ''
124
+ }
125
+
126
+ const scrollIntoVoting = function (vertical) {
127
+ setTimeout(function () {
128
+ rootElement.scrollIntoView({
129
+ behavior: 'smooth',
130
+ block: 'center',
131
+ })
132
+ }, 850)
133
+ }
134
+ /**
135
+ * Handles click events globally
136
+ * and delegates to concrete handlers
137
+ * on the basis of the event target.
138
+ * @see {@link https://gomakethings.com/why-event-delegation-is-a-better-way-to-listen-for-events-in-vanilla-js/} for further information.
139
+ * @param event
140
+ */
141
+ const handleClick = function (event) {
142
+ if (event.target.matches('.js-formReload')) {
143
+ handleFormReload(event)
144
+ }
145
+ }
146
+
147
+ const handleFormReload = function (event) {
148
+ event.preventDefault()
149
+ replaceAnimated(votingWrapper, votingTmpl, true, scrollIntoVoting)
150
+ }
151
+
152
+ const handleKeydown = function (event) {
153
+ if (event.target.matches('.js-form-email')) {
154
+ event.stopPropagation()
155
+ }
156
+ }
157
+
158
+ const setValidationErrors = function (errors) {
159
+ let wrapperElement, errorElement, prop, InvalidFields
160
+
161
+ for (prop in errors) {
162
+ wrapperElement = rootElement.getElementsByClassName('js-wrapper-' + prop)[0]
163
+ errorElement = document.createElement('p')
164
+
165
+ InvalidFields = document.getElementsByName(prop)
166
+ for (let i = 0; i < InvalidFields.length; i++) {
167
+ if (wrapperElement.contains(InvalidFields[i])) {
168
+ InvalidFields[i].classList.add('is-invalid')
169
+ }
170
+ }
171
+
172
+ errorElement.innerHTML = options.errorMessages[errors[prop]]
173
+ errorElement.classList.add('c-form__errorMessage')
174
+
175
+ wrapperElement.insertBefore(errorElement, wrapperElement.firstChild)
176
+ }
177
+ }
178
+
179
+ const resetValidationErrors = function () {
180
+ let oldInvalidFields = hr$('.is-invalid', rootElement),
181
+ oldErrorMessages = hr$('.c-form__errorMessage', rootElement)
182
+
183
+ for (let i = 0; i < oldInvalidFields.length; i++) {
184
+ oldInvalidFields[i].classList.remove('is-invalid')
185
+ oldErrorMessages[i].parentNode.removeChild(oldErrorMessages[i])
186
+ }
187
+ }
188
+
189
+ const handleValidationErrors = function (errors) {
190
+ resetValidationErrors()
191
+ setValidationErrors(errors)
192
+ }
193
+
194
+ const isFormAvailable = function () {
195
+ return !!votingForm
196
+ }
197
+
198
+ if (!isFormAvailable()) {
199
+ //skip code execution
200
+ return
201
+ }
202
+
203
+ //init
204
+ votingWrapper.style.WebkitTransition = 'opacity 0.8s ease-in-out'
205
+ votingWrapper.style.MozTransition = 'opacity 0.8s ease-in-out'
206
+ votingWrapper.style.transition = 'opacity 0.8s ease-in-out'
207
+
208
+ checkForJsonUrl()
209
+
210
+ listen('submit', handleSubmit, rootElement)
211
+ listen('click', handleClick, rootElement)
212
+ listen('keydown', handleKeydown, rootElement)
213
+ }
214
+ export default Voting