@fmidev/smartmet-alert-client 4.2.7 → 4.4.19

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 (54) hide show
  1. package/dist/index.dark.html +1 -1
  2. package/dist/index.en.html +1 -1
  3. package/dist/index.fi.html +1 -1
  4. package/dist/index.js +20 -20
  5. package/dist/index.mjs +20 -20
  6. package/dist/index.mjs.map +1 -1
  7. package/dist/index.relative.html +1 -1
  8. package/dist/index.start.html +1 -1
  9. package/dist/index.sv.html +1 -1
  10. package/package.json +2 -2
  11. package/public/index.dark.html +1 -1
  12. package/public/index.en.html +1 -1
  13. package/public/index.fi.html +1 -1
  14. package/public/index.relative.html +1 -1
  15. package/public/index.start.html +1 -1
  16. package/public/index.sv.html +1 -1
  17. package/src/App.vue +32 -0
  18. package/src/assets/img/ui/arrow-down.svg +1 -4
  19. package/src/assets/img/ui/arrow-up.svg +1 -4
  20. package/src/assets/img/ui/toggle-selected.svg +13 -0
  21. package/src/assets/img/ui/toggle-unselected.svg +13 -0
  22. package/src/assets/img/warning/several.svg +1 -1
  23. package/src/components/AlertClient.vue +1 -1
  24. package/src/components/DayLarge.vue +34 -31
  25. package/src/components/DaySmall.vue +1 -1
  26. package/src/components/Days.vue +1 -1
  27. package/src/components/DescriptionWarning.vue +12 -1
  28. package/src/components/GrayScaleToggle.vue +36 -34
  29. package/src/components/Legend.vue +21 -13
  30. package/src/components/MapLarge.vue +17 -11
  31. package/src/components/MapSmall.vue +6 -3
  32. package/src/components/Region.vue +146 -52
  33. package/src/components/RegionWarning.vue +30 -9
  34. package/src/components/Regions.vue +21 -22
  35. package/src/components/Warning.vue +43 -47
  36. package/src/components/Warnings.vue +33 -10
  37. package/src/locales/en.json +21 -4
  38. package/src/locales/fi.json +23 -6
  39. package/src/locales/sv.json +20 -3
  40. package/src/mixins/config.js +2 -2
  41. package/src/mixins/utils.js +20 -3
  42. package/src/scss/backgrounds.scss +2 -0
  43. package/src/scss/colors.scss +5 -3
  44. package/src/scss/constants.scss +1 -1
  45. package/src/scss/themes/dark-gray.scss +3 -3
  46. package/src/scss/themes/dark.scss +1 -1
  47. package/src/scss/themes/light-gray.scss +5 -5
  48. package/src/scss/themes/light.scss +3 -3
  49. package/src/scss/warningImages.scss +1 -2
  50. package/src/assets/img/ui/toggle-selected-blue.svg +0 -4
  51. package/src/assets/img/ui/toggle-selected-dark.svg +0 -4
  52. package/src/assets/img/ui/toggle-selected-light.svg +0 -4
  53. package/src/assets/img/ui/toggle-unselected-dark.svg +0 -4
  54. package/src/assets/img/ui/toggle-unselected-light.svg +0 -4
@@ -140,7 +140,7 @@
140
140
  class="border-path"
141
141
  :key="path.key"
142
142
  :stroke="strokeColor"
143
- :stroke-width="path.strokeWidth"
143
+ :stroke-width="2*path.strokeWidth"
144
144
  :stroke-opacity="strokeOpacity"
145
145
  :d="path.d"
146
146
  fill-opacity="0"
