@fmidev/smartmet-alert-client 4.7.0-beta.13 → 4.7.0-beta.20

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.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * name: @fmidev/smartmet-alert-client
3
- * version: v4.7.0-beta.13
3
+ * version: v4.7.0-beta.20
4
4
  * description: Web application for viewing weather and flood alerts
5
5
  * author: Finnish Meteorological Institute
6
6
  * homepage: https://github.com/fmidev/smartmet-alert-client#readme
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fmidev/smartmet-alert-client",
3
- "version": "4.7.0-beta.13",
3
+ "version": "4.7.0-beta.20",
4
4
  "description": "Web application for viewing weather and flood alerts",
5
5
  "author": "Finnish Meteorological Institute",
6
6
  "license": "MIT",
@@ -23,7 +23,7 @@
23
23
  "url": "git+https://github.com/fmidev/smartmet-alert-client.git"
24
24
  },
25
25
  "scripts": {
26
- "dev": "vite",
26
+ "dev": "vite --host",
27
27
  "build": "vue-tsc --noEmit && vite build && npm run build:vue",
28
28
  "build:ce": "vite build",
29
29
  "build:vue": "BUILD_MODE=vue vite build",
@@ -35,7 +35,9 @@
35
35
  "test:ui": "vitest --ui",
36
36
  "test:coverage": "vitest --coverage",
37
37
  "test:run": "vitest run",
38
- "optimize:svg": "svgo -f src/assets/img --recursive"
38
+ "optimize:svg": "svgo -f src/assets/img --recursive",
39
+ "prepare": "husky",
40
+ "validate": "npm run lint && npm run typecheck && npm test"
39
41
  },