@@ -401,7 +401,8 @@ export default {
401
401
  const keys = []
402
402
  const geoms = []
403
403
  region.warnings
404
- .filter((warning) => this.visibleWarnings.includes(warning.type))
404
+ .filter((warning) => this.visibleWarnings.includes(warning.type) &&
405
+ warning.coverage === 100 )
405
406
  .forEach((regionWarning, index, regionWarnings) => {
406
407
  const identifier = regionWarning.identifiers.find(
407
408
  (id) => warnings[id] && warnings[id].covRegions.size === 0
@@ -930,6 +931,7 @@ export default {
930
931
  </script>
931
932
 
932
933
  <style lang="scss">
934
+ @import '../scss/backgrounds.scss';
933
935
  @import '../scss/constants.scss';
934
936
  @import '../scss/warningImages.scss';
935
937
 
@@ -1029,17 +1031,21 @@ div.map-large div.day-map-large button {
1029
1031
  }
1030
1032
  }
1031
1033
 
1034
+ div.map-large div.day-map-large button:disabled {
1035
+ opacity: 1;
1036
+ }
1037
+
1032
1038
  div.map-large.light-theme div.day-map-large button {
1033
1039
  &#fmi-warnings-zoom-in {
1034
1040
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiMzQTY2RTMiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
1035
1041
  &:disabled {
1036
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Imljb25zIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iU3ltYm9scyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzNy4wMDAwMDAsIC03MjQuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJwbHVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODM3LjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMyIgZmlsbD0iIzk3OTc5NyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTcsMjQgTDE3LDEwIiBpZD0iZmlsbC0yIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1042
+ background-image: $disabled-zoom-in;
1037
1043
  }
1038
1044
  }
1039
1045
  &#fmi-warnings-zoom-out {
1040
1046
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzNBNjZFMyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1041
1047
  &:disabled {
1042
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04ODEuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibWludXMtc3ltYm9sIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4ODEuMDAwMDAwLCA3MjQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iZmlsbC0yIiBmaWxsPSIjOTc5Nzk3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQiIGhlaWdodD0iMzQiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCwxNyBMMjQsMTciIGlkPSJmaWxsLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
1048
+ background-image: $disabled-zoom-out;
1043
1049
  }
1044
1050
  }
1045
1051
  }
@@ -1048,13 +1054,13 @@ div.map-large.dark-theme div.day-map-large button {
1048
1054
  &#fmi-warnings-zoom-in {
1049
1055
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjNDM0NzUyIiBkPSJNMCAwaDM0djM0SDB6Ii8+PHBhdGggZD0iTTE3IDI0VjEwTTEwIDE3aDE0IiBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);
1050
1056
  &:disabled {
1051
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Imljb25zIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iU3ltYm9scyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzNy4wMDAwMDAsIC03MjQuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJwbHVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODM3LjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMyIgZmlsbD0iIzk3OTc5NyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTcsMjQgTDE3LDEwIiBpZD0iZmlsbC0yIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1057
+ background-image: $disabled-zoom-in;
1052
1058
  }
1053
1059
  }
1054
1060
  &#fmi-warnings-zoom-out {
1055
1061
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzQiIGhlaWdodD0iMzQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjNDM0NzUyIiBkPSJNMCAwaDM0djM0SDB6Ii8+PHBhdGggZD0iTTEwIDE3aDE0IiBzdHJva2U9IiNGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PC9nPjwvc3ZnPg==);
1056
1062
  &:disabled {
1057
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04ODEuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibWludXMtc3ltYm9sIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4ODEuMDAwMDAwLCA3MjQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iZmlsbC0yIiBmaWxsPSIjOTc5Nzk3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQiIGhlaWdodD0iMzQiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCwxNyBMMjQsMTciIGlkPSJmaWxsLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
1063
+ background-image: $disabled-zoom-out;
1058
1064
  }
1059
1065
  }
1060
1066
  }
@@ -1063,13 +1069,13 @@ div.map-large.light-gray-theme div.day-map-large button {
1063
1069
  &#fmi-warnings-zoom-in {
1064
1070
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiM0MzQ3NTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
1065
1071
  &:disabled {
1066
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Imljb25zIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iU3ltYm9scyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzNy4wMDAwMDAsIC03MjQuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJwbHVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODM3LjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMyIgZmlsbD0iIzk3OTc5NyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTcsMjQgTDE3LDEwIiBpZD0iZmlsbC0yIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1072
+ background-image: $disabled-zoom-in;
1067
1073
  }
1068
1074
  }
1069
1075
  &#fmi-warnings-zoom-out {
1070
1076
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzQzNDc1MiIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1071
1077
  &:disabled {
1072
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04ODEuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibWludXMtc3ltYm9sIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4ODEuMDAwMDAwLCA3MjQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iZmlsbC0yIiBmaWxsPSIjOTc5Nzk3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQiIGhlaWdodD0iMzQiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCwxNyBMMjQsMTciIGlkPSJmaWxsLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
1078
+ background-image: $disabled-zoom-out;
1073
1079
  }
1074
1080
  }
1075
1081
  }
@@ -1078,13 +1084,13 @@ div.map-large.dark-gray-theme div.day-map-large button {
1078
1084
  &#fmi-warnings-zoom-in {
1079
1085
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04MzcuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0icGx1cy1zeW1ib2wiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgzNy4wMDAwMDAsIDcyNC4wMDAwMDApIj4KICAgICAgICAgICAgICAgIDxyZWN0IGlkPSJmaWxsLTMiIGZpbGw9IiM0MzQ3NTIiIHg9IjAiIHk9IjAiIHdpZHRoPSIzNCIgaGVpZ2h0PSIzNCI+PC9yZWN0PgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LDI0IEwxNywxMCIgaWQ9ImZpbGwtMiIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEwLDE3IEwyNCwxNyIgaWQ9ImZpbGwtMSIgc3Ryb2tlPSIjRkZGRkZGIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PC9wYXRoPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgPC9nPgo8L3N2Zz4=);
1080
1086
  &:disabled {
1081
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPnBsdXMtc3ltYm9sPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnM+PC9kZWZzPgogICAgPGcgaWQ9Imljb25zIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4KICAgICAgICA8ZyBpZD0iU3ltYm9scyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzNy4wMDAwMDAsIC03MjQuMDAwMDAwKSI+CiAgICAgICAgICAgIDxnIGlkPSJwbHVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODM3LjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMyIgZmlsbD0iIzk3OTc5NyIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTcsMjQgTDE3LDEwIiBpZD0iZmlsbC0yIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1087
+ background-image: $disabled-zoom-in;
1082
1088
  }
1083
1089
  }
1084
1090
  &#fmi-warnings-zoom-out {
1085
1091
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVmcz48L2RlZnM+CiAgICA8ZyBpZD0iaWNvbnMiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPgogICAgICAgIDxnIGlkPSJTeW1ib2xzIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODgxLjAwMDAwMCwgLTcyNC4wMDAwMDApIj4KICAgICAgICAgICAgPGcgaWQ9Im1pbnVzLXN5bWJvbCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoODgxLjAwMDAwMCwgNzI0LjAwMDAwMCkiPgogICAgICAgICAgICAgICAgPHJlY3QgaWQ9ImZpbGwtMiIgZmlsbD0iIzQzNDc1MiIgeD0iMCIgeT0iMCIgd2lkdGg9IjM0IiBoZWlnaHQ9IjM0Ij48L3JlY3Q+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTAsMTcgTDI0LDE3IiBpZD0iZmlsbC0xIiBzdHJva2U9IiNGRkZGRkYiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIj48L3BhdGg+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPg==);
1086
1092
  &:disabled {
1087
- background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjM0cHgiIGhlaWdodD0iMzRweCIgdmlld0JveD0iMCAwIDM0IDM0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPgogICAgPCEtLSBHZW5lcmF0b3I6IFNrZXRjaCAzLjcuMSAoMjgyMTUpIC0gaHR0cDovL3d3dy5ib2hlbWlhbmNvZGluZy5jb20vc2tldGNoIC0tPgogICAgPHRpdGxlPm1pbnVzLXN5bWJvbDwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPjwvZGVmcz4KICAgIDxnIGlkPSJpY29ucyIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9IlN5bWJvbHMiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04ODEuMDAwMDAwLCAtNzI0LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibWludXMtc3ltYm9sIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg4ODEuMDAwMDAwLCA3MjQuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8cmVjdCBpZD0iZmlsbC0yIiBmaWxsPSIjOTc5Nzk3IiB4PSIwIiB5PSIwIiB3aWR0aD0iMzQiIGhlaWdodD0iMzQiPjwvcmVjdD4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMCwxNyBMMjQsMTciIGlkPSJmaWxsLTEiIHN0cm9rZT0iI0ZGRkZGRiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiPjwvcGF0aD4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+);
1093
+ background-image: $disabled-zoom-out;
1088
1094
  }
1089
1095
  }
1090
1096
  }