40
42
  "dependencies": {
41
43
  "@panzoom/panzoom": "4.6.0",
@@ -44,6 +46,7 @@
44
46
  "dompurify": "3.2.7",
45
47
  "flatbush": "3.2.1",
46
48
  "he": "1.2.0",
49
+ "husky": "9.1.7",
47
50
  "svgpath": "2.6.0",
48
51
  "vue": "3.4.38",
49
52
  "vue-web-component-wrapper": "1.7.5",
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24">
2
+ <g fill="none" fill-rule="nonzero">
3
+ <rect width="24" height="24" rx="12"/>
4
+ <path fill="#ffffff" d="M10.002 3a1 1 0 0 1 .117 1.993L10.002 5H6a1 1 0 0 0-.993.883L5 6v12a1 1 0 0 0 .883.993L6 19h12a1 1 0 0 0 .993-.883L19 18v-4a1 1 0 0 1 1.993-.117L21 14v4a3 3 0 0 1-2.824 2.995L18 21H6a3 3 0 0 1-2.995-2.824L3 18V6a3 3 0 0 1 2.824-2.995L6 3h4.002z"/>
5
+ <path fill="#ffffff" d="M19.967 3a1 1 0 0 1 .993.883l.007.117v5.001a1 1 0 0 1-1.994.117l-.006-.117-.001-2.554-8.264 8.26a1 1 0 0 1-1.497-1.32l.084-.094 8.297-8.294L15 5a1 1 0 0 1-.993-.883L14 4a1 1 0 0 1 .883-.993L15 3h4.967z"/>
6
+ </g>
7
+ </svg>
@@ -8,7 +8,10 @@
8
8
  <div class="container-fluid" :class="theme">
9
9
  <div class="row">
10
10
  <div class="col-12 col-md-8 col-lg-8 col-xl-8 day-region-views">
11
- <h2 v-if="!loading" class="valid-warnings">
11
+ <h2
12
+ v-if="!loading"
13
+ class="valid-warnings"
14
+ :aria-label="validWarningsAriaLabel">
12
15
  {{ validWarningsText }}
13
16
  </h2>
14
17
  <div v-if="loading" class="not-ready">
@@ -281,6 +284,10 @@ const validWarningsText = computed(() =>
281
284
  legend.value.length > 0 ? t('validWarnings') : t('noWarnings')
282
285
  )
283
286
 
287
+ const validWarningsAriaLabel = computed(() =>
288
+ legend.value.length > 0 ? t('validWarningsAriaLabel') : t('noWarnings')
289
+ )
290
+
284
291
  const supportedBrowsersLink = computed(() => t('supportedBrowsersLink'))
285
292
 
286
293
  const supportedBrowsers = computed(() => t('supportedBrowsers'))
@@ -108,10 +108,11 @@ const date = computed<string>(() => {
108
108
  const ariaLabel = computed<string>(() => {
109
109
  const landCount = props.regions?.land?.length || 0
110
110
  const seaCount = props.regions?.sea?.length || 0
111
- return `${t(props.input?.weekdayName)} ${props.input?.day}.${props.input
112
- ?.month}. ${t('warningsInEffect')} ${landCount} ${t(
113
- 'landAreas'
114
- )} ${seaCount} ${t('seaAreas')}.`
111
+ const weekdayKey = `${props.input?.weekdayName}Full`;
112
+ const monthName = t(`month${props.input?.month}`)
113
+ return `${t(weekdayKey)} ${props.input?.day}. ${monthName}: `
114
+ + `${t('warningsInEffect')} ${landCount} ${t('landAreas')} `
115
+ + `${seaCount} ${t('seaAreas')}.`
115
116
  })
116
117
 
117
118
  // ============================================================================
@@ -171,9 +171,10 @@ div.current-description-text-cell {
171
171
  }
172
172
 
173
173
  a.ext-link {
174
+ background-color: transparent;
175
+ background-repeat: no-repeat;
176
+ background-position: center right;
174
177
  padding-right: 20px;
175
- background: transparent url($ui-image-path + 'ext-link.svg') no-repeat center
176
- right;
177
178
  margin-right: 2px;
178
179
  background-size: 16px 16px;
179
180
  font-style: normal;
@@ -182,6 +183,7 @@ a.ext-link {
182
183
 
183
184
  .light-theme a.ext-link {
184
185
  color: $light-ext-link-color;
186
+ background-image: url($ui-image-path + 'ext-link-blue.svg');
185
187
  border-bottom: 1px solid $light-ext-link-underground-color;
186
188
  &:hover {
187
189
  border-bottom-color: $dark-blue;
@@ -190,6 +192,7 @@ a.ext-link {
190
192
 
191
193
  .dark-theme a.ext-link {
192
194
  color: $dark-ext-link-color;
195
+ background-image: url($ui-image-path + 'ext-link-white.svg');
193
196
  border-bottom: 1px solid $dark-ext-link-underground-color;
194
197
  &:hover {
195
198
  border-bottom-color: $notification-color;
@@ -198,6 +201,7 @@ a.ext-link {
198
201
 
199
202
  .light-gray-theme a.ext-link {
200
203
  color: $light-gray-ext-link-color;
204
+ background-image: url($ui-image-path + 'ext-link-blue.svg');
201
205
  border-bottom: 1px solid $light-gray-ext-link-underground-color;
202
206
  &:hover {
203
207
  border-bottom-color: $black;
@@ -206,6 +210,7 @@ a.ext-link {
206
210
 
207
211
  .dark-gray-theme a.ext-link {
208
212
  color: $dark-gray-ext-link-color;
213
+ background-image: url($ui-image-path + 'ext-link-white.svg');
209
214
  border-bottom: 1px solid $dark-gray-ext-link-underground-color;
210
215
  &:hover {
211
216
  border-bottom-color: $white;
@@ -115,9 +115,8 @@ div#gray-scale-select-container {
115
115
  }
116
116
 
117
117
  div#gray-scale-select {
118
- display: flex;
119
- align-items: center;
120
- justify-content: center;
118
+ display: grid;
119
+ place-items: center;
121
120
  width: 100%;
122
121
  height: $symbol-list-select-height;
123
122
  margin: 0;
@@ -142,6 +141,8 @@ div#gray-scale-select {
142
141
  font-family: $symbol-font-family;
143
142
  font-size: $font-size;
144
143
  forced-color-adjust: none;
144
+ height: 20px;
145
+ line-height: 20px;
145
146
  }
146
147
  }
147
148
 
@@ -153,7 +153,7 @@ const windowWidth = ref<number>(
153
153
  typeof window !== 'undefined' ? window.innerWidth : 0
154
154
  )
155
155
  const pathsNeeded = ref<boolean>(false)
156
- const strokeWidthValue = ref<number>(0.6)
156
+ const strokeWidthValue = ref<number>(0.4)
157
157
 
158
158
  // ============================================================================
159
159
  // Computed refs for composable
@@ -223,9 +223,8 @@ div.symbol-list-text {
223
223
  }
224
224
 
225
225
  .symbol-list-select.d-md-block {
226
- display: flex !important;
227
- align-items: center;
228
- justify-content: center;
226
+ display: grid !important;
227
+ place-items: center;
229
228
  width: 100%;
230
229
  height: $symbol-list-select-height;
231
230
  cursor: pointer;
@@ -250,6 +249,8 @@ div.symbol-list-text {
250
249
  font-family: 'Noto Sans', sans-serif;
251
250
  font-size: $font-size;
252
251
  forced-color-adjust: none;
252
+ height: 20px;
253
+ line-height: 20px;
253
254
  }
254
255
  }
255
256
 
@@ -272,25 +272,41 @@ export function toTimeZone(
272
272
  }
273
273
 
274
274
  /**
275
- * Format valid interval string
275
+ * Format a single time moment as an HTML <time> element
276
+ */
277
+ function formatTimeMoment(
278
+ moment: TimeZoneMoment,
279
+ t: (key: string) => string
280
+ ): string {
281
+ const display = `${moment.day}.${moment.month}. ${twoDigits(
282
+ moment.hour
283
+ )}:${twoDigits(moment.minute)}`
284
+ const datetime = `${moment.year}-${twoDigits(moment.month)}-${twoDigits(
285
+ moment.day
286
+ )}T${twoDigits(moment.hour)}:${twoDigits(moment.minute)}`
287
+ const monthName = t(`month${moment.month}`)
288
+ const ariaLabel = `${moment.day}. ${monthName} ${twoDigits(
289
+ moment.hour
290
+ )}:${twoDigits(moment.minute)}`
291
+ return `<time datetime="${datetime}" aria-label="${ariaLabel}" class="bold-text">${display}</time>`
292
+ }
293
+
294
+ /**
295
+ * Format valid interval string with HTML <time> elements
276
296
  */
277
297
  export function validInterval(
278
298
  start: string,
279
299
  end: string,
280
300
  timeZone: string,
281
- locale: string
301
+ locale: string,
302
+ t: (key: string) => string
282
303
  ): string {
283
- return [
284
- toTimeZone(start, timeZone, locale),
285
- toTimeZone(end, timeZone, locale),
286
- ]
287
- .map(
288
- (moment) =>
289
- `${moment.day}.${moment.month}. ${twoDigits(moment.hour)}:${twoDigits(
290
- moment.minute
291
- )}`
292
- )
293
- .join(' – ')
304
+ const startMoment = toTimeZone(start, timeZone, locale)
305
+ const endMoment = toTimeZone(end, timeZone, locale)
306
+ return `${formatTimeMoment(startMoment, t)} – ${formatTimeMoment(
307
+ endMoment,
308
+ t
309
+ )}`
294
310
  }
295
311
 
296
312
  /**
@@ -414,7 +430,7 @@ export function createWeatherWarning(
414
430
  warning: { properties: Record<string, unknown> },
415
431
  context: WarningCreationContext
416
432
  ): Warning {
417
- const { geometryId, geometries, timeZone, locale, dailyWarningTypes } =
433
+ const { geometryId, geometries, timeZone, locale, dailyWarningTypes, t } =
418
434
  context
419
435
  let direction = 0
420
436
  let severity = Number(
@@ -458,7 +474,8 @@ export function createWeatherWarning(
458
474
  warning.properties[EFFECTIVE_FROM] as string,
459
475
  warning.properties[EFFECTIVE_UNTIL] as string,
460
476
  timeZone,
461
- locale
477
+ locale,
478
+ t
462
479
  ),
463
480
  severity,
464
481
  direction,
@@ -526,7 +543,8 @@ export function createFloodWarning(
526
543
  warning.properties[ONSET] as string,
527
544
  warning.properties[EXPIRES] as string,
528
545
  timeZone,
529
- locale
546
+ locale,
547
+ t
530
548
  ),
531
549
  severity: (FLOOD_LEVELS[
532
550
  (warning.properties.severity as string)?.toLowerCase()
@@ -292,7 +292,8 @@ function createWeatherWarning(
292
292
  startFrom: string,
293
293
  timeOffset: number,
294
294
  timeZone: string,
295
- locale: string
295
+ locale: string,
296
+ t: (key: string) => string
296
297
  ): Warning {
297
298
  const properties = warning.properties
298
299
  let direction = 0
@@ -339,7 +340,8 @@ function createWeatherWarning(
339
340
  properties[EFFECTIVE_FROM] as string,
340
341
  properties[EFFECTIVE_UNTIL] as string,
341
342
  timeZone,
342
- locale
343
+ locale,
344
+ t
343
345
  ),
344
346
  severity,
345
347
  direction,
@@ -414,7 +416,8 @@ function createFloodWarning(
414
416
  properties[ONSET] as string,
415
417
  properties[EXPIRES] as string,
416
418
  timeZone,
417
- locale
419
+ locale,
420
+ t
418
421
  ),
419
422
  severity: (FLOOD_LEVELS[(properties.severity as string)?.toLowerCase()] ??
420
423
  0) as Severity,
@@ -775,7 +778,8 @@ export function processWarnings(
775
778
  ctx.startFrom,
776
779
  timeOffset,
777
780
  ctx.timeZone,
778
- ctx.locale
781
+ ctx.locale,
782
+ ctx.t
779
783
  ),
780
784
  [FLOOD_WARNINGS]: (warning: GeoJSONFeature) =>
781
785
  createFloodWarning(
@@ -7,6 +7,7 @@
7
7
  "regionLand": "Warnings for following land areas",
8
8
  "regionSea": "Warnings for following sea areas",
9
9
  "validWarnings": "Warnings in effect, 5 days",
10
+ "validWarningsAriaLabel": "Warnings in effect, five days",
10
11
  "showWarnings": "Show all warnings",
11
12
  "ma": "Mon",
12
13
  "ti": "Tue",
@@ -15,6 +16,25 @@
15
16
  "pe": "Fri",
16
17
  "la": "Sat",
17
18
  "su": "Sun",
19
+ "maFull": "Monday",
20
+ "tiFull": "Tuesday",
21
+ "keFull": "Wednesday",
22
+ "toFull": "Thursday",
23
+ "peFull": "Friday",
24
+ "laFull": "Saturday",
25
+ "suFull": "Sunday",
26
+ "month1": "January",
27
+ "month2": "February",
28
+ "month3": "March",
29
+ "month4": "April",
30
+ "month5": "May",
31
+ "month6": "June",
32
+ "month7": "July",
33
+ "month8": "August",
34
+ "month9": "September",
35
+ "month10": "October",
36
+ "month11": "November",
37
+ "month12": "December",
18
38
  "warnings": "Warnings",
19
39
  "updated": "Updated",
20
40
  "atTime": "at",
@@ -7,6 +7,7 @@
7
7
  "regionLand": "Varoituksia voimassa seuraavilla maa-alueilla",
8
8
  "regionSea": "Varoituksia voimassa seuraavilla merialueilla",
9
9
  "validWarnings": "Voimassa olevat varoitukset, 5 vrk",
10
+ "validWarningsAriaLabel": "Voimassa olevat varoitukset, viisi vuorokautta",
10
11
  "showWarnings": "Näytä kaikki varoitukset",
11
12
  "ma": "ma",
12
13
  "ti": "ti",
@@ -15,6 +16,25 @@
15
16
  "pe": "pe",
16
17
  "la": "la",
17
18
  "su": "su",
19
+ "maFull": "Maanantai",
20
+ "tiFull": "Tiistai",
21
+ "keFull": "Keskiviikko",
22
+ "toFull": "Torstai",
23
+ "peFull": "Perjantai",
24
+ "laFull": "Lauantai",
25
+ "suFull": "Sunnuntai",
26
+ "month1": "tammikuu",
27
+ "month2": "helmikuu",
28
+ "month3": "maaliskuu",
29
+ "month4": "huhtikuu",
30
+ "month5": "toukokuu",
31
+ "month6": "kesäkuu",
32
+ "month7": "heinäkuu",
33
+ "month8": "elokuu",
34
+ "month9": "syyskuu",
35
+ "month10": "lokakuu",
36
+ "month11": "marraskuu",
37
+ "month12": "joulukuu",
18
38
  "warnings": "Varoitukset",
19
39
  "updated": "Päivitetty",
20
40
  "atTime": "klo",
@@ -218,7 +238,7 @@
218
238
  "legends": "Karttaselitteet",
219
239
  "showLegends": "Näytä selitteet",
220
240
  "hideLegends": "Piilota selitteet",
221
- "warningsInEffect": "Varoituksia voimassa",
241
+ "warningsInEffect": "varoituksia voimassa",
222
242
  "landAreas": "maa-alueella ja",
223
243
  "seaAreas": "merialueella",
224
244
  "grayScale": "Harmaasävyt",
@@ -7,6 +7,7 @@
7
7
  "regionLand": "Varningar är i kraft i följande landområden",
8
8
  "regionSea": "Varningar är i kraft i följande havsområden",
9
9
  "validWarnings": "Varningar i kraft, 5 dygn",
10
+ "validWarningsAriaLabel": "Varningar i kraft, fem dygn",
10
11
  "showWarnings": "Visa alla varningar",
11
12
  "ma": "må",
12
13
  "ti": "ti",
@@ -15,6 +16,25 @@
15
16
  "pe": "fr",
16
17
  "la": "lö",
17
18
  "su": "sö",
19
+ "maFull": "Måndag",
20
+ "tiFull": "Tisdag",
21
+ "keFull": "Onsdag",
22
+ "toFull": "Torsdag",
23
+ "peFull": "Fredag",
24
+ "laFull": "Lördag",
25
+ "suFull": "Söndag",
26
+ "month1": "januari",
27
+ "month2": "februari",
28
+ "month3": "mars",
29
+ "month4": "april",
30
+ "month5": "maj",
31
+ "month6": "juni",
32
+ "month7": "juli",
33
+ "month8": "augusti",
34
+ "month9": "september",
35
+ "month10": "oktober",
36
+ "month11": "november",
37
+ "month12": "december",
18
38
  "warnings": "Varningar",
19
39
  "updated": "Uppdaterad",
20
40
  "atTime": "kl.",
@@ -11,7 +11,7 @@ $current-warning-image-height: 28px;
11
11
  $current-description-image-height: 48px;
12
12
  $symbol-list-width: 260px;
13
13
  $symbol-list-line-height: 50px;
14
- $symbol-list-select-height: 30px;
14
+ $symbol-list-select-height: 50px;
15
15
  $symbol-list-image-size: 44px;
16
16
  $image-padding: 3px;
17
17
  $day-small-width: 88px;
@@ -61,7 +61,7 @@ describe('MapSmall.vue', () => {
61
61
  props: {},
62
62
  })
63
63
 
64
- expect((wrapper.vm as ComponentInstance).strokeWidth).toBe(0.6)
64
+ expect((wrapper.vm as ComponentInstance).strokeWidth).toBe(0.4)
65
65
  })
66
66
 
67
67
  it('should have pathsNeeded property', () => {
@@ -9,6 +9,7 @@ import {
9
9
  msSinceStartOfDay,
10
10
  validInterval,
11
11
  } from '@/composables/useUtils'
12
+ import fi from '@/locales/fi.json'
12
13
 
13
14
  describe('useUtils composable - pure functions', () => {
14
15
  describe('uncapitalize', () => {
@@ -190,22 +191,44 @@ describe('useUtils composable - pure functions', () => {
190
191
  describe('validInterval', () => {
191
192
  const timeZone = 'Europe/Helsinki'
192
193
  const locale = 'fi-FI'
194
+ const t = (key: string): string => fi[key as keyof typeof fi] ?? ''
193
195
 
194
- it('should format time interval correctly', () => {
196
+ it('should format time interval with HTML time elements', () => {
195
197
  const start = '2025-10-31T12:00:00Z'
196
198
  const end = '2025-11-01T18:00:00Z'
197
- const result = validInterval(start, end, timeZone, locale)
199
+ const result = validInterval(start, end, timeZone, locale, t)
198
200
 
199
- // Should contain both dates and times
201
+ // Should contain <time> elements
202
+ expect(result).toContain('<time')
203
+ expect(result).toContain('</time>')
204
+ // Should contain both dates and times as display text
200
205
  expect(result).toContain('31.10.')
201
206
  expect(result).toContain('1.11.')
202
207
  expect(result).toContain('–') // en-dash separator
203
208
  })
204
209
 
210
+ it('should include datetime attribute in ISO format', () => {
211
+ const start = '2025-10-31T12:00:00Z'
212
+ const end = '2025-11-01T18:00:00Z'
213
+ const result = validInterval(start, end, timeZone, locale, t)
214
+
215
+ expect(result).toMatch(/datetime="2025-10-31T14:00"/)
216
+ expect(result).toMatch(/datetime="2025-11-01T20:00"/)
217
+ })
218
+
219
+ it('should include aria-label with localized month name', () => {
220
+ const start = '2025-10-31T12:00:00Z'
221
+ const end = '2025-11-01T18:00:00Z'
222
+ const result = validInterval(start, end, timeZone, locale, t)
223
+
224
+ expect(result).toContain('aria-label="31. lokakuu 14:00"')
225
+ expect(result).toContain('aria-label="1. marraskuu 20:00"')
226
+ })
227
+
205
228
  it('should include time in HH:MM format', () => {
206
229
  const start = '2025-10-31T12:00:00Z'
207
230
  const end = '2025-10-31T18:00:00Z'
208
- const result = validInterval(start, end, timeZone, locale)
231
+ const result = validInterval(start, end, timeZone, locale, t)
209
232
 
210
233
  expect(result).toMatch(/\d{2}:\d{2}/)
211
234
  })
@@ -1,8 +0,0 @@
1
- /**
2
- * name: @fmidev/smartmet-alert-client
3
- * version: v4.7.0-beta.13
4
- * description: Web application for viewing weather and flood alerts
5
- * author: Finnish Meteorological Institute
6
- * homepage: https://github.com/fmidev/smartmet-alert-client#readme
7
- */
8
- const e="Note! If the map is gray and no date is shown on the map, the warnings have not been updated.",n="Ensure network connection. Check that you have updated your browser and operating system.",i="List of supported browsers",a="https://en.ilmatieteenlaitos.fi/site-information",s="An error occurred while searching for the warnings. Please try again in a moment.",t="Warnings for following land areas",o="Warnings for following sea areas",r="Warnings in effect, 5 days",c="Show all warnings",l="Mon",d="Tue",f="Wed",p="Thu",h="Fri",g="Sat",u="Sun",v="Warnings",m="Updated",w="at",L="warning valid between",y="Many warnings in effect",W="No particular awareness is needed",D="Potentially dangerous",A="Dangerous",S="Very dangerous",k="No warnings in effect",b="No warnings",P="info_en",H="Pirkanmaa",F="Kainuu",I="Uusimaa",K="Satakunta",j="Kymenlaakso",T="Ostrobothnia",N="Lapland",B="Åland",x="Quark",C="Sea of Åland",M="Sea of Archipelago",E="Utsjoki",O="Inari",U="Muonio",R="Kolari",z="Savukoski",V="Pelkosenniemi",G="Salla",q="Pello",Y="Ylitornio",Z="Rovaniemi",Q="Tornio",_="Tervola",J="Keminmaa",X="Kemi",$="Simo",ee="Ranua",ne="Posio",ie="Kuusamo",ae="Taivalkoski",se="Cold warning",te="Flood warning",oe="Wildfire warning",re="Grass fire warning",ce="Heat wave warning",le="Pedestrian weather warning",de="Heavy rain warning",fe="Ice accretion warning",pe="Thunderstorm wind gusts for sea areas",he="Warning for high sea level",ge="Warning for low sea level",ue="Wave height warning",ve="Wind warning for sea areas",me="Severe thunderstorm warning",we="Traffic weather warning",Le="UV advisory",ye="Wind warning for land areas",We="Cold stress complicates outdoor activities. People with chronic illnesses will experience more symptoms than usual.",De="Cold stress will significantly complicate all outdoor activities. Symptoms experienced by people with chronic illnesses will become more difficult. Risk of frostbite.",Ae="Cold stress will significantly complicate all outdoor activities. Symptoms experienced by people with chronic illnesses will become substantially more difficult. Significant risk of frostbite.",Se="Flooding of fields and forests and minor disruptions are possible.",ke="Flood can cause damages to buildings and significant disruptions to traffic.",be="Significant risk to human safety and to electricity, water, and telecommunication networks. Flooded buildings and traffic disruptions.",Pe="Danger of wildfires is pronounced due to soil dryness. In case of windy weather wildfires spread quickly.",He="Danger of wildfires is very pronounced due to soil dryness. In case of windy weather wildfires spread quickly.",Fe="Danger of uncontrolled wildfires is pronounced due to soil dryness. The fires spread likely quickly.",Ie="Danger of grass fires is pronounced due to soil dryness. In case of windy weather grass fires spread quickly.",Ke="",je="",Te="Many people with chronic illness will experience more symptoms than usual.",Ne="People with chronic illness will experience significant and difficult symptoms. Heat stress will limit the work capability of healthy people.",Be="This warning level is unlikely with our current climate. Causes very significant health problems. Heat stress will limit the work capability of healthy people.",xe="Pavements are very slippery. Significant risk for slipping accidents.",Ce="",Me="",Ee="Flooding expected in flood-prone underpasses and in low-lying areas. Risk for aquaplaning in road traffic.",Oe="Widespread flooding in built-up regions. Underpasses may be completely filled with water. Streaming flood water can cause danger.",Ue="Severe flooding in urban areas as well as rural areas. Flood ponds and streaming flood water cause danger.",Re="Heavy ice accretion may reduce a vessel's stability and cause hazard for operation.",ze="Heavy ice accretion may reduce a vessel's stability and cause hazard for operation.",Ve="Heavy ice accretion may reduce a vessel's stability and cause hazard for operation.",Ge="Possibly dangerous for recreational crafts and small boats.",qe="Possibly dangerous for recreational crafts and small boats.",Ye="Possibly dangerous for recreational crafts and small boats.",Ze="High water level: Coastal flooding in low-lying areas.",Qe="Flooding on coastal roads may cause roads to be closed. Flood-prone sites will get wet.",_e="Flooding on coastal roads, also in locations without known prior floods. Buildings surrounded by flood water. Significant water damage in built-up areas.",Je="Low water level: Difficulties in cargo transport.",Xe="",$e="",en="Possibly dangerous for recreational crafts and small boats.",nn="Difficulties and danger for marine traffic.",an="Significant difficulties, delays and danger for marine traffic.",sn="Possibly dangerous for recreational crafts and small boats.",tn="Difficulties and danger for marine traffic.",on="Significant difficulties, delays and danger for marine traffic.",rn="Local and sporadic wind damage. Mostly individual fallen trees. Brief and local disruptions in electricity supply.",cn="Wind damage in numerous areas, including areas of uniform damage. Locally a need for significant debris clearance, long-lasting electricity outages and disruptions in telecommunication networks.",ln="Widespread wind damage areas with significant need for debris clearance. Long-lasting disruptions in electricity and drinking water supply as well as telecommunication networks.",dn="Disruptions in traffic flow. Enhanced risk of traffic accidents.",fn="Major traffic disruptions possible. Significant risk of traffic accidents.",pn="Major traffic disruptions likely and traffic connections may be completely broken. Significant risk of traffic accidents.",hn="UV radiation is strong. Unprotected skin may burn when exposed to direct sunlight.",gn="",un="",vn="Individual fallen trees in widespread areas. Brief electricity outages.",mn="Wind damage in numerous areas, including areas of uniform damage. Locally a need for significant debris clearance, long-lasting electricity outages and disruptions in telecommunication networks.",wn="Widespread wind damage areas with significant need for debris clearance. Long-lasting disruptions in electricity and drinking water supply as well as telecommunication networks.",Ln="en-US",yn="en",Wn="Finnish Meteorological Institute",Dn="Flood Centre",An="https://www.vesi.fi/",Sn="Watershed forecasts and flood warnings",kn="Impact description",bn="Zoom in",Pn="Zoom out",Hn="Use the arrow keys to move the map",Fn="Magnifiable map",In="Go to text-formatted warnings",Kn="Warnings",jn="from",Tn="in one area",Nn="in two areas",Bn="in three areas",xn="in four areas",Cn="in five areas",Mn="in six areas",En="in seven areas",On="in eight areas",Un="in nine areas",Rn="in ten areas",zn="in eleven areas",Vn="in twelve areas",Gn="in thirteen areas",qn="in fourteen areas",Yn="in fifteen areas",Zn="in sixteen areas",Qn="in seventeen areas",_n="in eighteen areas",Jn="in nineteen areas",Xn="in twenty areas",$n="in twenty-one areas",ei="in twenty-two areas",ni="in twenty-three areas",ii="in twenty-four areas",ai="in twenty-five areas",si="in twenty-six areas",ti="in twenty-seven areas",oi="in twenty-eight areas",ri="in twenty-nine areas",ci="in thirty areas",li="in thirty-one areas",di="in thirty-two areas",fi="in thirty-three areas",pi="in thirty-four areas",hi="in thirty-five areas",gi="in thirty-six areas",ui="in thirty-seven areas",vi="in thirty-eight areas",mi="in thirty-nine areas",wi="in forty areas",Li="in forty-one areas",yi="in forty-two areas",Wi="in forty-three areas",Di="in forty-four areas",Ai="in forty-five areas",Si="Go to next section.",ki="Show current warnings for",bi="Close current warnings for",Pi=".",Hi="Map legends",Fi="Show legends",Ii="Hide legends",Ki="warnings in effect in",ji="land areas and",Ti="sea areas",Ni="Gray scale",Bi="On",xi="Off",Ci={notInitializedStart:e,notInitializedEnd:n,supportedBrowsers:i,supportedBrowsersLink:a,failed:s,regionLand:t,regionSea:o,validWarnings:r,showWarnings:c,ma:l,ti:d,ke:f,to:p,pe:h,la:g,su:u,warnings:v,updated:m,atTime:w,valid:L,severalWarnings:y,warningLevel1:W,warningLevel2:D,warningLevel3:A,warningLevel4:S,noWarnings:k,popupNoWarnings:b,womlInfoField:P,"Kanta-Häme":"Kanta-Häme",Pirkanmaa:H,"Päijät-Häme":"Päijät-Häme","Etelä-Karjala":"South Karelia","Etelä-Savo":"Etelä-Savo","Pohjois-Savo":"Pohjois-Savo","Pohjois-Karjala":"North Karelia","Keski-Suomi":"Central Finland","Etelä-Pohjanmaa":"South Ostrobothnia",Kainuu:F,Uusimaa:I,"Varsinais-Suomi":"Varsinais-Suomi",Satakunta:K,Kymenlaakso:j,Pohjanmaa:T,"Keski-Pohjanmaa":"Central Ostrobothnia","Pohjois-Pohjanmaa":"North Ostrobothnia","Pohjois-Pohjanmaan länsiosa":"Western part of Northern Ostrobothnia",Lappi:N,Ahvenanmaa:B,Merenkurkku:x,"Suomenlahden itäosa":"Eastern Gulf of Finland","Pohjois-Itämeren länsiosa":"Western Part of Northern Baltic","Selkämeren eteläosa":"Southern Sea of Bothnia","Perämeren pohjoisosa":"Northern Bay of Bothnia",Ahvenanmeri:C,Saaristomeri:M,"Perämeren eteläosa":"Southern Bay of Bothnia","Selkämeren pohjoisosa":"Northern Sea of Bothnia","Suomenlahden länsiosa":"Western Gulf of Finland","Pohjois-Itämeren itäosa":"Eastern Part of Northern Baltic","Saimaan pohjoisosa":"Northern Lake Saimaa","Saimaan eteläosa":"Southern Lake Saimaa",Enontekiö:"Enontekiö",Utsjoki:E,Inari:O,Muonio:U,Kolari:R,Kittilä:"Kittilä",Sodankylä:"Sodankylä",Savukoski:z,Pelkosenniemi:V,Salla:G,Pello:q,Ylitornio:Y,Rovaniemi:Z,Kemijärvi:"Kemijärvi",Tornio:Q,Tervola:_,Keminmaa:J,Kemi:X,Simo:$,Ranua:ee,Posio:ne,Kuusamo:ie,Pudasjärvi:"Pudasjärvi",Taivalkoski:ae,coldWeather:se,floodLevel:te,forestFireWeather:oe,grassFireWeather:re,hotWeather:ce,pedestrianSafety:le,rain:de,seaIcing:fe,seaThunderStorm:pe,seaWaterHeightHighWater:he,seaWaterHeightShallowWater:ge,seaWaveHeight:ue,seaWind:ve,thunderStorm:me,trafficWeather:we,uvNote:Le,wind:ye,coldWeatherDescriptionLevel2:We,coldWeatherDescriptionLevel3:De,coldWeatherDescriptionLevel4:Ae,floodLevelDescriptionLevel2:Se,floodLevelDescriptionLevel3:ke,floodLevelDescriptionLevel4:be,forestFireWeatherDescriptionLevel2:Pe,forestFireWeatherDescriptionLevel3:He,forestFireWeatherDescriptionLevel4:Fe,grassFireWeatherDescriptionLevel2:Ie,grassFireWeatherDescriptionLevel3:Ke,grassFireWeatherDescriptionLevel4:je,hotWeatherDescriptionLevel2:Te,hotWeatherDescriptionLevel3:Ne,hotWeatherDescriptionLevel4:Be,pedestrianSafetyDescriptionLevel2:xe,pedestrianSafetyDescriptionLevel3:Ce,pedestrianSafetyDescriptionLevel4:Me,rainDescriptionLevel2:Ee,rainDescriptionLevel3:Oe,rainDescriptionLevel4:Ue,seaIcingDescriptionLevel2:Re,seaIcingDescriptionLevel3:ze,seaIcingDescriptionLevel4:Ve,seaThunderStormDescriptionLevel2:Ge,seaThunderStormDescriptionLevel3:qe,seaThunderStormDescriptionLevel4:Ye,seaWaterHeightHighWaterDescriptionLevel2:Ze,seaWaterHeightHighWaterDescriptionLevel3:Qe,seaWaterHeightHighWaterDescriptionLevel4:_e,seaWaterHeightShallowWaterDescriptionLevel2:Je,seaWaterHeightShallowWaterDescriptionLevel3:Xe,seaWaterHeightShallowWaterDescriptionLevel4:$e,seaWaveHeightDescriptionLevel2:en,seaWaveHeightDescriptionLevel3:nn,seaWaveHeightDescriptionLevel4:an,seaWindDescriptionLevel2:sn,seaWindDescriptionLevel3:tn,seaWindDescriptionLevel4:on,thunderStormDescriptionLevel2:rn,thunderStormDescriptionLevel3:cn,thunderStormDescriptionLevel4:ln,trafficWeatherDescriptionLevel2:dn,trafficWeatherDescriptionLevel3:fn,trafficWeatherDescriptionLevel4:pn,uvNoteDescriptionLevel2:hn,uvNoteDescriptionLevel3:gn,uvNoteDescriptionLevel4:un,windDescriptionLevel2:vn,windDescriptionLevel3:mn,windDescriptionLevel4:wn,capLanguage:Ln,metoclientLanguage:yn,dataProviderFirst:Wn,dataProviderSecond:Dn,floodLink:An,floodLinkText:Sn,description:kn,zoomIn:bn,zoomOut:Pn,moveMap:Hn,mapAriaLabel:Fn,toContent:In,warningsInAreasStart:Kn,fromDirection:jn,in1Areas:Tn,in2Areas:Nn,in3Areas:Bn,in4Areas:xn,in5Areas:Cn,in6Areas:Mn,in7Areas:En,in8Areas:On,in9Areas:Un,in10Areas:Rn,in11Areas:zn,in12Areas:Vn,in13Areas:Gn,in14Areas:qn,in15Areas:Yn,in16Areas:Zn,in17Areas:Qn,in18Areas:_n,in19Areas:Jn,in20Areas:Xn,in21Areas:$n,in22Areas:ei,in23Areas:ni,in24Areas:ii,in25Areas:ai,in26Areas:si,in27Areas:ti,in28Areas:oi,in29Areas:ri,in30Areas:ci,in31Areas:li,in32Areas:di,in33Areas:fi,in34Areas:pi,in35Areas:hi,in36Areas:gi,in37Areas:ui,in38Areas:vi,in39Areas:mi,in40Areas:wi,in41Areas:Li,in42Areas:yi,in43Areas:Wi,in44Areas:Di,in45Areas:Ai,toNextContent:Si,infoButtonAriaLabelShowRegion:ki,infoButtonAriaLabelCloseRegion:bi,infoButtonAriaLabelValidWarnings:Pi,legends:Hi,showLegends:Fi,hideLegends:Ii,warningsInEffect:Ki,landAreas:ji,seaAreas:Ti,grayScale:Ni,toggleOn:Bi,toggleOff:xi};export{Ci as e};
@@ -1,8 +0,0 @@
1
- /**
2
- * name: @fmidev/smartmet-alert-client
3
- * version: v4.7.0-beta.13
4
- * description: Web application for viewing weather and flood alerts
5
- * author: Finnish Meteorological Institute
6
- * homepage: https://github.com/fmidev/smartmet-alert-client#readme
7
- */
8
- const e="Huom! Jos kartta on harmaa eikä kartalla näy päivämäärää, varoitukset eivät ole päivittyneet.",a="Varmista verkkoyhteys. Tarkista, että olet päivittänyt selaimen ja käyttöjärjestelmän.",i="Lista tuetuista selaimista",t="https://www.ilmatieteenlaitos.fi/tietoa-sivustosta",n="Varoitusten haussa tapahtui virhe. Lataa sivu hetken kuluttua uudelleen.",s="Varoituksia voimassa seuraavilla maa-alueilla",l="Varoituksia voimassa seuraavilla merialueilla",o="Voimassa olevat varoitukset, 5 vrk",r="Näytä kaikki varoitukset",u="ma",v="ti",k="ke",c="to",m="pe",h="la",p="su",d="Varoitukset",L="Päivitetty",j="klo",A="varoitus voimassa",g="Useita varoituksia voimassa",y="Ei vaaraa",D="Mahdollisesti vaarallinen",W="Vaarallinen",S="Hyvin vaarallinen",f="Ei varoituksia voimassa",P="Ei varoituksia",w="info_fi",H="Pirkanmaa",K="Kainuu",T="Uusimaa",I="Satakunta",M="Kymenlaakso",V="Pohjanmaa",F="Lappi",R="Ahvenanmaa",E="Merenkurkku",N="Ahvenanmeri",O="Saaristomeri",B="Utsjoki",U="Inari",b="Muonio",z="Kolari",C="Savukoski",Y="Pelkosenniemi",x="Salla",J="Pello",Z="Ylitornio",_="Rovaniemi",q="Tornio",G="Tervola",Q="Keminmaa",X="Kemi",$="Simo",ee="Ranua",ae="Posio",ie="Kuusamo",te="Taivalkoski",ne="Pakkasvaroitus",se="Tulvavaroitus",le="Maastopalo&shy;varoitus",oe="Ruohikko&shy;palovaara",re="Hellevaroitus",ue="Jalankulkusää",ve="Sadevaroitus",ke="Jäätämis&shy;varoitus",ce="Ukkospuuskia merialueilla",me="Varoitus korkeasta merivedestä",he="Varoitus m&#65279;a&#65279;t&#65279;a&#65279;l&#65279;a&#65279;s&#65279;t&#65279;a merivedestä",pe="Aallokko&shy;varoitus",de="Tuulivaroitus merelle",Le="Raju ukonilma",je="Liikennesää",Ae="UV-tiedote",ge="Tuulivaroitus maa‑alueille",ye="Kylmärasitus haittaa toimintaa ulkona ja monet erilaisia kroonisia sairauksia potevat oireilevat tavallista enemmän.",De="Kylmärasitus haittaa toimintaa ulkona huomattavasti ja kroonisia sairauksia potevien oireet vaikeutuvat selvästi. Paleltumisvaara.",We="Kylmärasitus vaikeuttaa toimintaa ulkona huomattavasti ja kroonisia sairauksia potevien oireet vaikeutuvat merkittävästi. Suuri paleltumisvaara.",Se="Pelto- ja metsäalueiden tulviminen sekä lievät häiriöt mahdollisia.",fe="Tulva voi aiheuttaa rakennusvahinkoja. Liikenteelle voi aiheutua merkittäviä häiriöitä.",Pe="Merkittävä riski ihmisten turvallisuudelle sekä sähkö-, vesi-, ja tietoliikenneverkoille. Rakennusvahinkoja ja liikennehäiriöitä laajoilla alueilla.",we="Maastopalon vaara on kuivuudesta johtuen ilmeinen. Tuulisella säällä palot leviävät erittäin nopeasti.",He="Maastopalon vaara on kuivuudesta johtuen erittäin ilmeinen. Tuulisella säällä palot leviävät erittäin nopeasti.",Ke="Suurpalon vaara on kuivuudesta johtuen ilmeinen. Palot leviävät todennäköisesti erittäin nopeasti.",Te="Ruohikkopalon vaara on kuivuudesta johtuen ilmeinen. Tuulisella säällä palot leviävät erittäin nopeasti.",Ie="",Me="",Ve="Monet erilaisia kroonisia sairauksia potevat oireilevat tavallista enemmän.",Fe="Kroonisia sairauksia potevien oireet vaikeutuvat merkittävästi. Lämpörasitus haittaa myös perusterveiden toimintakykyä.",Re="Tämä varoitustaso on erittäin harvinainen nykyilmastossa. Ennakoitavissa erittäin merkittäviä terveysvaikutuksia. Lämpörasitus haittaa myös perusterveiden toimintakykyä.",Ee="Kevyen liikenteen väylät laaja-alaisesti erittäin liukkaita. Liukastumisriski huomattava.",Ne="",Oe="",Be="Herkimmin tulvivat alikulut ja painanteet tulvivat taajama-alueilla. Liikenteessä kohonnut vesiliirtovaara.",Ue="Tulvia taajamissa yleisesti. Alikulkujen täyttyminen vedellä kokonaan mahdollista. Virtaava vesi voi aiheuttaa vaaran.",be="Pahoja tulvia taajamissa sekä paikoin myös taajamien ulkopuolella. Tulvalammikot ja virtaava vesi aiheuttavat vaaran.",ze="Runsas jään kertyminen voi heikentää aluksen vakavuutta ja vaarantaa aluksen operointia.",Ce="Runsas jään kertyminen voi heikentää aluksen vakavuutta ja vaarantaa aluksen operointia.",Ye="Runsas jään kertyminen voi heikentää aluksen vakavuutta ja vaarantaa aluksen operointia.",xe="Mahdollisesti vaarallinen huviveneille ja pienille aluksille.",Je="Mahdollisesti vaarallinen huviveneille ja pienille aluksille.",Ze="Mahdollisesti vaarallinen huviveneille ja pienille aluksille.",_e="Tulva: Merivesi nousee rannikon lähellä alaville maille.",qe="Rantateitä paikoin poikki. Tulvaherkimmät kohteet kastuvat.",Ge="Rantateitä alavilla paikoilla poikki myös aiemmin tulvimattomissa kohdissa. Rakennuksia jää veden saartamiksi. Taajama-alueilla merkittäviä vesivahinkoja.",Qe="Matalan veden tapauksissa vaikeuksia satamien rahtiliikenteessä.",Xe="",$e="",ea="Mahdollisesti vaarallinen huviveneille ja pienille aluksille.",aa="Vaikeuksia ja vaaratilanteita meriliikenteelle.",ia="Merkittäviä vaikeuksia, hidastumista ja vaaratilanteita meriliikenteessä.",ta="Mahdollisesti vaarallinen huviveneille.",na="Vaikeuksia ja vaaratilanteita meriliikenteelle.",sa="Merkittäviä vaikeuksia, hidastumista ja vaaratilanteita meriliikenteessä.",la="Pienialaisesti tuulivahinkoja. Enimmäkseen yksittäisiä kaatuneita puita. Lyhyitä ja paikallisia sähkökatkoja.",oa="Yleisesti tuulivahinkoja, paikoin myös yhtenäisiä vahinkoalueita. Paikallisesti suurta raivaustarvetta, pitkiä sähkökatkoja sekä katkoja teleliikenteessä.",ra="Laajoja vahinkoalueita, joissa huomattava raivaustarve. Pitkiä sähkökatkoja, katkoja juomaveden jakelussa ja teleliikenteessä.",ua="Liikenteen sujuvuus heikentyy ja keskinopeus laskee. Onnettomuusriski on kohonnut.",va="Liikenteessä mahdollisesti suuria häiriöitä. Onnettomuusriski on huomattava.",ka="Liikenteessä todennäköisesti suuria häiriöitä ja liikenneyhteydet voivat olla kokonaan poikki. Onnettomuusriski on huomattava.",ca="UV-säteily on voimakasta. Suojaamaton iho saattaa palaa erityisesti suorassa auringonvalossa oleskeltaessa.",ma="",ha="",pa="Yksittäisiä kaatuneita puita laajalla alueella. Lyhyitä sähkökatkoja.",da="Yleisesti tuulivahinkoja, paikoin myös yhtenäisiä vahinkoalueita. Paikallisesti suurta raivaustarvetta, pitkiä sähkökatkoja sekä katkoja teleliikenteessä.",La="Laajoja vahinkoalueita, joissa huomattava raivaustarve. Pitkiä sähkökatkoja, katkoja juomaveden jakelussa ja teleliikenteessä.",ja="fi-FI",Aa="fi",ga="Ilmatieteen laitos",ya="Tulvakeskus",Da="https://www.vesi.fi/",Wa="Vesistöennusteet ja tulvavaroitukset",Sa="Vaikutuskuvaus",fa="Lähennä",Pa="Loitonna",wa="Siirrä karttaa nuolinäppäimillä",Ha="Zoomattava kartta",Ka="Siirry tekstimuotoisiin varoituksiin",Ta="Varoituksia",Ia="suunnasta",Ma="yhdellä alueella",Va="kahdella alueella",Fa="kolmella alueella",Ra="neljällä alueella",Ea="viidellä alueella",Na="kuudella alueella",Oa="seitsemällä alueella",Ba="kahdeksalla alueella",Ua="yhdeksällä alueella",ba="kymmenellä alueella",za="yhdellätoista alueella",Ca="kahdellatoista alueella",Ya="kolmellatoista alueella",xa="neljällätoista alueella",Ja="viidellätoista alueella",Za="kuudellatoista alueella",_a="seitsemällätoista alueella",qa="kahdeksallatoista alueella",Ga="yhdeksällätoista alueella",Qa="kahdellakymmenellä alueella",Xa="kahdellakymmenelläyhdellä alueella",$a="kahdellakymmenelläkahdella alueella",ei="kahdellakymmenelläkolmella alueella",ai="kahdellakymmenelläneljällä alueella",ii="kahdellakymmenelläviidellä alueella",ti="kahdellakymmenelläkuudella alueella",ni="kahdellakymmenelläseitsemällä alueella",si="kahdellakymmenelläkahdeksalla alueella",li="kahdellakymmenelläyhdeksällä alueella",oi="kolmellakymmenellä alueella",ri="kolmellakymmenelläyhdellä alueella",ui="kolmellakymmenelläkahdella alueella",vi="kolmellakymmenelläkolmella alueella",ki="kolmellakymmenelläneljällä alueella",ci="kolmellakymmenelläviidellä alueella",mi="kolmellakymmenelläkuudella alueella",hi="kolmellakymmenelläseitsemällä alueella",pi="kolmellakymmenelläkahdeksalla alueella",di="kolmellakymmenelläyhdeksällä alueella",Li="neljälläkymmenellä alueella",ji="neljälläkymmenelläyhdellä alueella",Ai="neljälläkymmenelläkahdella alueella",gi="neljälläkymmenelläkolmella alueella",yi="neljälläkymmenelläneljällä alueella",Di="neljälläkymmenelläviidellä alueella",Wi="Siirry seuraavaan osioon.",Si="Näytä alueen",fi="Sulje alueen",Pi="voimassaolevat varoitukset",wi="Karttaselitteet",Hi="Näytä selitteet",Ki="Piilota selitteet",Ti="Varoituksia voimassa",Ii="maa-alueella ja",Mi="merialueella",Vi="Harmaasävyt",Fi="On",Ri="Off",Ei={notInitializedStart:e,notInitializedEnd:a,supportedBrowsers:i,supportedBrowsersLink:t,failed:n,regionLand:s,regionSea:l,validWarnings:o,showWarnings:r,ma:u,ti:v,ke:k,to:c,pe:m,la:h,su:p,warnings:d,updated:L,atTime:j,valid:A,severalWarnings:g,warningLevel1:y,warningLevel2:D,warningLevel3:W,warningLevel4:S,noWarnings:f,popupNoWarnings:P,womlInfoField:w,"Kanta-Häme":"Kanta-Häme",Pirkanmaa:H,"Päijät-Häme":"Päijät-Häme","Etelä-Karjala":"Etelä-Karjala","Etelä-Savo":"Etelä-Savo","Pohjois-Savo":"Pohjois-Savo","Pohjois-Karjala":"Pohjois-Karjala","Keski-Suomi":"Keski-Suomi","Etelä-Pohjanmaa":"Etelä-Pohjanmaa",Kainuu:K,Uusimaa:T,"Varsinais-Suomi":"Varsinais-Suomi",Satakunta:I,Kymenlaakso:M,Pohjanmaa:V,"Keski-Pohjanmaa":"Keski-Pohjanmaa","Pohjois-Pohjanmaa":"Pohjois-Pohjanmaa","Pohjois-Pohjanmaan länsiosa":"Pohjois-Pohjanmaan länsiosa",Lappi:F,Ahvenanmaa:R,Merenkurkku:E,"Suomenlahden itäosa":"Suomenlahden itäosa","Pohjois-Itämeren länsiosa":"Pohjois-Itämeren länsiosa","Selkämeren eteläosa":"Selkämeren eteläosa","Perämeren pohjoisosa":"Perämeren pohjoisosa",Ahvenanmeri:N,Saaristomeri:O,"Perämeren eteläosa":"Perämeren eteläosa","Selkämeren pohjoisosa":"Selkämeren pohjoisosa","Suomenlahden länsiosa":"Suomenlahden länsiosa","Pohjois-Itämeren itäosa":"Pohjois-Itämeren itäosa","Saimaan pohjoisosa":"Saimaa pohjoinen","Saimaan eteläosa":"Saimaa eteläinen",Enontekiö:"Enontekiö",Utsjoki:B,Inari:U,Muonio:b,Kolari:z,Kittilä:"Kittilä",Sodankylä:"Sodankylä",Savukoski:C,Pelkosenniemi:Y,Salla:x,Pello:J,Ylitornio:Z,Rovaniemi:_,Kemijärvi:"Kemijärvi",Tornio:q,Tervola:G,Keminmaa:Q,Kemi:X,Simo:$,Ranua:ee,Posio:ae,Kuusamo:ie,Pudasjärvi:"Pudasjärvi",Taivalkoski:te,coldWeather:ne,floodLevel:se,forestFireWeather:le,grassFireWeather:oe,hotWeather:re,pedestrianSafety:ue,rain:ve,seaIcing:ke,seaThunderStorm:ce,seaWaterHeightHighWater:me,seaWaterHeightShallowWater:he,seaWaveHeight:pe,seaWind:de,thunderStorm:Le,trafficWeather:je,uvNote:Ae,wind:ge,coldWeatherDescriptionLevel2:ye,coldWeatherDescriptionLevel3:De,coldWeatherDescriptionLevel4:We,floodLevelDescriptionLevel2:Se,floodLevelDescriptionLevel3:fe,floodLevelDescriptionLevel4:Pe,forestFireWeatherDescriptionLevel2:we,forestFireWeatherDescriptionLevel3:He,forestFireWeatherDescriptionLevel4:Ke,grassFireWeatherDescriptionLevel2:Te,grassFireWeatherDescriptionLevel3:Ie,grassFireWeatherDescriptionLevel4:Me,hotWeatherDescriptionLevel2:Ve,hotWeatherDescriptionLevel3:Fe,hotWeatherDescriptionLevel4:Re,pedestrianSafetyDescriptionLevel2:Ee,pedestrianSafetyDescriptionLevel3:Ne,pedestrianSafetyDescriptionLevel4:Oe,rainDescriptionLevel2:Be,rainDescriptionLevel3:Ue,rainDescriptionLevel4:be,seaIcingDescriptionLevel2:ze,seaIcingDescriptionLevel3:Ce,seaIcingDescriptionLevel4:Ye,seaThunderStormDescriptionLevel2:xe,seaThunderStormDescriptionLevel3:Je,seaThunderStormDescriptionLevel4:Ze,seaWaterHeightHighWaterDescriptionLevel2:_e,seaWaterHeightHighWaterDescriptionLevel3:qe,seaWaterHeightHighWaterDescriptionLevel4:Ge,seaWaterHeightShallowWaterDescriptionLevel2:Qe,seaWaterHeightShallowWaterDescriptionLevel3:Xe,seaWaterHeightShallowWaterDescriptionLevel4:$e,seaWaveHeightDescriptionLevel2:ea,seaWaveHeightDescriptionLevel3:aa,seaWaveHeightDescriptionLevel4:ia,seaWindDescriptionLevel2:ta,seaWindDescriptionLevel3:na,seaWindDescriptionLevel4:sa,thunderStormDescriptionLevel2:la,thunderStormDescriptionLevel3:oa,thunderStormDescriptionLevel4:ra,trafficWeatherDescriptionLevel2:ua,trafficWeatherDescriptionLevel3:va,trafficWeatherDescriptionLevel4:ka,uvNoteDescriptionLevel2:ca,uvNoteDescriptionLevel3:ma,uvNoteDescriptionLevel4:ha,windDescriptionLevel2:pa,windDescriptionLevel3:da,windDescriptionLevel4:La,capLanguage:ja,metoclientLanguage:Aa,dataProviderFirst:ga,dataProviderSecond:ya,floodLink:Da,floodLinkText:Wa,description:Sa,zoomIn:fa,zoomOut:Pa,moveMap:wa,mapAriaLabel:Ha,toContent:Ka,warningsInAreasStart:Ta,fromDirection:Ia,in1Areas:Ma,in2Areas:Va,in3Areas:Fa,in4Areas:Ra,in5Areas:Ea,in6Areas:Na,in7Areas:Oa,in8Areas:Ba,in9Areas:Ua,in10Areas:ba,in11Areas:za,in12Areas:Ca,in13Areas:Ya,in14Areas:xa,in15Areas:Ja,in16Areas:Za,in17Areas:_a,in18Areas:qa,in19Areas:Ga,in20Areas:Qa,in21Areas:Xa,in22Areas:$a,in23Areas:ei,in24Areas:ai,in25Areas:ii,in26Areas:ti,in27Areas:ni,in28Areas:si,in29Areas:li,in30Areas:oi,in31Areas:ri,in32Areas:ui,in33Areas:vi,in34Areas:ki,in35Areas:ci,in36Areas:mi,in37Areas:hi,in38Areas:pi,in39Areas:di,in40Areas:Li,in41Areas:ji,in42Areas:Ai,in43Areas:gi,in44Areas:yi,in45Areas:Di,toNextContent:Wi,infoButtonAriaLabelShowRegion:Si,infoButtonAriaLabelCloseRegion:fi,infoButtonAriaLabelValidWarnings:Pi,legends:wi,showLegends:Hi,hideLegends:Ki,warningsInEffect:Ti,landAreas:Ii,seaAreas:Mi,grayScale:Vi,toggleOn:Fi,toggleOff:Ri};export{Ei as f};
@@ -1,8 +0,0 @@
1
- /**
2
- * name: @fmidev/smartmet-alert-client
3
- * version: v4.7.0-beta.13
4
- * description: Web application for viewing weather and flood alerts
5
- * author: Finnish Meteorological Institute
6
- * homepage: https://github.com/fmidev/smartmet-alert-client#readme
7
- */
8
- const e="Obs! Om kartan är grå och inget datum visas på kartan har varningarna inte uppdaterats.",n="Säkerställ nätverksanslutning. Kontrollera att du har uppdaterat din webbläsare och operativsystem.",r="Lista över webbläsare som stöds",t="https://sv.ilmatieteenlaitos.fi/information-om-sidorna",a="Ett fel uppstod vid sökningen av varningar. Försök på nytt om en stund.",i="Varningar är i kraft i följande landområden",s="Varningar är i kraft i följande havsområden",o="Varningar i kraft, 5 dygn",l="Visa alla varningar",c="må",v="ti",d="on",g="to",m="fr",f="lö",k="sö",h="Varningar",p="Uppdaterad",u="kl.",L="varningen gäller",A="Flera varningar i kraft",D="Ej fara",W="Möjligtvis farlig",S="Farlig",b="Mycket farlig",j="Inga varningar i kraft",y="Inga varningar",w="info_sv",K="Birkaland",H="Kajanaland",V="Nyland",P="Satakunta",I="Kymmenedalen",F="Österbotten",T="Lappland",N="Åland",B="Kvarken",R="Ålands hav",M="Skärgårdshavet",E="Utsjoki",x="Enare",O="Muonio",z="Kolari",U="Savukoski",C="Pelkosenniemi",G="Salla",Y="Pello",Z="Övertorneå",_="Rovaniemi",q="Torneå",J="Tervola",Q="Keminmaa",X="Kemi",$="Simo",ee="Ranua",ne="Posio",re="Kuusamo",te="Taivalkoski",ae="Varning för köld",ie="Varning för översvämning",se="Varning för terrängbrand",oe="Risk för gräsbrand",le="Varning för värmebölja",ce="Fotgängarvädret",ve="Nederbördsvarning",de="Varning för nedisning av fartyg",ge="Åskbyar på sjöområden",me="Varning för högt vattenstånd",fe="Varning för lågt vattenstånd",ke="Varning för hård sjögång",he="Vindvarning för havsområden",pe="Varning för våldsamt åskväder",ue="Trafikvädret",Le="UV-meddelande",Ae="Vindvarning för landområden",De="Köldpåfrestningen hindrar verksamhet utomhus och hos många som lider av olika kroniska sjukdomar ökar symtomen.",We="Köldpåfrestningen hindrar verksamhet utomhus avsevärt och symtom hos personer som lider av kroniska sjukdomar förvärras tydligt. Risk för förfrysning.",Se="Köldpåfrestningen försvårar verksamhet utomhus avsevärt och symtomen hos personer som lider av kroniska sjukdomar förvärras betydligt. Stor risk för förfrysning.",be="Översvämning av åkrar och skogar och mindre störningar är möjliga. Varning utfärdas när en översvämning orsakar en uppskattad effekt eller när dess återkomsttid i genomsnitt är 3-10 år.",je="Översvämningen orsakar skador på byggnader. Betydande störningar i trafiken kan uppstå. Varning utfärdas när en översvämning orsakar en uppskattad effekt eller när dess återkomsttid i genomsnitt är 10-50 år.",ye="Betydande risk för människornas säkerhet samt el-, vatten- och kommunikationsnäten. Skador på byggnader och störningar i trafiken i stora områden. Varning utfärdas när en översvämning orsakar en uppskattad effekt eller när dess återkomsttid i genomsnitt är över 50 år.",we="Risken för terrängbrand är uppenbar på grund av torkan. I blåsigt väder sprider sig bränderna mycket snabbt.",Ke="Risken för terrängbrand är extremt uppenbar på grund av torkan. I blåsigt väder sprider sig bränderna mycket snabbt.",He="Risken för omfattande terrängbrand är uppenbar på grund av torkan. Bränderna sannolikt sprider sig mycket snabbt.",Ve="Risken för gräsbrand är uppenbar på grund av torkan. I blåsigt väder sprider sig bränderna mycket snabbt.",Pe="",Ie="",Fe="Symtomen hos många som lider av olika kroniska sjukdomar förvärras.",Te="Symtomen hos personer som lider av kroniska sjukdomar förvärras betydligt. Värmepåfrestningen försvagar också friska personers funktionsförmåga.",Ne="I vårt nuvarande klimat är denna varningsnivå mycket osannolik. Mycket betydande hälsoeffekter förväntas. Värmepåfrestningen försvagar även friska personers funktionsförmåga.",Be="Lättrafiklederna är mycket hala i stora områden. Avsevärd halkningsrisk.",Re="",Me="",Ee="De mest utsatta underfarterna och sänkorna i tätorterna översvämmas. Ökad fara för vattenplaning i trafiken.",xe="Allmänt översvämningar i tätorterna. Möjligt att underfarter fylls helt med vatten. Strömmande vatten kan orsaka fara.",Oe="Svåra översvämningar i tätorterna och ställvis även utanför dem. Översvämningspölarna och det strömmande vattnet orsakar fara.",ze="Riklig nedisning kan försämra fartygets stabilitet och äventyra säker drift.",Ue="Riklig nedisning kan försämra fartygets stabilitet och äventyra säker drift.",Ce="Riklig nedisning kan försämra fartygets stabilitet och äventyra säker drift.",Ge="Kan vara farligt för fritidsbåtar och mindre fartyg.",Ye="Kan vara farligt för fritidsbåtar och mindre fartyg.",Ze="Kan vara farligt för fritidsbåtar och mindre fartyg.",_e="Översvämning: Havsvattnet stiger nära kusten på låglänta marker.",qe="Strandvägarna är ställvis avbrutna. De mest översvämningsutsatta platserna blir våta.",Je="Strandvägarna på låglänta ställen avbrutna också där det tidigare inte översvämmat. Byggnader blir omringade av vatten. I tätorterna avsevärda vattenskador.",Qe="Vid lågvatten förekommer svårigheter i hamnarnas frakttrafik.",Xe="",$e="",en="Möjligtvis farligt för fritidsbåtar och mindre fartyg.",nn="Svårigheter och farosituationer för sjötrafiken.",rn="Betydande svårigheter, fördröjningar och farosituationer i sjötrafiken.",tn="Möjligtvis farligt för fritidsbåtar.",an="Svårigheter och farosituationer för sjötrafiken.",sn="Avsevärda svårigheter, fördröjningar och farosituationer i sjötrafiken.",on="Stormskador i små områden. Främst enstaka fallna träd. Korta och lokala elavbrott.",ln="Allmänt stormskador, ställvis också enhetliga skadeområden. Lokalt stort behov av röjning, långa elavbrott och avbrott i teletrafiken.",cn="Omfattande skadeområden med avsevärt behov av röjning. Långa elavbrott, avbrott i vattendistributionen och teletrafiken.",vn="Trafikens smidighet försämras och medelhastigheten sjunker. Ökad olycksrisk.",dn="Möjligtvis kraftiga störningar i trafiken. Avsevärd olycksrisk.",gn="Kraftiga störningar i trafiken är sannolika och trafikförbindelser kan brytas helt. Avsevärd olycksrisk.",mn="UV-strålningen är kraftig. Oskyddad hud kan få brännskador speciellt under vistelse i direkt solljus.",fn="",kn="",hn="Enstaka fallna träd inom ett stort område. Korta elavbrott.",pn="Allmänt stormskador, ställvis också enhetliga skadeområden. Lokalt stort behov av röjning, långa elavbrott och avbrott i teletrafiken.",un="Omfattande skadeområden med avsevärt behov av röjning. Långa elavbrott, avbrott i vattendistributionen och teletrafiken.",Ln="sv-SV",An="sv",Dn="Meteorologiska institutet",Wn="Översvämningscentret",Sn="https://www.vesi.fi/",bn="Vattenföringsprognoser och översvämningsvarningar",jn="Effektbeskrivningen",yn="Zooma in",wn="Zooma ut",Kn="Använd piltangenterna för att flytta kartan",Hn="Förstorande karta",Vn="Gå till varningar i text format",Pn="Varningar",In="från",Fn="i ett område",Tn="i två områden",Nn="i tre områden",Bn="i fyra områden",Rn="i fem områden",Mn="i sex områden",En="i sju områden",xn="i åtta områden",On="i nio områden",zn="i tio områden",Un="i elva områden",Cn="i tolv områden",Gn="i tretton områden",Yn="i fjorton områden",Zn="i femton områden",_n="i sexton områden",qn="i sjutton områden",Jn="i arton områden",Qn="i nitton områden",Xn="i tjugo områden",$n="i tjugoen områden",er="i tjugotvå områden",nr="i tjugotre områden",rr="i tjugofyra områden",tr="i tjugofem områden",ar="i tjugosex områden",ir="i tjugosju områden",sr="i tjugoåtta områden",or="i tjugonio områden",lr="i trettio områden",cr="i trettioen områden",vr="i trettiotvå områden",dr="i trettiotre områden",gr="i trettiofyra områden",mr="i trettiofem områden",fr="i trettiosex områden",kr="i trettiosju områden",hr="i trettioåtta områden",pr="i trettionio områden",ur="i fyrtio områden",Lr="i fyrtioen områden",Ar="i fyrtiotvå områden",Dr="i fyrtiotre områden",Wr="i fyrtiofyra områden",Sr="i fyrtiofem områden",br="Gå till nästa stycke.",jr="Visa giltiga varningar för",yr="Stäng giltiga varningar för",wr=".",Kr="Kartanmärkningar",Hr="Visa anmärkningar",Vr="Dölj anmärkningar",Pr="varningar i kraft i",Ir="landområden och",Fr="havsområden",Tr="Gråskala",Nr="On",Br="Off",Rr={notInitializedStart:e,notInitializedEnd:n,supportedBrowsers:r,supportedBrowsersLink:t,failed:a,regionLand:i,regionSea:s,validWarnings:o,showWarnings:l,ma:c,ti:v,ke:d,to:g,pe:m,la:f,su:k,warnings:h,updated:p,atTime:u,valid:L,severalWarnings:A,warningLevel1:D,warningLevel2:W,warningLevel3:S,warningLevel4:b,noWarnings:j,popupNoWarnings:y,womlInfoField:w,"Kanta-Häme":"Egentliga Tavastland",Pirkanmaa:K,"Päijät-Häme":"Päijänne-Tavastland","Etelä-Karjala":"Södra Karelen","Etelä-Savo":"Södra Savolax","Pohjois-Savo":"Norra Savolax","Pohjois-Karjala":"Norra Karelen","Keski-Suomi":"Mellersta Finland","Etelä-Pohjanmaa":"Södra Österbotten",Kainuu:H,Uusimaa:V,"Varsinais-Suomi":"Egentliga Finland",Satakunta:P,Kymenlaakso:I,Pohjanmaa:F,"Keski-Pohjanmaa":"Mellersta Österbotten","Pohjois-Pohjanmaa":"Norra Österbotten","Pohjois-Pohjanmaan länsiosa":"Västra delen av Norra Österbotten",Lappi:T,Ahvenanmaa:N,Merenkurkku:B,"Suomenlahden itäosa":"Östra Finska viken","Pohjois-Itämeren länsiosa":"Västra delen av Norra Östersjön","Selkämeren eteläosa":"Södra Bottenhavet","Perämeren pohjoisosa":"Norra Bottenviken",Ahvenanmeri:R,Saaristomeri:M,"Perämeren eteläosa":"Södra Bottenviken","Selkämeren pohjoisosa":"Norra Bottenhavet","Suomenlahden länsiosa":"Västra Finska viken","Pohjois-Itämeren itäosa":"Östra delen av Norra Östersjön","Saimaan pohjoisosa":"Norra Saimen","Saimaan eteläosa":"Södra Saimen",Enontekiö:"Enontekis",Utsjoki:E,Inari:x,Muonio:O,Kolari:z,Kittilä:"Kittilä",Sodankylä:"Sodankylä",Savukoski:U,Pelkosenniemi:C,Salla:G,Pello:Y,Ylitornio:Z,Rovaniemi:_,Kemijärvi:"Kemijärvi",Tornio:q,Tervola:J,Keminmaa:Q,Kemi:X,Simo:$,Ranua:ee,Posio:ne,Kuusamo:re,Pudasjärvi:"Pudasjärvi",Taivalkoski:te,coldWeather:ae,floodLevel:ie,forestFireWeather:se,grassFireWeather:oe,hotWeather:le,pedestrianSafety:ce,rain:ve,seaIcing:de,seaThunderStorm:ge,seaWaterHeightHighWater:me,seaWaterHeightShallowWater:fe,seaWaveHeight:ke,seaWind:he,thunderStorm:pe,trafficWeather:ue,uvNote:Le,wind:Ae,coldWeatherDescriptionLevel2:De,coldWeatherDescriptionLevel3:We,coldWeatherDescriptionLevel4:Se,floodLevelDescriptionLevel2:be,floodLevelDescriptionLevel3:je,floodLevelDescriptionLevel4:ye,forestFireWeatherDescriptionLevel2:we,forestFireWeatherDescriptionLevel3:Ke,forestFireWeatherDescriptionLevel4:He,grassFireWeatherDescriptionLevel2:Ve,grassFireWeatherDescriptionLevel3:Pe,grassFireWeatherDescriptionLevel4:Ie,hotWeatherDescriptionLevel2:Fe,hotWeatherDescriptionLevel3:Te,hotWeatherDescriptionLevel4:Ne,pedestrianSafetyDescriptionLevel2:Be,pedestrianSafetyDescriptionLevel3:Re,pedestrianSafetyDescriptionLevel4:Me,rainDescriptionLevel2:Ee,rainDescriptionLevel3:xe,rainDescriptionLevel4:Oe,seaIcingDescriptionLevel2:ze,seaIcingDescriptionLevel3:Ue,seaIcingDescriptionLevel4:Ce,seaThunderStormDescriptionLevel2:Ge,seaThunderStormDescriptionLevel3:Ye,seaThunderStormDescriptionLevel4:Ze,seaWaterHeightHighWaterDescriptionLevel2:_e,seaWaterHeightHighWaterDescriptionLevel3:qe,seaWaterHeightHighWaterDescriptionLevel4:Je,seaWaterHeightShallowWaterDescriptionLevel2:Qe,seaWaterHeightShallowWaterDescriptionLevel3:Xe,seaWaterHeightShallowWaterDescriptionLevel4:$e,seaWaveHeightDescriptionLevel2:en,seaWaveHeightDescriptionLevel3:nn,seaWaveHeightDescriptionLevel4:rn,seaWindDescriptionLevel2:tn,seaWindDescriptionLevel3:an,seaWindDescriptionLevel4:sn,thunderStormDescriptionLevel2:on,thunderStormDescriptionLevel3:ln,thunderStormDescriptionLevel4:cn,trafficWeatherDescriptionLevel2:vn,trafficWeatherDescriptionLevel3:dn,trafficWeatherDescriptionLevel4:gn,uvNoteDescriptionLevel2:mn,uvNoteDescriptionLevel3:fn,uvNoteDescriptionLevel4:kn,windDescriptionLevel2:hn,windDescriptionLevel3:pn,windDescriptionLevel4:un,capLanguage:Ln,metoclientLanguage:An,dataProviderFirst:Dn,dataProviderSecond:Wn,floodLink:Sn,floodLinkText:bn,description:jn,zoomIn:yn,zoomOut:wn,moveMap:Kn,mapAriaLabel:Hn,toContent:Vn,warningsInAreasStart:Pn,fromDirection:In,in1Areas:Fn,in2Areas:Tn,in3Areas:Nn,in4Areas:Bn,in5Areas:Rn,in6Areas:Mn,in7Areas:En,in8Areas:xn,in9Areas:On,in10Areas:zn,in11Areas:Un,in12Areas:Cn,in13Areas:Gn,in14Areas:Yn,in15Areas:Zn,in16Areas:_n,in17Areas:qn,in18Areas:Jn,in19Areas:Qn,in20Areas:Xn,in21Areas:$n,in22Areas:er,in23Areas:nr,in24Areas:rr,in25Areas:tr,in26Areas:ar,in27Areas:ir,in28Areas:sr,in29Areas:or,in30Areas:lr,in31Areas:cr,in32Areas:vr,in33Areas:dr,in34Areas:gr,in35Areas:mr,in36Areas:fr,in37Areas:kr,in38Areas:hr,in39Areas:pr,in40Areas:ur,in41Areas:Lr,in42Areas:Ar,in43Areas:Dr,in44Areas:Wr,in45Areas:Sr,toNextContent:br,infoButtonAriaLabelShowRegion:jr,infoButtonAriaLabelCloseRegion:yr,infoButtonAriaLabelValidWarnings:wr,legends:Kr,showLegends:Hr,hideLegends:Vr,warningsInEffect:Pr,landAreas:Ir,seaAreas:Fr,grayScale:Tr,toggleOn:Nr,toggleOff:Br};export{Rr as s};