@@ -1570,7 +1576,7 @@ svg#finland-large {
1570
1576
  }
1571
1577
  }
1572
1578
 
1573
- @media (max-width: 575px) {
1579
+ @media (width < 576px) {
1574
1580
  button.fmi-warnings-map-tool {
1575
1581
  display: none;
1576
1582
  }
@@ -98,7 +98,7 @@
98
98
  class="border-path"
99
99
  :key="path.key"
100
100
  :stroke="strokeColor"
101
- :stroke-width="path.strokeWidth"
101
+ :stroke-width="1.5*path.strokeWidth"
102
102
  :d="path.d"
103
103
  fill-opacity="0" />
104
104
  <path
@@ -176,8 +176,11 @@ export default {
176
176
  size() {
177
177
  return 'Small'
178
178
  },
179
+ strokeColor() {
180
+ return 'DarkSlateGray'
181
+ },
179
182
  strokeWidth() {
180
- return 0.3
183
+ return 0.6
181
184
  },
182
185
  },
183
186
  watch: {
@@ -305,7 +308,7 @@ div.map-small {
305
308
  }
306
309
  }
307
310
 
308
- @media (max-width: 575px) {
311
+ @media (width < 576px) {
309
312
  #fmi-day-small-view .map-small,
310
313
  #fmi-day-small-view .map-container {
311
314
  display: none;
@@ -1,44 +1,51 @@
1
1
  <template>
2
- <b-card no-body class="mb-1 current-warning-panel" :class="theme">
3
- <b-card-header header-tag="header" class="p-1">
2
+ <h3>
3
+ <button
4
+ type="button"
5
+ :aria-expanded="open"
6
+ :class="['accordion-trigger', 'focus-ring', open ? '' : 'collapsed']"
7
+ :aria-controls="`accordion-section-${code}`"
8
+ :id="`accordion-${code}`"
9
+ :aria-label="ariaButton"
10
+ @click="onRegionToggle">
4
11
  <div class="region-header">
12
+ <span class="region-item-text">
13
+ {{ regionName }}
14
+ </span>
5
15
  <div>
6
16
  <RegionWarning
7
17
  v-for="warning in warningsSummary"
8
18
  :key="warning.key"
9
- :input="warning"></RegionWarning>
19
+ :input="warning"
20
+ :language="language">
21
+ </RegionWarning>
10
22
  </div>
11
- <span class="region-item-text">
12
- {{ regionName }}
13
- </span>
14
23
  </div>
15
- <b-button
24
+ <div
16
25
  block
17
- :class="['current-warning-toggle', visible ? '' : 'collapsed']"
18
- :aria-label="ariaButton"
19
- @click="onRegionToggle" />
20
- </b-card-header>
21
- <b-collapse
22
- :id="identifier"
23
- v-model="visible"
24
- class="accordion-item-region focus-ring"
25
- :accordion="`accordion-${type}`"
26
- tabindex="0"
27
- :aria-label="ariaInfo">
28
- <b-card-body body-class="p-0">
29
- <div class="current-description">
30
- <div class="current-description-table">
31
- <DescriptionWarning
32
- v-for="warning in reducedWarnings"
33
- :key="warning.identification"
34
- :input="warning"
35
- :theme="theme"
36
- :language="language" />
37
- </div>
38
- </div>
39
- </b-card-body>
40
- </b-collapse>
41
- </b-card>
26
+ :class="['current-warning-toggle', open ? '' : 'collapsed']" />
27
+ </button>
28
+ </h3>
29
+ <div
30
+ :id="`accordion-section-${code}`"
31
+ role="region"
32
+ :aria-labelledby="`accordion-${code}`"
33
+ :aria-expanded="open"
34
+ class="accordion-panel"
35
+ :hidden="open ? null : ''"
36
+ >
37
+ <div class="current-description">
38
+ <div class="current-description-table">
39
+ <DescriptionWarning
40
+ v-for="warning in reducedWarnings"
41
+ :key="warning.identification"
42
+ :input="warning"
43
+ :theme="theme"
44
+ :language="language"
45
+ />
46
+ </div>
47
+ </div>
48
+ </div>
42
49
  </template>
43
50
 
44
51
  <script>
@@ -55,10 +62,6 @@ export default {
55
62
  type: {
56
63
  type: String,
57
64
  },
58
- shown: {
59
- type: Boolean,
60
- default: false,
61
- },
62
65
  code: {
63
66
  type: String,
64
67
  },
@@ -83,7 +86,7 @@ export default {
83
86
  },
84
87
  data() {
85
88
  return {
86
- visible: this.shown,
89
+ open: false,
87
90
  }
88
91
  },
89
92
  computed: {
@@ -131,7 +134,7 @@ export default {
131
134
  },
132
135
  ariaButton() {
133
136
  return `${
134
- this.visible
137
+ this.open
135
138
  ? this.t('infoButtonAriaLabelCloseRegion')
136
139
  : this.t('infoButtonAriaLabelShowRegion')
137
140
  } ${this.regionName} ${this.t('infoButtonAriaLabelValidWarnings')}`
@@ -145,17 +148,9 @@ export default {
145
148
  )
146
149
  },
147
150
  },
148
- watch: {
149
- shown(isShown) {
150
- this.visible = isShown
151
- },
152
- },
153
151
  methods: {
154
152
  onRegionToggle() {
155
- this.$emit('regionToggled', {
156
- code: this.code,
157
- shown: !this.visible,
158
- })
153
+ this.open = !this.open
159
154
  },
160
155
  },
161
156
  }
@@ -197,18 +192,24 @@ export default {
197
192
 
198
193
  button {
199
194
  border: none;
195
+ &:focus:not(:focus-visible) {
196
+ box-shadow: none;
197
+ }
200
198
  }
201
199
 
202
200
  .region-header {
203
201
  position: absolute;
204
202
  left: 0;
205
203
  right: 38px;
204
+ display: flex;
205
+ align-items: center;
206
+ justify-content: space-between;
207
+ height: $current-warning-height;
206
208
  }
207
209
 
208
210
  .region-item-text {
209
211
  display: block;
210
212
  text-align: left;
211
- line-height: $current-warning-height;
212
213
  white-space: nowrap;
213
214
  overflow: hidden;
214
215
  text-overflow: ellipsis;
@@ -303,22 +304,22 @@ button {
303
304
  }
304
305
 
305
306
  .light-theme .current-description {
306
- border-top: 1px solid $light-description-border-color;
307
+ border-top: 0.5px solid $light-description-border-color;
307
308
  background-color: $light-description-background-color;
308
309
  }
309
310
 
310
311
  .dark-theme .current-description {
311
- border-top: 1px solid $dark-description-border-color;
312
+ border-top: 0.5px solid $dark-description-border-color;
312
313
  background-color: $dark-description-background-color;
313
314
  }
314
315
 
315
316
  .light-gray-theme .current-description {
316
- border-top: 1px solid $light-gray-description-border-color;
317
+ border-top: 0.5px solid $light-gray-description-border-color;
317
318
  background-color: $light-gray-description-background-color;
318
319
  }
319
320
 
320
321
  .dark-gray-theme .current-description {
321
- border-top: 1px solid $dark-gray-description-border-color;
322
+ border-top: 0.5px solid $dark-gray-description-border-color;
322
323
  background-color: $dark-gray-description-background-color;
323
324
  }
324
325
 
@@ -333,4 +334,97 @@ div.accordion-item-region {
333
334
  padding: 0;
334
335
  }
335
336
  }
337
+
338
+ h3 {
339
+ margin: 0;
340
+ padding: 0;
341
+ }
342
+
343
+ .accordion-trigger {
344
+ background: none;
345
+ color: hsl(0deg 0% 13%);
346
+ display: block;
347
+ font-size: $font-size;
348
+ font-weight: normal;
349
+ margin: 0;
350
+ padding: 0;
351
+ position: relative;
352
+ text-align: left;
353
+ width: 100%;
354
+ outline: none;
355
+ }
356
+
357
+ .accordion > div:first-child .accordion-trigger > .region-header {
358
+ border-radius: 0;
359
+ }
360
+
361
+ .accordion > div:last-child .accordion-trigger.collapsed > .region-header {
362
+ border-radius: 0;
363
+ }
364
+
365
+ .accordion > div:first-child:last-child .accordion-trigger > .region-header {
366
+ border-radius: 0;
367
+ }
368
+
369
+ .accordion > div:first-child:last-child .accordion-trigger.collapsed > .region-header {
370
+ border-radius: 0;
371
+ }
372
+
373
+ .accordion > div:first-child > h3 > button,
374
+ .accordion > div:first-child > h3 > button:hover {
375
+ border-radius: 0;
376
+ }
377
+
378
+ .accordion > div:last-child > h3 > button.collapsed,
379
+ .accordion > div:last-child > h3 > button.collapsed:hover {
380
+ border-radius: 0;
381
+ }
382
+
383
+ .accordion > div:first-child:last-child > h3 > button,
384
+ .accordion > div:first-child:last-child > h3 > button:hover {
385
+ border-radius: 0;
386
+ }
387
+
388
+ .accordion > div:first-child:last-child > h3 > button.collapsed,
389
+ .accordion > div:first-child:last-child > h3 > button.collapsed:hover {
390
+ border-radius: 0;
391
+ }
392
+
393
+ .accordion > div:last-child .current-description {
394
+ border-radius: 0;
395
+ }
396
+
397
+ .accordion > div:first-child > div > h3 > button > div.current-warning-toggle {
398
+ border-radius: 0;
399
+ }
400
+
401
+ .accordion > div:last-child > div > h3 > button > div.current-warning-toggle.collapsed {
402
+ border-radius: 0;
403
+ }
404
+
405
+ .accordion > div:first-child:last-child > div > h3 > button > div.current-warning-toggle {
406
+ border-radius: 0;
407
+ }
408
+
409
+ .accordion > div:first-child:last-child > div > h3 > button > div.current-warning-toggle.collapsed {
410
+ border-radius: 0;
411
+ }
412
+
413
+ button {
414
+ border-style: none;
415
+ }
416
+
417
+ .accordion button::-moz-focus-inner {
418
+ border: 0;
419
+ }
420
+
421
+ .accordion-panel {
422
+ margin: 0;
423
+ padding: 0;
424
+ }
425
+
426
+ /* For Edge bug https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/4806035/ */
427
+ .accordion-panel[hidden] {
428
+ display: none;
429
+ }
336
430
  </style>
@@ -8,7 +8,9 @@
8
8
  `symbol-rotate-${rotation}`,
9
9
  `level-${input.severity}`,
10
10
  `${typeClass}`,
11
- ]">
11
+ ]"
12
+ :aria-label="`${warningLevel} ${warningTypeText}${warningDetails}`"
13
+ >
12
14
  <span
13
15
  aria-hidden="true"
14
16
  :class="[
@@ -23,12 +25,35 @@
23
25
 
24
26
  <script>
25
27
  import fields from '../mixins/fields'
28
+ import i18n from '../mixins/i18n'
26
29
  import utils from '../mixins/utils'
27
30
 
28
31
  export default {
29
32
  name: 'RegionWarning',
30
- mixins: [fields, utils],
31
- props: ['input'],
33
+ mixins: [fields, i18n, utils],
34
+ props: {
35
+ input: {
36
+ type: Object,
37
+ default: null,
38
+ },
39
+ language: {
40
+ type: String,
41
+ },
42
+ },
43
+ computed: {
44
+ warningLevel() {
45
+ return this.t(`warningLevel${this.input.severity}`)
46
+ },
47
+ warningTypeText() {
48
+ return this.t(this.input.type).toLowerCase();
49
+ },
50
+ warningDetails() {
51
+ if (this.input.text == null || this.input.direction == null) {
52
+ return ''
53
+ }
54
+ return ` (${this.input.text} m/s ${this.t("fromDirection")} ${this.input.direction + 180}°)`
55
+ }
56
+ },
32
57
  }
33
58
  </script>
34
59
 
@@ -47,15 +72,11 @@ div.warning-image {
47
72
  }
48
73
 
49
74
  .current-warning-image {
50
- background-size: 28px 28px;
75
+ background-size: $current-warning-image-height $current-warning-image-height;
51
76
  height: $current-warning-image-height;
52
77
  width: $current-warning-image-height;
53
- margin-top: calc(
54
- ($current-warning-height - $current-warning-image-height) / 2
55
- );
78
+ margin: 0 5px;
56
79
  float: right;
57
- margin-left: 5px;
58
- margin-right: 5px;
59
80
  }
60
81
 
61
82
  span.warning-symbol-text {
@@ -10,21 +10,21 @@
10
10
  @click="fromLandToNextContentClicked"
11
11
  >{{ fromLandToNextContentText }}</a
12
12
  >
13
- <div id="accordion-land" class="accordion-region" role="tablist">
13
+ <div id="accordion-group-land" class="accordion">
14
14
  <div v-for="region in regions.land" :key="region.key">
15
15
  <Region
16
16
  v-if="region.warnings.length"
17
17
  type="land"
18
- :shown="shownRegion === region.key"
19
18
  :code="region.key"
20
19
  :name="region.name"
21
20
  :input="region.warnings"
22
21
  :warnings="warnings"
23
- :language="language"
24
- @regionToggled="onRegionToggled" />
22
+ :theme="theme"
23
+ :language="language" />
25
24
  </div>
26
25
  </div>
27
26
  </div>
27
+
28
28
  <div v-if="anySeaWarnings" class="region-type-container">
29
29
  <h3 id="header-sea" class="header-region">{{ seaText }}</h3>
30
30
  <a
@@ -35,19 +35,17 @@
35
35
  @click="fromSeaToNextContentClicked"
36
36
  >{{ fromSeaToNextContentText }}</a
37
37
  >
38
- <div id="accordion-sea" class="accordion-region" role="tablist">
38
+ <div id="accordion-group-sea" class="accordion">
39
39
  <div v-for="region in regions.sea" :key="region.key">
40
40
  <Region
41
41
  v-if="region.warnings.length"
42
42
  type="sea"
43
- :shown="shownRegion === region.key"
44
43
  :code="region.key"
45
44
  :name="region.name"
46
45
  :input="region.warnings"
47
46
  :warnings="warnings"
48
47
  :theme="theme"
49
- :language="language"
50
- @regionToggled="onRegionToggled" />
48
+ :language="language" />
51
49
  </div>
52
50
  </div>
53
51
  </div>
@@ -77,11 +75,6 @@ export default {
77
75
  theme: String,
78
76
  language: String,
79
77
  },
80
- data() {
81
- return {
82
- shownRegion: null,
83
- }
84
- },
85
78
  computed: {
86
79
  landText() {
87
80
  return this.t('regionLand')
@@ -90,14 +83,14 @@ export default {
90
83
  return this.t('regionSea')
91
84
  },
92
85
  fromLandToNextContentText() {
93
- return `${this.t('warningsInAreaStart')} ${
94
- this.regions.land.length
95
- } ${this.t('warningsInAreaEnd')} ${this.t('toNextContent')}`
86
+ return `${this.t('warningsInAreasStart')} ${
87
+ this.t(`in${this.regions.land.length}Areas`)
88
+ }. ${this.t('toNextContent')}`
96
89
  },
97
90
  fromSeaToNextContentText() {
98
- return `${this.t('warningsInAreaStart')} ${
99
- this.regions.sea.length
100
- } ${this.t('warningsInAreaEnd')} ${this.t('toNextContent')}`
91
+ return `${this.t('warningsInAreasStart')} ${
92
+ this.t(`in${this.regions.sea.length}Areas`)
93
+ }. ${this.t('toNextContent')}`
101
94
  },
102
95
  fromLandToNextContentHref() {
103
96
  return this.anySeaWarnings
@@ -155,9 +148,6 @@ export default {
155
148
  this.regions[regionType].length > 0
156
149
  )
157
150
  },
158
- onRegionToggled({ code, shown }) {
159
- this.shownRegion = shown ? code : null
160
- },
161
151
  fromLandToNextContentClicked() {
162
152
  const nextContent = this.$el.querySelector(this.fromLandToNextContentHref)
163
153
  nextContent.scrollIntoView()
@@ -209,4 +199,13 @@ div.region-type-container {
209
199
  width: 100%;
210
200
  padding: 0;
211
201
  }
202
+
203
+ div.accordion {
204
+ margin: 0;
205
+ border: 0.5px solid $variant-gray-darker;
206
+ border-radius: 0;
207
+ > * + * {
208
+ border-top: 0.5px solid $variant-gray-darker;
209
+ }
210
+ }
212
211
  </style>