@opengeoweb/warnings 9.28.1 → 9.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (154) hide show
  1. package/index.esm.js +775 -648
  2. package/package.json +1 -1
  3. package/src/index.d.ts +10 -10
  4. package/src/lib/Warnings.stories.d.ts +6 -6
  5. package/src/lib/components/AreaObjectLoader/AreaObjectFilter.d.ts +9 -9
  6. package/src/lib/components/AreaObjectLoader/AreaObjectFilter.spec.d.ts +1 -1
  7. package/src/lib/components/AreaObjectLoader/AreaObjectLoader.d.ts +27 -27
  8. package/src/lib/components/AreaObjectLoader/AreaObjectLoader.spec.d.ts +1 -1
  9. package/src/lib/components/AreaObjectLoader/AreaObjectLoader.stories.d.ts +40 -40
  10. package/src/lib/components/AreaObjectLoader/AreaObjectLoaderConnect.d.ts +6 -6
  11. package/src/lib/components/AreaObjectLoader/AreaObjectLoaderConnect.integration.spec.d.ts +1 -1
  12. package/src/lib/components/AreaObjectLoader/AreaObjectLoaderConnect.stories.d.ts +7 -7
  13. package/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +25 -25
  14. package/src/lib/components/AreaObjectLoader/AreasObjects.spec.d.ts +1 -1
  15. package/src/lib/components/ComponentsLookUp/ComponentsLookUp.d.ts +15 -15
  16. package/src/lib/components/ComponentsLookUp/ComponentsLookUp.spec.d.ts +1 -1
  17. package/src/lib/components/ComponentsLookUp/index.d.ts +1 -1
  18. package/src/lib/components/DrawingTool/DrawingTool.stories.d.ts +34 -34
  19. package/src/lib/components/DrawingTool/DrawingToolConnect.d.ts +16 -16
  20. package/src/lib/components/DrawingTool/DrawingToolConnect.spec.d.ts +1 -1
  21. package/src/lib/components/DrawingTool/DrawingToolConnect.stories.d.ts +6 -6
  22. package/src/lib/components/DrawingTool/DrawingToolDialog.d.ts +19 -19
  23. package/src/lib/components/DrawingTool/DrawingToolDialog.spec.d.ts +1 -1
  24. package/src/lib/components/DrawingTool/DrawingToolMapButtonConnect.d.ts +8 -8
  25. package/src/lib/components/DrawingTool/DrawingToolMapButtonConnect.spec.d.ts +1 -1
  26. package/src/lib/components/DrawingTool/index.d.ts +3 -3
  27. package/src/lib/components/DrawingTool/useObjectDrawDialogAction.d.ts +25 -25
  28. package/src/lib/components/DrawingTool/useObjectDrawDialogAction.spec.d.ts +1 -1
  29. package/src/lib/components/DrawingToolForm/DrawingToolForm.d.ts +26 -26
  30. package/src/lib/components/DrawingToolForm/DrawingToolForm.spec.d.ts +1 -1
  31. package/src/lib/components/DrawingToolForm/DrawingToolFormConnect.d.ts +2 -2
  32. package/src/lib/components/DrawingToolForm/DrawingToolFormConnect.integration.spec.d.ts +1 -1
  33. package/src/lib/components/DrawingToolForm/DrawingToolFormContents.d.ts +27 -27
  34. package/src/lib/components/DrawingToolForm/index.d.ts +2 -2
  35. package/src/lib/components/FilterList/FilterChipWithOptions.d.ts +7 -7
  36. package/src/lib/components/FilterList/FilterChipWithOptions.spec.d.ts +1 -1
  37. package/src/lib/components/FilterList/FilterChipWithOptions.stories.d.ts +19 -19
  38. package/src/lib/components/FilterList/FilterChipWithOptionsConnect.d.ts +7 -7
  39. package/src/lib/components/FilterList/FilterList.d.ts +13 -13
  40. package/src/lib/components/ObjectManager/ConfirmDeleteDialog.d.ts +11 -11
  41. package/src/lib/components/ObjectManager/ConfirmDeleteDialog.spec.d.ts +1 -1
  42. package/src/lib/components/ObjectManager/ObjectManager.d.ts +25 -25
  43. package/src/lib/components/ObjectManager/ObjectManager.spec.d.ts +1 -1
  44. package/src/lib/components/ObjectManager/ObjectManager.stories.d.ts +46 -46
  45. package/src/lib/components/ObjectManager/ObjectManagerConnect.d.ts +6 -6
  46. package/src/lib/components/ObjectManager/ObjectManagerConnect.integration.spec.d.ts +1 -1
  47. package/src/lib/components/ObjectManager/ObjectManagerConnect.stories.d.ts +25 -25
  48. package/src/lib/components/ObjectManager/ObjectManagerConnectErrors.stories.d.ts +9 -9
  49. package/src/lib/components/ObjectManager/ObjectManagerMapButtonConnect.d.ts +6 -6
  50. package/src/lib/components/ObjectManager/ObjectManagerMapButtonConnect.spec.d.ts +1 -1
  51. package/src/lib/components/ObjectManager/Objects.d.ts +22 -22
  52. package/src/lib/components/ObjectManager/Objects.spec.d.ts +1 -1
  53. package/src/lib/components/ObjectManager/index.d.ts +2 -2
  54. package/src/lib/components/Providers/Providers.d.ts +19 -19
  55. package/src/lib/components/Providers/Providers.spec.d.ts +1 -1
  56. package/src/lib/components/PublicWarningList/ConfirmWarningDialog.d.ts +13 -13
  57. package/src/lib/components/PublicWarningList/ConfirmWarningDialog.spec.d.ts +1 -1
  58. package/src/lib/components/PublicWarningList/PublicWarningList.d.ts +28 -27
  59. package/src/lib/components/PublicWarningList/PublicWarningList.spec.d.ts +1 -1
  60. package/src/lib/components/PublicWarningList/PublicWarningList.stories.d.ts +35 -35
  61. package/src/lib/components/PublicWarningList/PublicWarningListConnect.d.ts +3 -3
  62. package/src/lib/components/PublicWarningList/PublicWarningListConnect.editorToggle.integration.spec.d.ts +1 -1
  63. package/src/lib/components/PublicWarningList/PublicWarningListConnect.filter.integration.spec.d.ts +1 -1
  64. package/src/lib/components/PublicWarningList/PublicWarningListConnect.integration.spec.d.ts +1 -1
  65. package/src/lib/components/PublicWarningList/PublicWarningListConnect.published.integration.spec.d.ts +1 -1
  66. package/src/lib/components/PublicWarningList/PublicWarningListConnect.stories.d.ts +9 -9
  67. package/src/lib/components/PublicWarningList/WarningListColumnContent.d.ts +10 -0
  68. package/src/lib/components/PublicWarningList/WarningListItem.d.ts +17 -26
  69. package/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +14 -0
  70. package/src/lib/components/PublicWarningList/WarningListItemSeperator.d.ts +8 -8
  71. package/src/lib/components/PublicWarningList/index.d.ts +2 -2
  72. package/src/lib/components/PublicWarningsForm/AreaField/AreaField.d.ts +9 -9
  73. package/src/lib/components/PublicWarningsForm/AreaField/AreaField.spec.d.ts +1 -1
  74. package/src/lib/components/PublicWarningsForm/AreaField/AreaField.stories.d.ts +13 -13
  75. package/src/lib/components/PublicWarningsForm/AreaField/index.d.ts +1 -1
  76. package/src/lib/components/PublicWarningsForm/DescriptionField/DescriptionField.d.ts +5 -5
  77. package/src/lib/components/PublicWarningsForm/DescriptionField/DescriptionField.spec.d.ts +1 -1
  78. package/src/lib/components/PublicWarningsForm/DescriptionField/DescriptionField.stories.d.ts +21 -21
  79. package/src/lib/components/PublicWarningsForm/DescriptionField/index.d.ts +1 -1
  80. package/src/lib/components/PublicWarningsForm/LevelField/LevelField.d.ts +22 -21
  81. package/src/lib/components/PublicWarningsForm/LevelField/LevelField.spec.d.ts +1 -1
  82. package/src/lib/components/PublicWarningsForm/LevelField/index.d.ts +1 -1
  83. package/src/lib/components/PublicWarningsForm/PhenomenonField/PhenomenonField.d.ts +11 -11
  84. package/src/lib/components/PublicWarningsForm/PhenomenonField/PhenomenonField.spec.d.ts +1 -1
  85. package/src/lib/components/PublicWarningsForm/PhenomenonField/index.d.ts +1 -1
  86. package/src/lib/components/PublicWarningsForm/ProbabilityField/ProbabilityField.d.ts +7 -7
  87. package/src/lib/components/PublicWarningsForm/ProbabilityField/ProbabilityField.spec.d.ts +1 -1
  88. package/src/lib/components/PublicWarningsForm/ProbabilityField/index.d.ts +1 -1
  89. package/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +32 -32
  90. package/src/lib/components/PublicWarningsForm/PublicWarningsForm.spec.d.ts +1 -1
  91. package/src/lib/components/PublicWarningsForm/PublicWarningsForm.stories.d.ts +29 -29
  92. package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +10 -10
  93. package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.spec.d.ts +1 -1
  94. package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.stories.d.ts +7 -7
  95. package/src/lib/components/PublicWarningsForm/PublicWarningsFormConnectErrors.stories.d.ts +7 -7
  96. package/src/lib/components/PublicWarningsForm/ValidFromField/ValidFromField.d.ts +9 -9
  97. package/src/lib/components/PublicWarningsForm/ValidFromField/ValidFromField.spec.d.ts +1 -1
  98. package/src/lib/components/PublicWarningsForm/ValidFromField/index.d.ts +1 -1
  99. package/src/lib/components/PublicWarningsForm/ValidUntilField/ValidUntilField.d.ts +11 -11
  100. package/src/lib/components/PublicWarningsForm/ValidUntilField/ValidUntilField.spec.d.ts +1 -1
  101. package/src/lib/components/PublicWarningsForm/ValidUntilField/index.d.ts +1 -1
  102. package/src/lib/components/PublicWarningsForm/index.d.ts +2 -2
  103. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialog.d.ts +21 -21
  104. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialog.spec.d.ts +1 -1
  105. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialog.stories.d.ts +57 -57
  106. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialogConnect.d.ts +16 -16
  107. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialogConnect.spec.d.ts +1 -1
  108. package/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialogConnect.stories.d.ts +8 -8
  109. package/src/lib/components/PublicWarningsFormDialog/WarningsAvatar.d.ts +8 -8
  110. package/src/lib/components/PublicWarningsFormDialog/index.d.ts +2 -2
  111. package/src/lib/components/WarningsMapView/WarningsMapView.d.ts +14 -14
  112. package/src/lib/components/WarningsMapView/WarningsMapView.spec.d.ts +1 -1
  113. package/src/lib/components/WarningsModuleProvider/WarningsModuleProvider.d.ts +7 -7
  114. package/src/lib/components/WarningsModuleProvider/index.d.ts +1 -1
  115. package/src/lib/store/config.d.ts +10 -10
  116. package/src/lib/store/drawings/listener.d.ts +2 -2
  117. package/src/lib/store/drawings/reducer.d.ts +13 -13
  118. package/src/lib/store/drawings/reducer.spec.d.ts +1 -1
  119. package/src/lib/store/drawings/selectors.d.ts +9 -9
  120. package/src/lib/store/drawings/selectors.spec.d.ts +1 -1
  121. package/src/lib/store/drawings/types.d.ts +33 -33
  122. package/src/lib/store/drawings/utils.d.ts +4 -4
  123. package/src/lib/store/publicWarningForm/listener.d.ts +2 -2
  124. package/src/lib/store/publicWarningForm/reducer.d.ts +67 -66
  125. package/src/lib/store/publicWarningForm/reducer.spec.d.ts +1 -1
  126. package/src/lib/store/publicWarningForm/selectors.d.ts +53 -53
  127. package/src/lib/store/publicWarningForm/selectors.spec.d.ts +1 -1
  128. package/src/lib/store/publicWarningForm/types.d.ts +41 -40
  129. package/src/lib/store/publicWarningForm/utils.d.ts +2 -2
  130. package/src/lib/store/publicWarnings/listener.d.ts +3 -3
  131. package/src/lib/store/publicWarnings/listener.spec.d.ts +1 -1
  132. package/src/lib/store/publicWarnings/reducer.d.ts +27 -27
  133. package/src/lib/store/publicWarnings/reducer.spec.d.ts +1 -1
  134. package/src/lib/store/publicWarnings/selectors.d.ts +36 -36
  135. package/src/lib/store/publicWarnings/selectors.spec.d.ts +1 -1
  136. package/src/lib/store/publicWarnings/types.d.ts +39 -39
  137. package/src/lib/store/publicWarnings/utils.d.ts +23 -23
  138. package/src/lib/store/publicWarnings/utils.spec.d.ts +1 -1
  139. package/src/lib/store/types.d.ts +9 -9
  140. package/src/lib/storybookUtils/defaultStorySettings.d.ts +18 -18
  141. package/src/lib/storybookUtils/storyComponents.d.ts +7 -7
  142. package/src/lib/storybookUtils/testUtils.d.ts +3 -3
  143. package/src/lib/utils/api.d.ts +30 -30
  144. package/src/lib/utils/api.spec.d.ts +1 -1
  145. package/src/lib/utils/constants.d.ts +1 -1
  146. package/src/lib/utils/fakeApi/index.d.ts +7 -7
  147. package/src/lib/utils/fakeApi.d.ts +6 -6
  148. package/src/lib/utils/fakeApi.spec.d.ts +1 -1
  149. package/src/lib/utils/i18n.d.ts +7 -7
  150. package/src/lib/utils/sig-airmet-util.d.ts +5 -5
  151. package/src/lib/utils/useFormDirty.d.ts +7 -7
  152. package/src/lib/utils/useFormDirty.spec.d.ts +1 -1
  153. package/src/lib/utils/warningUtils.d.ts +12 -7
  154. package/src/lib/utils/warningUtils.spec.d.ts +1 -1
package/index.esm.js CHANGED
@@ -10,10 +10,10 @@ import { useTranslation } from 'react-i18next';
10
10
  import '@opengeoweb/core';
11
11
  import { FORM_FIELDS_NAMESPACE, useDraftFormHelpers, ReactHookFormSelect, ReactHookFormHiddenInput, isValidGeoJsonCoordinates, ReactHookFormTextField, ReactHookFormProvider, defaultFormOptions, errorMessages, ReactHookFormDateTime, isXHoursBefore, isXHoursAfter, isEmpty } from '@opengeoweb/form-fields';
12
12
  import { generateMapId, LayerType, getWMJSMapById, getGeoCoordFromLatLong, WMBBOX } from '@opengeoweb/webmap';
13
- import { snackbarActions } from '@opengeoweb/snackbar';
13
+ import { snackbarActions, snackbarTypes } from '@opengeoweb/snackbar';
14
14
  import * as React from 'react';
15
15
  import React__default, { useState, useEffect, useRef } from 'react';
16
- import { styled, Box, Typography, ListItem, Grid, Paper, ListItemButton, Stack, LinearProgress, Button, MenuItem, ListItemIcon, FormHelperText, Tabs, Tab, Card, CardContent, CircularProgress, Menu, DialogTitle, DialogContent, Switch } from '@mui/material';
16
+ import { styled, Box, Typography, ListItem, Grid2, Paper, ListItemButton, Stack, LinearProgress, Button, MenuItem, FormHelperText, Tabs, Tab, Card, CardContent, CircularProgress, Menu, DialogTitle, DialogContent, Switch } from '@mui/material';
17
17
  import { VariableSizeList } from 'react-window';
18
18
  import AutoSizer from 'react-virtualized-auto-sizer';
19
19
  import { getApi, createApiInstance, createNonAuthApiInstance, createFakeApiInstance, ApiProvider, ProductStatus, useAirmetList, useSigmetList } from '@opengeoweb/api';
@@ -43,8 +43,8 @@ var en = {
43
43
  "delete-dialog-title": "Delete object",
44
44
  "delete-dialog-description": "Are you sure you want to delete",
45
45
  "delete-succes": "has been deleted",
46
- "update-succes": "has been updated",
47
- "save-succes": "has been saved",
46
+ "update-succes": "Object \"{{objectName}}\" has been updated!",
47
+ "save-succes": "Object \"{{objectName}}\" has been saved!",
48
48
  "object-manager-no-objects": "No objects found",
49
49
  "object-manager-options-menu": "Object options",
50
50
  "object-manager-button-edit": "Edit",
@@ -116,14 +116,18 @@ var en = {
116
116
  "warning-list-status-draft": "Drafts",
117
117
  "warning-list-status-published": "Published",
118
118
  "warning-list-status-todo": "Reviews",
119
- "warning-list-status-expired": "Expired (last 24 hours)",
119
+ "warning-list-status-expired": "Expired & Withdrawn (last 24 hours)",
120
120
  "warning-list-header-incident": "Incident",
121
+ "warning-list-header-incidents": "Incidents",
121
122
  "warning-list-header-last-update": "Last update",
122
123
  "warning-list-header-start-time": "Start time",
123
124
  "warning-list-header-end-time": "End time",
124
125
  "warning-list-header-domain": "Domain",
126
+ "warning-list-header-domains": "Domains",
125
127
  "warning-list-header-phenomenon": "Phenomenon",
128
+ "warning-list-header-phenomena": "Phenomena",
126
129
  "warning-list-header-level": "Level",
130
+ "warning-list-header-levels": "Levels",
127
131
  "warning-list-header-status": "Status",
128
132
  "warning-list-header-draft": "DRAFT",
129
133
  "area-object-loader-title": "Add Areas & Objects",
@@ -184,7 +188,11 @@ var en = {
184
188
  "warning-dialog-expire-succes": "Warning has been expired",
185
189
  "warning-dialog-expire-title": "Expire warning",
186
190
  "warning-dialog-expire-confirm": "Expire",
187
- "warning-dialog-expire-description": "Are you sure you want to expire this warning?"
191
+ "warning-dialog-expire-description": "Are you sure you want to expire this warning?",
192
+ "warning-dialog-withdraw-succes": "Warning has been withdrawn",
193
+ "warning-dialog-withdraw-title": "Withdraw warning",
194
+ "warning-dialog-withdraw-confirm": "Withdraw",
195
+ "warning-dialog-withdraw-description": "Are you sure you want to withdraw this warning?"
188
196
  };
189
197
  var nl = {
190
198
  "drawing-tool-form-tools": "Gereedschap",
@@ -206,8 +214,8 @@ var nl = {
206
214
  "delete-dialog-title": "Object verwijderen",
207
215
  "delete-dialog-description": "Weet je zeker dat je dit object wilt verwijderen:",
208
216
  "delete-succes": "is verwijderd",
209
- "update-succes": "is bijgewerkt",
210
- "save-succes": "is opgeslagen",
217
+ "update-succes": "Object \"{{objectName}}\" is bijgewerkt!",
218
+ "save-succes": "Object \"{{objectName}}\" is opgeslagen!",
211
219
  "object-manager-no-objects": "Geen objecten gevonden",
212
220
  "object-manager-options-menu": "Object acties",
213
221
  "object-manager-button-edit": "Bewerken",
@@ -279,14 +287,18 @@ var nl = {
279
287
  "warning-list-status-draft": "Concepten",
280
288
  "warning-list-status-published": "Gepubliceerd",
281
289
  "warning-list-status-todo": "Te doen",
282
- "warning-list-status-expired": "Verlopen (laatste 24 uur)",
290
+ "warning-list-status-expired": "Verlopen en Ingetrokken (laatste 24 uur)",
283
291
  "warning-list-header-incident": "Incident",
292
+ "warning-list-header-incidents": "Incidenten",
284
293
  "warning-list-header-last-update": "Laatste update",
285
294
  "warning-list-header-start-time": "Starttijd",
286
295
  "warning-list-header-end-time": "Eindtijd",
287
296
  "warning-list-header-domain": "Domein",
297
+ "warning-list-header-domains": "Domeinen",
288
298
  "warning-list-header-phenomenon": "Fenomeen",
299
+ "warning-list-header-phenomena": "Fenomenen",
289
300
  "warning-list-header-level": "Niveau",
301
+ "warning-list-header-levels": "Niveaus",
290
302
  "warning-list-header-status": "Status",
291
303
  "warning-list-header-draft": "CONCEPT",
292
304
  "area-object-loader-title": "Gebieden & Objecten toevoegen",
@@ -310,7 +322,11 @@ var nl = {
310
322
  "warning-dialog-expire-succes": "Waarschuwing laten verlopen is succesvol",
311
323
  "warning-dialog-expire-title": "Waarschuwing laten verlopen",
312
324
  "warning-dialog-expire-confirm": "Verlopen",
313
- "warning-dialog-expire-description": "Weet je zeker dat je deze waarschuwing wilt laten verlopen?"
325
+ "warning-dialog-expire-description": "Weet je zeker dat je deze waarschuwing wilt laten verlopen?",
326
+ "warning-dialog-withdraw-succes": "Waarschuwing is succesvol ingetrokken",
327
+ "warning-dialog-withdraw-title": "Waarschuwing intrekken",
328
+ "warning-dialog-withdraw-confirm": "Intrekken",
329
+ "warning-dialog-withdraw-description": "Weet je zeker dat je deze waarschuwing wilt intrekken?"
314
330
  };
315
331
  var fi = {
316
332
  "drawing-tool-form-tools": "Työkalut",
@@ -332,8 +348,8 @@ var fi = {
332
348
  "delete-dialog-title": "Poista objekti",
333
349
  "delete-dialog-description": "Haluatko varmasti poistaa objektin?",
334
350
  "delete-succes": "on poistettu",
335
- "update-succes": "on päivitetty",
336
- "save-succes": "on tallennettu",
351
+ "update-succes": "Objekti \"{{objectName}}\" on päivitetty!",
352
+ "save-succes": "Objekti \"{{objectName}}\" on tallennettu!",
337
353
  "object-manager-no-objects": "Objektia ei löytynyt",
338
354
  "object-manager-options-menu": "Objektin lisävalinnat",
339
355
  "object-manager-button-edit": "Muokkaa",
@@ -407,12 +423,16 @@ var fi = {
407
423
  "warning-list-status-todo": "Arvostelua",
408
424
  "warning-list-status-expired": "Vanhentunutta (viimeiset 24 tuntia)",
409
425
  "warning-list-header-incident": "Ongelmaa",
426
+ "warning-list-header-incidents": "Ongelmia",
410
427
  "warning-list-header-last-update": "Viimeisin päivitys",
411
428
  "warning-list-header-start-time": "Alkamisen ajankohta",
412
429
  "warning-list-header-end-time": "Päättymisen ajankohta",
413
430
  "warning-list-header-domain": "Domain",
431
+ "warning-list-header-domains": "Domains",
414
432
  "warning-list-header-phenomenon": "Sääilmiö",
433
+ "warning-list-header-phenomena": "Sääilmiöt",
415
434
  "warning-list-header-level": "Taso",
435
+ "warning-list-header-levels": "Tasot",
416
436
  "warning-list-header-status": "Tila",
417
437
  "warning-list-header-draft": "LUONNOS",
418
438
  "area-object-loader-title": "ei käännetty",
@@ -436,7 +456,11 @@ var fi = {
436
456
  "warning-dialog-expire-succes": "ei käännetty",
437
457
  "warning-dialog-expire-title": "ei käännetty",
438
458
  "warning-dialog-expire-confirm": "ei käännetty",
439
- "warning-dialog-expire-description": "ei käännetty"
459
+ "warning-dialog-expire-description": "ei käännetty",
460
+ "warning-dialog-withdraw-succes": "ei käännetty",
461
+ "warning-dialog-withdraw-title": "ei käännetty",
462
+ "warning-dialog-withdraw-confirm": "ei käännetty",
463
+ "warning-dialog-withdraw-description": "ei käännetty"
440
464
  };
441
465
  var no = {
442
466
  "drawing-tool-form-tools": "Verktøy",
@@ -458,8 +482,8 @@ var no = {
458
482
  "delete-dialog-title": "Slett objekt",
459
483
  "delete-dialog-description": "Er du sikker på at du vil slette?",
460
484
  "delete-succes": "er slettet",
461
- "update-succes": "er oppdatert",
462
- "save-succes": "er lagret",
485
+ "update-succes": "Objekt \"{{objectName}}\" er oppdatert!",
486
+ "save-succes": "Objekt \"{{objectName}}\" er lagret!",
463
487
  "object-manager-no-objects": "Fant ingen objekter",
464
488
  "object-manager-options-menu": "Objektvalg",
465
489
  "object-manager-button-edit": "Endre",
@@ -533,12 +557,16 @@ var no = {
533
557
  "warning-list-status-todo": "Til sjekk",
534
558
  "warning-list-status-expired": "Utgått (siste 24 timer)",
535
559
  "warning-list-header-incident": "Hendelse",
560
+ "warning-list-header-incidents": "Hendelser",
536
561
  "warning-list-header-last-update": "Sist oppdatert",
537
562
  "warning-list-header-start-time": "Starttid",
538
563
  "warning-list-header-end-time": "Sluttid",
539
564
  "warning-list-header-domain": "Domene",
565
+ "warning-list-header-domains": "Domener",
540
566
  "warning-list-header-phenomenon": "Fenomen",
541
- "warning-list-header-level": "Level",
567
+ "warning-list-header-phenomena": "Fenomener",
568
+ "warning-list-header-level": "Grad",
569
+ "warning-list-header-levels": "Grad",
542
570
  "warning-list-header-status": "Status",
543
571
  "warning-list-header-draft": "UTKAST",
544
572
  "area-object-loader-title": "Legg til områder og objekter",
@@ -562,7 +590,11 @@ var no = {
562
590
  "warning-dialog-expire-succes": "ikke oversatt",
563
591
  "warning-dialog-expire-title": "ikke oversatt",
564
592
  "warning-dialog-expire-confirm": "ikke oversatt",
565
- "warning-dialog-expire-description": "ikke oversatt"
593
+ "warning-dialog-expire-description": "ikke oversatt",
594
+ "warning-dialog-withdraw-succes": "ikke oversatt",
595
+ "warning-dialog-withdraw-title": "ikke oversatt",
596
+ "warning-dialog-withdraw-confirm": "ikke oversatt",
597
+ "warning-dialog-withdraw-description": "ikke oversatt"
566
598
  };
567
599
  var warningsTranslations = {
568
600
  en: en,
@@ -1690,43 +1722,43 @@ typeof SuppressedError === "function" ? SuppressedError : function (error, suppr
1690
1722
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
1691
1723
  };
1692
1724
 
1693
- /* *
1694
- * Licensed under the Apache License, Version 2.0 (the "License");
1695
- * you may not use this file except in compliance with the License.
1696
- * You may obtain a copy of the License at
1697
- *
1698
- * http://www.apache.org/licenses/LICENSE-2.0
1699
- *
1700
- * Unless required by applicable law or agreed to in writing, software
1701
- * distributed under the License is distributed on an "AS IS" BASIS,
1702
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1703
- * See the License for the specific language governing permissions and
1704
- * limitations under the License.
1705
- *
1706
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1707
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
1708
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1725
+ /* *
1726
+ * Licensed under the Apache License, Version 2.0 (the "License");
1727
+ * you may not use this file except in compliance with the License.
1728
+ * You may obtain a copy of the License at
1729
+ *
1730
+ * http://www.apache.org/licenses/LICENSE-2.0
1731
+ *
1732
+ * Unless required by applicable law or agreed to in writing, software
1733
+ * distributed under the License is distributed on an "AS IS" BASIS,
1734
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1735
+ * See the License for the specific language governing permissions and
1736
+ * limitations under the License.
1737
+ *
1738
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1739
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
1740
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1709
1741
  * */
1710
1742
  const objectDialogType = uiTypes.DialogTypes.ObjectManager;
1711
1743
  const drawingDialogType = uiTypes.DialogTypes.DrawingTool;
1712
1744
  const areaObjectLoaderType = uiTypes.DialogTypes.AreaObjectLoader;
1713
1745
 
1714
- /* *
1715
- * Licensed under the Apache License, Version 2.0 (the "License");
1716
- * you may not use this file except in compliance with the License.
1717
- * You may obtain a copy of the License at
1718
- *
1719
- * http://www.apache.org/licenses/LICENSE-2.0
1720
- *
1721
- * Unless required by applicable law or agreed to in writing, software
1722
- * distributed under the License is distributed on an "AS IS" BASIS,
1723
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1724
- * See the License for the specific language governing permissions and
1725
- * limitations under the License.
1726
- *
1727
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1728
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
1729
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1746
+ /* *
1747
+ * Licensed under the Apache License, Version 2.0 (the "License");
1748
+ * you may not use this file except in compliance with the License.
1749
+ * You may obtain a copy of the License at
1750
+ *
1751
+ * http://www.apache.org/licenses/LICENSE-2.0
1752
+ *
1753
+ * Unless required by applicable law or agreed to in writing, software
1754
+ * distributed under the License is distributed on an "AS IS" BASIS,
1755
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1756
+ * See the License for the specific language governing permissions and
1757
+ * limitations under the License.
1758
+ *
1759
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1760
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
1761
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1730
1762
  * */
1731
1763
  const drawAdapter = createEntityAdapter({
1732
1764
  selectId: draw => draw.drawingInstanceId
@@ -1808,22 +1840,22 @@ const {
1808
1840
  } = slice$2;
1809
1841
  const drawActions = slice$2.actions;
1810
1842
 
1811
- /* *
1812
- * Licensed under the Apache License, Version 2.0 (the "License");
1813
- * you may not use this file except in compliance with the License.
1814
- * You may obtain a copy of the License at
1815
- *
1816
- * http://www.apache.org/licenses/LICENSE-2.0
1817
- *
1818
- * Unless required by applicable law or agreed to in writing, software
1819
- * distributed under the License is distributed on an "AS IS" BASIS,
1820
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1821
- * See the License for the specific language governing permissions and
1822
- * limitations under the License.
1823
- *
1824
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1825
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
1826
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1843
+ /* *
1844
+ * Licensed under the Apache License, Version 2.0 (the "License");
1845
+ * you may not use this file except in compliance with the License.
1846
+ * You may obtain a copy of the License at
1847
+ *
1848
+ * http://www.apache.org/licenses/LICENSE-2.0
1849
+ *
1850
+ * Unless required by applicable law or agreed to in writing, software
1851
+ * distributed under the License is distributed on an "AS IS" BASIS,
1852
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1853
+ * See the License for the specific language governing permissions and
1854
+ * limitations under the License.
1855
+ *
1856
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1857
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
1858
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1827
1859
  * */
1828
1860
  const {
1829
1861
  selectById: selectDrawByInstanceId
@@ -1843,22 +1875,22 @@ const translateKeyOutsideComponents = (key, params = undefined) => i18n.t(key, O
1843
1875
  }, params));
1844
1876
  const useWarningsTranslation = () => useTranslation(ns);
1845
1877
 
1846
- /* *
1847
- * Licensed under the Apache License, Version 2.0 (the "License");
1848
- * you may not use this file except in compliance with the License.
1849
- * You may obtain a copy of the License at
1850
- *
1851
- * http://www.apache.org/licenses/LICENSE-2.0
1852
- *
1853
- * Unless required by applicable law or agreed to in writing, software
1854
- * distributed under the License is distributed on an "AS IS" BASIS,
1855
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1856
- * See the License for the specific language governing permissions and
1857
- * limitations under the License.
1858
- *
1859
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1860
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
1861
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1878
+ /* *
1879
+ * Licensed under the Apache License, Version 2.0 (the "License");
1880
+ * you may not use this file except in compliance with the License.
1881
+ * You may obtain a copy of the License at
1882
+ *
1883
+ * http://www.apache.org/licenses/LICENSE-2.0
1884
+ *
1885
+ * Unless required by applicable law or agreed to in writing, software
1886
+ * distributed under the License is distributed on an "AS IS" BASIS,
1887
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1888
+ * See the License for the specific language governing permissions and
1889
+ * limitations under the License.
1890
+ *
1891
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
1892
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
1893
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
1862
1894
  * */
1863
1895
  const confirmationDialogOptions = t => {
1864
1896
  return {
@@ -2783,22 +2815,22 @@ $$g({ target: 'Array', proto: true, arity: 1, forced: FORCED$4 }, {
2783
2815
  }
2784
2816
  });
2785
2817
 
2786
- /* *
2787
- * Licensed under the Apache License, Version 2.0 (the "License");
2788
- * you may not use this file except in compliance with the License.
2789
- * You may obtain a copy of the License at
2790
- *
2791
- * http://www.apache.org/licenses/LICENSE-2.0
2792
- *
2793
- * Unless required by applicable law or agreed to in writing, software
2794
- * distributed under the License is distributed on an "AS IS" BASIS,
2795
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2796
- * See the License for the specific language governing permissions and
2797
- * limitations under the License.
2798
- *
2799
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2800
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
2801
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2818
+ /* *
2819
+ * Licensed under the Apache License, Version 2.0 (the "License");
2820
+ * you may not use this file except in compliance with the License.
2821
+ * You may obtain a copy of the License at
2822
+ *
2823
+ * http://www.apache.org/licenses/LICENSE-2.0
2824
+ *
2825
+ * Unless required by applicable law or agreed to in writing, software
2826
+ * distributed under the License is distributed on an "AS IS" BASIS,
2827
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2828
+ * See the License for the specific language governing permissions and
2829
+ * limitations under the License.
2830
+ *
2831
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2832
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
2833
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
2802
2834
  * */
2803
2835
  const DATE_FORMAT_HEADER = 'EEEE, MMMM dd';
2804
2836
 
@@ -2959,12 +2991,11 @@ const Objects = ({
2959
2991
  children: jsx(ListItem, Object.assign({
2960
2992
  style: style,
2961
2993
  disablePadding: true,
2962
- secondaryAction: jsxs(Grid, Object.assign({
2994
+ secondaryAction: jsxs(Grid2, Object.assign({
2963
2995
  container: true,
2964
2996
  rowSpacing: 1
2965
2997
  }, {
2966
- children: [jsx(Grid, Object.assign({
2967
- item: true,
2998
+ children: [jsx(Grid2, Object.assign({
2968
2999
  className: "objectActions"
2969
3000
  }, {
2970
3001
  children: jsx(ToggleMenu, {
@@ -2999,8 +3030,7 @@ const Objects = ({
2999
3030
  icon: jsx(ExitDomain, {})
3000
3031
  }]
3001
3032
  })
3002
- })), object.scope === 'user' && jsx(Grid, Object.assign({
3003
- item: true,
3033
+ })), object.scope === 'user' && jsx(Grid2, Object.assign({
3004
3034
  className: "objectActions"
3005
3035
  }, {
3006
3036
  children: jsx(ToggleMenu, {
@@ -3198,22 +3228,22 @@ const ObjectManager = ({
3198
3228
  }));
3199
3229
  };
3200
3230
 
3201
- /* *
3202
- * Licensed under the Apache License, Version 2.0 (the "License");
3203
- * you may not use this file except in compliance with the License.
3204
- * You may obtain a copy of the License at
3205
- *
3206
- * http://www.apache.org/licenses/LICENSE-2.0
3207
- *
3208
- * Unless required by applicable law or agreed to in writing, software
3209
- * distributed under the License is distributed on an "AS IS" BASIS,
3210
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3211
- * See the License for the specific language governing permissions and
3212
- * limitations under the License.
3213
- *
3214
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3215
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
3216
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
3231
+ /* *
3232
+ * Licensed under the Apache License, Version 2.0 (the "License");
3233
+ * you may not use this file except in compliance with the License.
3234
+ * You may obtain a copy of the License at
3235
+ *
3236
+ * http://www.apache.org/licenses/LICENSE-2.0
3237
+ *
3238
+ * Unless required by applicable law or agreed to in writing, software
3239
+ * distributed under the License is distributed on an "AS IS" BASIS,
3240
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3241
+ * See the License for the specific language governing permissions and
3242
+ * limitations under the License.
3243
+ *
3244
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3245
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
3246
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
3217
3247
  * */
3218
3248
  const API_NAME = 'warnings';
3219
3249
  const getIdFromUrl = url => {
@@ -3330,22 +3360,22 @@ const ConfirmDeleteDialog = ({
3330
3360
  }));
3331
3361
  };
3332
3362
 
3333
- /* *
3334
- * Licensed under the Apache License, Version 2.0 (the "License");
3335
- * you may not use this file except in compliance with the License.
3336
- * You may obtain a copy of the License at
3337
- *
3338
- * http://www.apache.org/licenses/LICENSE-2.0
3339
- *
3340
- * Unless required by applicable law or agreed to in writing, software
3341
- * distributed under the License is distributed on an "AS IS" BASIS,
3342
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3343
- * See the License for the specific language governing permissions and
3344
- * limitations under the License.
3345
- *
3346
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3347
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
3348
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
3363
+ /* *
3364
+ * Licensed under the Apache License, Version 2.0 (the "License");
3365
+ * you may not use this file except in compliance with the License.
3366
+ * You may obtain a copy of the License at
3367
+ *
3368
+ * http://www.apache.org/licenses/LICENSE-2.0
3369
+ *
3370
+ * Unless required by applicable law or agreed to in writing, software
3371
+ * distributed under the License is distributed on an "AS IS" BASIS,
3372
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3373
+ * See the License for the specific language governing permissions and
3374
+ * limitations under the License.
3375
+ *
3376
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3377
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
3378
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
3349
3379
  * */
3350
3380
  const publicWarningDialogType = uiTypes.DialogTypes.PublicWarnings;
3351
3381
 
@@ -3992,20 +4022,18 @@ const Phenomenon = ({
3992
4022
  children: warningFormPhenomena.map(phenomenon => jsx(MenuItem, Object.assign({
3993
4023
  value: phenomenon.key
3994
4024
  }, {
3995
- children: jsxs(Grid, Object.assign({
4025
+ children: jsxs(Grid2, Object.assign({
3996
4026
  container: true,
3997
4027
  justifyContent: "space-between"
3998
4028
  }, {
3999
- children: [jsx(Grid, Object.assign({
4000
- item: true
4001
- }, {
4029
+ children: [jsx(Grid2, {
4002
4030
  children: t(phenomenon.translationKey)
4003
- })), jsx(Grid, Object.assign({
4004
- item: true
4031
+ }), jsx(Grid2, Object.assign({
4032
+ sx: {
4033
+ minWidth: 56
4034
+ }
4005
4035
  }, {
4006
- children: jsx(ListItemIcon, {
4007
- children: getPhenomenaIcon(phenomenon.key)
4008
- })
4036
+ children: getPhenomenaIcon(phenomenon.key)
4009
4037
  }))]
4010
4038
  }))
4011
4039
  }), phenomenon.key))
@@ -4021,15 +4049,18 @@ var WarningLevel;
4021
4049
  const LevelColors = {
4022
4050
  moderate: {
4023
4051
  color: '#FAE21E',
4024
- textColor: '#051039'
4052
+ textColor: '#051039',
4053
+ borderColor: '#FBFE02'
4025
4054
  },
4026
4055
  severe: {
4027
4056
  color: '#E27000',
4028
- textColor: '#051039'
4057
+ textColor: '#051039',
4058
+ borderColor: '#FEAE02'
4029
4059
  },
4030
4060
  extreme: {
4031
4061
  color: '#D62A20',
4032
- textColor: '#ffffff'
4062
+ textColor: '#ffffff',
4063
+ borderColor: '#FF0000'
4033
4064
  }
4034
4065
  };
4035
4066
  const getLevelStyle = levelColor => ({
@@ -4038,7 +4069,8 @@ const getLevelStyle = levelColor => ({
4038
4069
  paddingLeft: 0.5,
4039
4070
  paddingRight: 0.5,
4040
4071
  paddingBottom: '1px',
4041
- marginLeft: -0.5
4072
+ marginLeft: -0.5,
4073
+ border: levelColor ? `solid 1px ${levelColor.borderColor}` : 'none'
4042
4074
  });
4043
4075
  const levelOptions = [Object.assign({
4044
4076
  translationKey: 'warning-level-moderate',
@@ -4338,22 +4370,22 @@ const {
4338
4370
  } = slice$1;
4339
4371
  const publicWarningActions = slice$1.actions;
4340
4372
 
4341
- /* *
4342
- * Licensed under the Apache License, Version 2.0 (the "License");
4343
- * you may not use this file except in compliance with the License.
4344
- * You may obtain a copy of the License at
4345
- *
4346
- * http://www.apache.org/licenses/LICENSE-2.0
4347
- *
4348
- * Unless required by applicable law or agreed to in writing, software
4349
- * distributed under the License is distributed on an "AS IS" BASIS,
4350
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4351
- * See the License for the specific language governing permissions and
4352
- * limitations under the License.
4353
- *
4354
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4355
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
4356
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
4373
+ /* *
4374
+ * Licensed under the Apache License, Version 2.0 (the "License");
4375
+ * you may not use this file except in compliance with the License.
4376
+ * You may obtain a copy of the License at
4377
+ *
4378
+ * http://www.apache.org/licenses/LICENSE-2.0
4379
+ *
4380
+ * Unless required by applicable law or agreed to in writing, software
4381
+ * distributed under the License is distributed on an "AS IS" BASIS,
4382
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4383
+ * See the License for the specific language governing permissions and
4384
+ * limitations under the License.
4385
+ *
4386
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4387
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
4388
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
4357
4389
  * */
4358
4390
  const TAKEOVER_MESSAGE = 'You are no longer the editor of this warning';
4359
4391
  const initialState = {};
@@ -4583,6 +4615,7 @@ const ObjectManagerConnect = ({
4583
4615
  };
4584
4616
  const openSnackbar = message => {
4585
4617
  dispatch(snackbarActions.openSnackbar({
4618
+ type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
4586
4619
  message
4587
4620
  }));
4588
4621
  };
@@ -9780,6 +9813,62 @@ var warningListJSON = [
9780
9813
  descriptionTranslation: "windy"
9781
9814
  }
9782
9815
  },
9816
+ {
9817
+ id: "3f756602-937d-11ee-a1bf-4k3k3k",
9818
+ lastUpdatedTime: "2023-12-05T16:47:43Z",
9819
+ status: "WITHDRAWN",
9820
+ warningDetail: {
9821
+ phenomenon: "thunderstorm",
9822
+ areas: [
9823
+ {
9824
+ objectName: "test name",
9825
+ geoJSON: {
9826
+ type: "FeatureCollection",
9827
+ features: [
9828
+ {
9829
+ type: "Feature",
9830
+ geometry: {
9831
+ type: "Polygon",
9832
+ coordinates: [
9833
+ [
9834
+ [
9835
+ 5.0950448864466225,
9836
+ 53.492000941975654
9837
+ ],
9838
+ [
9839
+ 4.280148780801422,
9840
+ 52.46455621916433
9841
+ ],
9842
+ [
9843
+ 6.878229305858475,
9844
+ 52.98133263853793
9845
+ ],
9846
+ [
9847
+ 5.0950448864466225,
9848
+ 53.492000941975654
9849
+ ]
9850
+ ]
9851
+ ]
9852
+ },
9853
+ properties: {
9854
+ fill: "#ff7800",
9855
+ stroke: "#ff7800",
9856
+ "fill-opacity": 0.2,
9857
+ "stroke-width": 2,
9858
+ selectionType: "poly",
9859
+ "stroke-opacity": 1
9860
+ }
9861
+ }
9862
+ ]
9863
+ }
9864
+ }
9865
+ ],
9866
+ validFrom: "2023-12-07T14:47:34Z",
9867
+ validUntil: "2023-12-09T20:47:34Z",
9868
+ level: "moderate",
9869
+ probability: 50
9870
+ }
9871
+ },
9783
9872
  {
9784
9873
  id: "4b94edb8-937d-11ee-b619-0ab3cf8a98c1",
9785
9874
  lastUpdatedTime: "2023-12-05T14:48:04Z",
@@ -9894,22 +9983,22 @@ var warningListJSON = [
9894
9983
  }
9895
9984
  ];
9896
9985
 
9897
- /* *
9898
- * Licensed under the Apache License, Version 2.0 (the "License");
9899
- * you may not use this file except in compliance with the License.
9900
- * You may obtain a copy of the License at
9901
- *
9902
- * http://www.apache.org/licenses/LICENSE-2.0
9903
- *
9904
- * Unless required by applicable law or agreed to in writing, software
9905
- * distributed under the License is distributed on an "AS IS" BASIS,
9906
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9907
- * See the License for the specific language governing permissions and
9908
- * limitations under the License.
9909
- *
9910
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9911
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
9912
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
9986
+ /* *
9987
+ * Licensed under the Apache License, Version 2.0 (the "License");
9988
+ * you may not use this file except in compliance with the License.
9989
+ * You may obtain a copy of the License at
9990
+ *
9991
+ * http://www.apache.org/licenses/LICENSE-2.0
9992
+ *
9993
+ * Unless required by applicable law or agreed to in writing, software
9994
+ * distributed under the License is distributed on an "AS IS" BASIS,
9995
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9996
+ * See the License for the specific language governing permissions and
9997
+ * limitations under the License.
9998
+ *
9999
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10000
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10001
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
9913
10002
  * */
9914
10003
  const drawingList = drawingListJSON;
9915
10004
  const drawingsListFullContent = drawingsListFullContentJSON;
@@ -10190,22 +10279,22 @@ $$8({ global: true, forced: parseInt !== $parseInt }, {
10190
10279
  parseInt: $parseInt
10191
10280
  });
10192
10281
 
10193
- /* *
10194
- * Licensed under the Apache License, Version 2.0 (the "License");
10195
- * you may not use this file except in compliance with the License.
10196
- * You may obtain a copy of the License at
10197
- *
10198
- * http://www.apache.org/licenses/LICENSE-2.0
10199
- *
10200
- * Unless required by applicable law or agreed to in writing, software
10201
- * distributed under the License is distributed on an "AS IS" BASIS,
10202
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10203
- * See the License for the specific language governing permissions and
10204
- * limitations under the License.
10205
- *
10206
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10207
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
10208
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
10282
+ /* *
10283
+ * Licensed under the Apache License, Version 2.0 (the "License");
10284
+ * you may not use this file except in compliance with the License.
10285
+ * You may obtain a copy of the License at
10286
+ *
10287
+ * http://www.apache.org/licenses/LICENSE-2.0
10288
+ *
10289
+ * Unless required by applicable law or agreed to in writing, software
10290
+ * distributed under the License is distributed on an "AS IS" BASIS,
10291
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10292
+ * See the License for the specific language governing permissions and
10293
+ * limitations under the License.
10294
+ *
10295
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10296
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10297
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
10209
10298
  * */
10210
10299
  const useFormDirty = ({
10211
10300
  isDirty,
@@ -10268,28 +10357,23 @@ const DrawingToolFormContentsNoMemo = ({
10268
10357
  title: dialogError,
10269
10358
  shouldClose: true
10270
10359
  })
10271
- })), jsxs(Grid, Object.assign({
10360
+ })), jsxs(Grid2, Object.assign({
10272
10361
  "data-testid": "drawingToolForm",
10273
10362
  container: true,
10274
10363
  direction: "column",
10275
10364
  spacing: 1,
10276
10365
  padding: 2
10277
10366
  }, {
10278
- children: [jsx(Grid, Object.assign({
10279
- item: true
10280
- }, {
10367
+ children: [jsx(Grid2, {
10281
10368
  children: jsx(Typography, Object.assign({
10282
10369
  variant: "body2"
10283
10370
  }, {
10284
10371
  children: t('drawing-tool-form-tools')
10285
10372
  }))
10286
- })), jsx(Grid, Object.assign({
10287
- item: true,
10373
+ }), jsx(Grid2, Object.assign({
10288
10374
  container: true
10289
10375
  }, {
10290
- children: jsxs(Grid, Object.assign({
10291
- item: true
10292
- }, {
10376
+ children: jsxs(Grid2, {
10293
10377
  children: [drawModes.map(mode => jsx(CustomIconButton, Object.assign({
10294
10378
  variant: "tool",
10295
10379
  tooltipTitle: mode.title,
@@ -10331,15 +10415,16 @@ const DrawingToolFormContentsNoMemo = ({
10331
10415
  }
10332
10416
  }
10333
10417
  })]
10334
- }))
10335
- })), jsx(Grid, Object.assign({
10336
- item: true,
10337
- container: true
10418
+ })
10419
+ })), jsx(Grid2, Object.assign({
10420
+ container: true,
10421
+ size: "grow"
10338
10422
  }, {
10339
- children: jsx(Grid, Object.assign({
10340
- item: true,
10341
- xs: 12,
10342
- sm: 6
10423
+ children: jsx(Grid2, Object.assign({
10424
+ size: {
10425
+ xs: 12,
10426
+ sm: 6
10427
+ }
10343
10428
  }, {
10344
10429
  children: jsx(ReactHookFormSelect, Object.assign({
10345
10430
  name: "opacity",
@@ -10359,9 +10444,7 @@ const DrawingToolFormContentsNoMemo = ({
10359
10444
  }), opacity))
10360
10445
  }))
10361
10446
  }))
10362
- })), jsxs(Grid, Object.assign({
10363
- item: true
10364
- }, {
10447
+ })), jsxs(Grid2, {
10365
10448
  children: [jsx(ReactHookFormTextField, {
10366
10449
  name: "objectName",
10367
10450
  label: t('drawing-tool-form-object-name'),
@@ -10375,7 +10458,7 @@ const DrawingToolFormContentsNoMemo = ({
10375
10458
  }), jsx(ReactHookFormHiddenInput, {
10376
10459
  name: "id"
10377
10460
  })]
10378
- }))]
10461
+ })]
10379
10462
  }))]
10380
10463
  })), jsx(Box, Object.assign({
10381
10464
  sx: {
@@ -11426,22 +11509,24 @@ const ContainerFormWrapper = styled('div')(({
11426
11509
  height: 'calc(100% - 88px)'
11427
11510
  }
11428
11511
  }));
11512
+ const sm6Width = 'calc(100% * 6 / var(--Grid-columns) - (var(--Grid-columns) - 6) * (var(--Grid-columnSpacing) / var(--Grid-columns)))';
11513
+ const sm4Width = 'calc(100% * 4 / var(--Grid-columns) - (var(--Grid-columns) - 4) * (var(--Grid-columnSpacing) / var(--Grid-columns)))';
11429
11514
  const ContainerGrid = styled('div')(({
11430
11515
  theme
11431
11516
  }) => ({
11432
11517
  backgroundColor: theme.palette.background.paper,
11433
- '.MuiGrid-grid-sm-6, .MuiGrid-grid-sm-4': {
11518
+ '.MuiGrid2-grid-sm-6, .MuiGrid2-grid-sm-4': {
11434
11519
  width: '100%',
11435
11520
  minWidth: '100%'
11436
11521
  },
11437
11522
  [containerQueryBreakpoint]: {
11438
- '.MuiGrid-grid-sm-6': {
11439
- width: '50%',
11440
- minWidth: '50%'
11523
+ '.MuiGrid2-grid-sm-6': {
11524
+ width: sm6Width,
11525
+ minWidth: sm6Width
11441
11526
  },
11442
- '.MuiGrid-grid-sm-4': {
11443
- width: '33.33%',
11444
- minWidth: '33.33%'
11527
+ '.MuiGrid2-grid-sm-4': {
11528
+ width: sm4Width,
11529
+ minWidth: sm4Width
11445
11530
  }
11446
11531
  }
11447
11532
  }));
@@ -11610,108 +11695,104 @@ const Form = ({
11610
11695
  shouldClose: true,
11611
11696
  severity: _error === null || _error === void 0 ? void 0 : _error.severity
11612
11697
  })
11613
- })), jsxs(Grid, Object.assign({
11698
+ })), jsxs(Grid2, Object.assign({
11699
+ size: {
11700
+ xs: 12
11701
+ },
11614
11702
  container: true,
11615
- rowSpacing: 2
11703
+ rowSpacing: 2,
11704
+ columnSpacing: 2
11616
11705
  }, {
11617
- children: [jsx(Grid, Object.assign({
11618
- item: true,
11619
- xs: 12
11706
+ children: [jsx(Grid2, Object.assign({
11707
+ size: {
11708
+ xs: 12
11709
+ }
11620
11710
  }, {
11621
11711
  children: jsx(Phenomenon, {
11622
11712
  isDisabled: areFieldsDisabled,
11623
11713
  isReadOnly: _isReadOnly2
11624
11714
  })
11625
- })), jsx(Grid, Object.assign({
11626
- item: true,
11627
- xs: 12
11628
- }, {
11629
- children: jsx(Grid, Object.assign({
11630
- item: true,
11715
+ })), jsx(Grid2, Object.assign({
11716
+ size: {
11631
11717
  xs: 12
11632
- }, {
11633
- children: jsx(AreaField, {
11634
- onEditObject: () => {},
11635
- onViewObject: () => {},
11636
- onDeleteObject: () => {},
11637
- onAddObject: _onAddObject,
11638
- isDisabled: areFieldsDisabled || _isReadOnly2
11639
- })
11640
- }))
11641
- })), jsx(Grid, Object.assign({
11642
- item: true,
11643
- xs: 12,
11644
- container: true
11718
+ }
11645
11719
  }, {
11646
- children: jsx(Grid, Object.assign({
11647
- item: true,
11720
+ children: jsx(AreaField, {
11721
+ onEditObject: () => {},
11722
+ onViewObject: () => {},
11723
+ onDeleteObject: () => {},
11724
+ onAddObject: _onAddObject,
11725
+ isDisabled: areFieldsDisabled || _isReadOnly2
11726
+ })
11727
+ })), jsx(Grid2, Object.assign({
11728
+ size: {
11648
11729
  xs: 12
11649
- }, {
11650
- children: jsx(WarningsMapView, {
11651
- geojsonFeature: geoJSONFeature,
11652
- defaultBbox: defaultBbox,
11653
- isSnapshot: _isSnapshot
11654
- })
11655
- }))
11656
- })), jsxs(Grid, Object.assign({
11657
- item: true,
11658
- xs: 12,
11659
- container: true,
11660
- spacing: 2
11730
+ }
11661
11731
  }, {
11662
- children: [jsx(Grid, Object.assign({
11663
- item: true,
11732
+ children: jsx(WarningsMapView, {
11733
+ geojsonFeature: geoJSONFeature,
11734
+ defaultBbox: defaultBbox,
11735
+ isSnapshot: _isSnapshot
11736
+ })
11737
+ })), jsx(Grid2, Object.assign({
11738
+ size: {
11664
11739
  xs: 12,
11665
11740
  sm: 6
11666
- }, {
11667
- children: jsx(ValidFrom, {
11668
- isDisabled: areFieldsDisabled,
11669
- isReadOnly: _isReadOnly2
11670
- })
11671
- })), jsx(Grid, Object.assign({
11672
- item: true,
11741
+ }
11742
+ }, {
11743
+ children: jsx(ValidFrom, {
11744
+ isDisabled: areFieldsDisabled,
11745
+ isReadOnly: _isReadOnly2
11746
+ })
11747
+ })), jsx(Grid2, Object.assign({
11748
+ size: {
11673
11749
  xs: 12,
11674
11750
  sm: 6
11675
- }, {
11676
- children: jsx(ValidUntil, {
11677
- isDisabled: areFieldsDisabled,
11678
- isReadOnly: _isReadOnly2
11679
- })
11680
- }))]
11681
- })), jsxs(Grid, Object.assign({
11682
- item: true,
11683
- xs: 12,
11751
+ }
11752
+ }, {
11753
+ children: jsx(ValidUntil, {
11754
+ isDisabled: areFieldsDisabled,
11755
+ isReadOnly: _isReadOnly2
11756
+ })
11757
+ })), jsxs(Grid2, Object.assign({
11758
+ size: {
11759
+ xs: 12
11760
+ },
11684
11761
  container: true,
11685
11762
  spacing: 2
11686
11763
  }, {
11687
- children: [jsx(Grid, Object.assign({
11688
- item: true,
11689
- xs: 12,
11690
- sm: 6
11764
+ children: [jsx(Grid2, Object.assign({
11765
+ size: {
11766
+ xs: 12,
11767
+ sm: 6
11768
+ }
11691
11769
  }, {
11692
11770
  children: jsx(LevelField, {
11693
11771
  isDisabled: areFieldsDisabled,
11694
11772
  isReadOnly: _isReadOnly2
11695
11773
  })
11696
- })), jsx(Grid, Object.assign({
11697
- item: true,
11698
- xs: 12,
11699
- sm: 6
11774
+ })), jsx(Grid2, Object.assign({
11775
+ size: {
11776
+ xs: 12,
11777
+ sm: 6
11778
+ }
11700
11779
  }, {
11701
11780
  children: jsx(ProbabilityField, {
11702
11781
  isDisabled: areFieldsDisabled,
11703
11782
  isReadOnly: _isReadOnly2
11704
11783
  })
11705
11784
  }))]
11706
- })), jsx(Grid, Object.assign({
11707
- item: true,
11708
- xs: 12,
11785
+ })), jsx(Grid2, Object.assign({
11786
+ size: {
11787
+ xs: 12
11788
+ },
11709
11789
  container: true,
11710
11790
  spacing: 2
11711
11791
  }, {
11712
- children: jsx(Grid, Object.assign({
11713
- item: true,
11714
- xs: 12
11792
+ children: jsx(Grid2, Object.assign({
11793
+ size: {
11794
+ xs: 12
11795
+ }
11715
11796
  }, {
11716
11797
  children: jsx(DescriptionField, {
11717
11798
  isDisabled: areFieldsDisabled,
@@ -11735,14 +11816,15 @@ const Form = ({
11735
11816
  }
11736
11817
  }, {
11737
11818
  children: jsx(ContainerGrid, {
11738
- children: jsxs(Grid, Object.assign({
11819
+ children: jsxs(Grid2, Object.assign({
11739
11820
  container: true,
11740
11821
  spacing: 2
11741
11822
  }, {
11742
- children: [jsx(Grid, Object.assign({
11743
- item: true,
11744
- xs: 12,
11745
- sm: 4
11823
+ children: [jsx(Grid2, Object.assign({
11824
+ size: {
11825
+ xs: 12,
11826
+ sm: 4
11827
+ }
11746
11828
  }, {
11747
11829
  children: jsx(Button, Object.assign({
11748
11830
  variant: "tertiary",
@@ -11755,10 +11837,11 @@ const Form = ({
11755
11837
  }, {
11756
11838
  children: t('warning-button-clear')
11757
11839
  }))
11758
- })), jsx(Grid, Object.assign({
11759
- item: true,
11760
- xs: 12,
11761
- sm: 4
11840
+ })), jsx(Grid2, Object.assign({
11841
+ size: {
11842
+ xs: 12,
11843
+ sm: 4
11844
+ }
11762
11845
  }, {
11763
11846
  children: jsx(Button, Object.assign({
11764
11847
  variant: "tertiary",
@@ -11781,10 +11864,11 @@ const Form = ({
11781
11864
  })]
11782
11865
  }))
11783
11866
  }))
11784
- })), jsx(Grid, Object.assign({
11785
- item: true,
11786
- xs: 12,
11787
- sm: 4
11867
+ })), jsx(Grid2, Object.assign({
11868
+ size: {
11869
+ xs: 12,
11870
+ sm: 4
11871
+ }
11788
11872
  }, {
11789
11873
  children: jsx(Button, Object.assign({
11790
11874
  variant: "primary",
@@ -11828,22 +11912,22 @@ const PublicWarningsForm = props => {
11828
11912
  }));
11829
11913
  };
11830
11914
 
11831
- /* *
11832
- * Licensed under the Apache License, Version 2.0 (the "License");
11833
- * you may not use this file except in compliance with the License.
11834
- * You may obtain a copy of the License at
11835
- *
11836
- * http://www.apache.org/licenses/LICENSE-2.0
11837
- *
11838
- * Unless required by applicable law or agreed to in writing, software
11839
- * distributed under the License is distributed on an "AS IS" BASIS,
11840
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11841
- * See the License for the specific language governing permissions and
11842
- * limitations under the License.
11843
- *
11844
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11845
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
11846
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
11915
+ /* *
11916
+ * Licensed under the Apache License, Version 2.0 (the "License");
11917
+ * you may not use this file except in compliance with the License.
11918
+ * You may obtain a copy of the License at
11919
+ *
11920
+ * http://www.apache.org/licenses/LICENSE-2.0
11921
+ *
11922
+ * Unless required by applicable law or agreed to in writing, software
11923
+ * distributed under the License is distributed on an "AS IS" BASIS,
11924
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11925
+ * See the License for the specific language governing permissions and
11926
+ * limitations under the License.
11927
+ *
11928
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11929
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
11930
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
11847
11931
  * */
11848
11932
  const getPublicWarningStore = store => {
11849
11933
  if (store && store.publicWarningForm) {
@@ -11874,22 +11958,22 @@ const getPublicWarningFormError = createSelector(getPublicWarningStore, publicWa
11874
11958
  const getSelectedPublicWarningId = createSelector(getPublicWarningStore, publicWarningStore => (publicWarningStore === null || publicWarningStore === void 0 ? void 0 : publicWarningStore.selectedPublicWarningId) || '');
11875
11959
  const getSelectedPublicIsFormDirty = createSelector(getPublicWarningStore, publicWarningStore => (publicWarningStore === null || publicWarningStore === void 0 ? void 0 : publicWarningStore.isFormDirty) || false);
11876
11960
 
11877
- /* *
11878
- * Licensed under the Apache License, Version 2.0 (the "License");
11879
- * you may not use this file except in compliance with the License.
11880
- * You may obtain a copy of the License at
11881
- *
11882
- * http://www.apache.org/licenses/LICENSE-2.0
11883
- *
11884
- * Unless required by applicable law or agreed to in writing, software
11885
- * distributed under the License is distributed on an "AS IS" BASIS,
11886
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11887
- * See the License for the specific language governing permissions and
11888
- * limitations under the License.
11889
- *
11890
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11891
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
11892
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
11961
+ /* *
11962
+ * Licensed under the Apache License, Version 2.0 (the "License");
11963
+ * you may not use this file except in compliance with the License.
11964
+ * You may obtain a copy of the License at
11965
+ *
11966
+ * http://www.apache.org/licenses/LICENSE-2.0
11967
+ *
11968
+ * Unless required by applicable law or agreed to in writing, software
11969
+ * distributed under the License is distributed on an "AS IS" BASIS,
11970
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11971
+ * See the License for the specific language governing permissions and
11972
+ * limitations under the License.
11973
+ *
11974
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11975
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
11976
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
11893
11977
  * */
11894
11978
  var PublicWarningStatus;
11895
11979
  (function (PublicWarningStatus) {
@@ -11899,6 +11983,7 @@ var PublicWarningStatus;
11899
11983
  PublicWarningStatus["TODO"] = "TODO";
11900
11984
  PublicWarningStatus["EXPIRED"] = "EXPIRED";
11901
11985
  PublicWarningStatus["IGNORED"] = "IGNORED";
11986
+ PublicWarningStatus["WITHDRAWN"] = "WITHDRAWN";
11902
11987
  })(PublicWarningStatus || (PublicWarningStatus = {}));
11903
11988
 
11904
11989
  const PublicWarningsFormConnect = ({
@@ -13737,7 +13822,7 @@ const PublicWarningsFormDialogConnect = ({
13737
13822
  };
13738
13823
 
13739
13824
  const actionButton = amount => {
13740
- return jsxs(Grid, Object.assign({
13825
+ return jsxs(Grid2, Object.assign({
13741
13826
  container: true,
13742
13827
  alignItems: "center",
13743
13828
  style: {
@@ -13885,7 +13970,7 @@ const FilterChipWithOptions = ({
13885
13970
  padding: '0px 24px 16px 24px'
13886
13971
  }
13887
13972
  }, {
13888
- children: [jsxs(Grid, Object.assign({
13973
+ children: [jsxs(Grid2, Object.assign({
13889
13974
  container: true,
13890
13975
  justifyContent: "space-between",
13891
13976
  alignItems: "center"
@@ -14113,98 +14198,6 @@ const WarningListItemSeperator = _a => {
14113
14198
  }));
14114
14199
  };
14115
14200
 
14116
- /* *
14117
- * Licensed under the Apache License, Version 2.0 (the "License");
14118
- * you may not use this file except in compliance with the License.
14119
- * You may obtain a copy of the License at
14120
- *
14121
- * http://www.apache.org/licenses/LICENSE-2.0
14122
- *
14123
- * Unless required by applicable law or agreed to in writing, software
14124
- * distributed under the License is distributed on an "AS IS" BASIS,
14125
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14126
- * See the License for the specific language governing permissions and
14127
- * limitations under the License.
14128
- *
14129
- * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
14130
- * Copyright 2024 - Finnish Meteorological Institute (FMI)
14131
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
14132
- * */
14133
- const transformAirmetToWarningFormat = apiAirmet => {
14134
- const airmet = apiAirmet.airmet;
14135
- return {
14136
- id: apiAirmet.uuid,
14137
- lastUpdatedTime: apiAirmet.lastUpdateDate,
14138
- productStatus: airmet.status,
14139
- warningDetail: {
14140
- descriptionOriginal: '',
14141
- descriptionTranslation: '',
14142
- areas: [{
14143
- geoJSON: airmet.startGeometry,
14144
- objectName: airmet.locationIndicatorATSR
14145
- }],
14146
- phenomenon: airmet.phenomenon,
14147
- validFrom: airmet.validDateStart,
14148
- validUntil: airmet.validDateEnd,
14149
- level: 'AIR',
14150
- probability: 0,
14151
- incident: airmet.sequence
14152
- }
14153
- };
14154
- };
14155
- const transformSigmetToWarningFormat = apiSigmet => {
14156
- const sigmet = apiSigmet.sigmet;
14157
- return {
14158
- id: apiSigmet.uuid,
14159
- lastUpdatedTime: apiSigmet.lastUpdateDate,
14160
- productStatus: sigmet.status,
14161
- warningDetail: {
14162
- descriptionOriginal: '',
14163
- descriptionTranslation: '',
14164
- areas: [{
14165
- geoJSON: sigmet.startGeometry,
14166
- objectName: sigmet.locationIndicatorATSR
14167
- }],
14168
- phenomenon: sigmet.phenomenon,
14169
- validFrom: sigmet.validDateStart,
14170
- validUntil: sigmet.validDateEnd,
14171
- level: 'SIG',
14172
- probability: 0,
14173
- incident: sigmet.sequence
14174
- }
14175
- };
14176
- };
14177
- const mapProductStatusToWarningStatus = productStatus => {
14178
- switch (productStatus) {
14179
- case ProductStatus.PUBLISHED:
14180
- return PublicWarningStatus.PUBLISHED;
14181
- case ProductStatus.DRAFT:
14182
- return PublicWarningStatus.DRAFT;
14183
- case ProductStatus.CANCELLED:
14184
- case ProductStatus.EXPIRED:
14185
- case ProductStatus.DISCARDED:
14186
- default:
14187
- return PublicWarningStatus.EXPIRED;
14188
- }
14189
- };
14190
-
14191
- function useOverflowCheck(text) {
14192
- const ref = React__default.useRef(null);
14193
- const [isOverflowing, setIsOverflowing] = React__default.useState(false);
14194
- React__default.useEffect(() => {
14195
- const checkOverflow = () => {
14196
- if (ref.current) {
14197
- setIsOverflowing(ref.current.scrollWidth > ref.current.clientWidth);
14198
- }
14199
- };
14200
- checkOverflow();
14201
- }, [text]);
14202
- return {
14203
- ref,
14204
- isOverflowing
14205
- };
14206
- }
14207
-
14208
14201
  const getSortedStatus = status => {
14209
14202
  switch (status) {
14210
14203
  case 'DRAFT_PUBLISHED':
@@ -14256,49 +14249,23 @@ const getWarningWithProposalId = warning => {
14256
14249
  })
14257
14250
  });
14258
14251
  };
14259
- const getStatusIcon = warning => {
14260
- const getStatusTag = (content, color, icon = null) => jsx(StatusTag, {
14261
- content: content,
14262
- color: color,
14263
- sx: {
14264
- width: 'inherit',
14265
- height: '16px',
14266
- marginRight: 2
14267
- },
14268
- icon: icon
14269
- });
14270
- const status = warning.status || mapProductStatusToWarningStatus(warning.productStatus);
14271
- switch (status) {
14272
- case 'TODO':
14273
- return null;
14274
- case 'DRAFT':
14275
- return jsx(Box, Object.assign({
14276
- sx: {
14277
- height: '16px',
14278
- padding: '0px',
14279
- display: 'flex',
14280
- alignItems: 'center',
14281
- justifyContent: 'center',
14282
- color: 'geowebColors.iconButtons.flat.default.color'
14283
- }
14284
- }, {
14285
- children: jsx(Edit, {})
14286
- }));
14287
- case 'DRAFT_PUBLISHED':
14288
- return getStatusTag('Pub', 'green', jsx(Edit, {
14289
- sx: {
14290
- width: 20,
14291
- height: 20,
14292
- marginTop: '3px'
14293
- }
14294
- }));
14295
- case 'PUBLISHED':
14296
- return getStatusTag('Pub', 'green');
14297
- case 'EXPIRED':
14298
- default:
14299
- return getStatusTag('Exp', 'grey');
14300
- }
14301
- };
14252
+ function useOverflowCheck(text) {
14253
+ const ref = React__default.useRef(null);
14254
+ const [isOverflowing, setIsOverflowing] = React__default.useState(false);
14255
+ React__default.useEffect(() => {
14256
+ const checkOverflow = () => {
14257
+ if (ref.current) {
14258
+ setIsOverflowing(ref.current.scrollWidth > ref.current.clientWidth);
14259
+ }
14260
+ };
14261
+ checkOverflow();
14262
+ }, [text]);
14263
+ return {
14264
+ ref,
14265
+ isOverflowing
14266
+ };
14267
+ }
14268
+
14302
14269
  const WarningListColumnContent = _a => {
14303
14270
  var {
14304
14271
  title,
@@ -14307,9 +14274,7 @@ const WarningListColumnContent = _a => {
14307
14274
  width = 76
14308
14275
  } = _a,
14309
14276
  props = __rest(_a, ["title", "status", "children", "width"]);
14310
- return jsxs(Grid, Object.assign({
14311
- item: true
14312
- }, props, {
14277
+ return jsxs(Grid2, Object.assign({
14313
14278
  sx: Object.assign(Object.assign({}, props.sx), {
14314
14279
  width
14315
14280
  })
@@ -14322,7 +14287,7 @@ const WarningListColumnContent = _a => {
14322
14287
  fontSize: 10,
14323
14288
  lineHeight: 1.6,
14324
14289
  height: 12,
14325
- color: status === 'EXPIRED' ? 'geowebColors.typographyAndIcons.inactiveText' : 'geowebColors.captions.captionStatus.rgba',
14290
+ color: status === PublicWarningStatus.EXPIRED || status === PublicWarningStatus.WITHDRAWN ? 'geowebColors.typographyAndIcons.inactiveText' : 'geowebColors.captions.captionStatus.rgba',
14326
14291
  display: 'block',
14327
14292
  [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: {
14328
14293
  display: 'none'
@@ -14335,19 +14300,21 @@ const WarningListColumnContent = _a => {
14335
14300
  overflow: 'visible',
14336
14301
  fontSize: 12,
14337
14302
  lineHeight: 1.2,
14338
- color: status === 'EXPIRED' ? 'geowebColors.typographyAndIcons.inactiveText' : 'geowebColors.typographyAndIcons.text'
14303
+ color: status === PublicWarningStatus.EXPIRED || status === PublicWarningStatus.WITHDRAWN ? 'geowebColors.typographyAndIcons.inactiveText' : 'geowebColors.typographyAndIcons.text'
14339
14304
  }
14340
14305
  }, {
14341
14306
  children: children || '-'
14342
14307
  }))]
14343
14308
  }));
14344
14309
  };
14345
- const getMenuItems = ({
14310
+
14311
+ const WarningListItemMenu = ({
14346
14312
  warning,
14347
14313
  onEditWarning: _onEditWarning = () => {},
14348
14314
  onDeleteWarning: _onDeleteWarning = () => {},
14349
14315
  onDeleteReviewWarning: _onDeleteReviewWarning = () => {},
14350
14316
  onExpireWarning: _onExpireWarning = () => {},
14317
+ onWithdrawWarning: _onWithdrawWarning = () => {},
14351
14318
  t
14352
14319
  }) => {
14353
14320
  const duplicate = {
@@ -14358,7 +14325,7 @@ const getMenuItems = ({
14358
14325
  // disable Expire option if warning is not active
14359
14326
  const shouldDisableExpire = !dateUtils.isBetween(dateUtils.getNowUtc(), dateUtils.createDate(warning.warningDetail.validFrom), dateUtils.createDate(warning.warningDetail.validUntil), '[]');
14360
14327
  switch (warning.status) {
14361
- case 'PUBLISHED':
14328
+ case PublicWarningStatus.PUBLISHED:
14362
14329
  return [{
14363
14330
  text: t('warning-list-button-update'),
14364
14331
  action: () => _onEditWarning(getWarningWithLinkedToId(warning)),
@@ -14370,14 +14337,15 @@ const getMenuItems = ({
14370
14337
  isDisabled: shouldDisableExpire
14371
14338
  }, {
14372
14339
  text: t('warning-list-button-withdraw'),
14373
- action: () => null,
14340
+ action: () => _onWithdrawWarning(warning),
14374
14341
  icon: jsx(Remove, {}),
14375
- isDisabled: true
14342
+ isDisabled: false
14376
14343
  }];
14377
- case 'EXPIRED':
14344
+ case PublicWarningStatus.EXPIRED:
14345
+ case PublicWarningStatus.WITHDRAWN:
14378
14346
  return [duplicate];
14379
- case 'DRAFT':
14380
- case 'DRAFT_PUBLISHED':
14347
+ case PublicWarningStatus.DRAFT:
14348
+ case PublicWarningStatus.DRAFT_PUBLISHED:
14381
14349
  return [{
14382
14350
  text: t('object-manager-button-edit'),
14383
14351
  action: () => _onEditWarning(warning),
@@ -14387,7 +14355,7 @@ const getMenuItems = ({
14387
14355
  action: () => _onDeleteWarning(warning.id, warning.editor),
14388
14356
  icon: jsx(Delete, {})
14389
14357
  }];
14390
- case 'TODO':
14358
+ case PublicWarningStatus.TODO:
14391
14359
  return [{
14392
14360
  text: t('warning-list-button-use'),
14393
14361
  action: () => _onEditWarning(getWarningWithProposalId(warning)),
@@ -14401,19 +14369,162 @@ const getMenuItems = ({
14401
14369
  return [];
14402
14370
  }
14403
14371
  };
14372
+
14373
+ /* *
14374
+ * Licensed under the Apache License, Version 2.0 (the "License");
14375
+ * you may not use this file except in compliance with the License.
14376
+ * You may obtain a copy of the License at
14377
+ *
14378
+ * http://www.apache.org/licenses/LICENSE-2.0
14379
+ *
14380
+ * Unless required by applicable law or agreed to in writing, software
14381
+ * distributed under the License is distributed on an "AS IS" BASIS,
14382
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14383
+ * See the License for the specific language governing permissions and
14384
+ * limitations under the License.
14385
+ *
14386
+ * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
14387
+ * Copyright 2024 - Finnish Meteorological Institute (FMI)
14388
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
14389
+ * */
14390
+ const transformAirmetToWarningFormat = apiAirmet => {
14391
+ const airmet = apiAirmet.airmet;
14392
+ return {
14393
+ id: apiAirmet.uuid,
14394
+ lastUpdatedTime: apiAirmet.lastUpdateDate,
14395
+ productStatus: airmet.status,
14396
+ warningDetail: {
14397
+ descriptionOriginal: '',
14398
+ descriptionTranslation: '',
14399
+ areas: [{
14400
+ geoJSON: airmet.startGeometry,
14401
+ objectName: airmet.locationIndicatorATSR
14402
+ }],
14403
+ phenomenon: airmet.phenomenon,
14404
+ validFrom: airmet.validDateStart,
14405
+ validUntil: airmet.validDateEnd,
14406
+ level: 'AIR',
14407
+ probability: 0,
14408
+ incident: airmet.sequence
14409
+ }
14410
+ };
14411
+ };
14412
+ const transformSigmetToWarningFormat = apiSigmet => {
14413
+ const sigmet = apiSigmet.sigmet;
14414
+ return {
14415
+ id: apiSigmet.uuid,
14416
+ lastUpdatedTime: apiSigmet.lastUpdateDate,
14417
+ productStatus: sigmet.status,
14418
+ warningDetail: {
14419
+ descriptionOriginal: '',
14420
+ descriptionTranslation: '',
14421
+ areas: [{
14422
+ geoJSON: sigmet.startGeometry,
14423
+ objectName: sigmet.locationIndicatorATSR
14424
+ }],
14425
+ phenomenon: sigmet.phenomenon,
14426
+ validFrom: sigmet.validDateStart,
14427
+ validUntil: sigmet.validDateEnd,
14428
+ level: 'SIG',
14429
+ probability: 0,
14430
+ incident: sigmet.sequence
14431
+ }
14432
+ };
14433
+ };
14434
+ const mapProductStatusToWarningStatus = productStatus => {
14435
+ switch (productStatus) {
14436
+ case ProductStatus.PUBLISHED:
14437
+ return PublicWarningStatus.PUBLISHED;
14438
+ case ProductStatus.DRAFT:
14439
+ return PublicWarningStatus.DRAFT;
14440
+ case ProductStatus.CANCELLED:
14441
+ case ProductStatus.EXPIRED:
14442
+ case ProductStatus.DISCARDED:
14443
+ default:
14444
+ return PublicWarningStatus.EXPIRED;
14445
+ }
14446
+ };
14447
+
14448
+ const renderLevelText = levelString => {
14449
+ if (!levelString) {
14450
+ return null;
14451
+ }
14452
+ const firstLetter = levelString[0];
14453
+ const restLetters = levelString.slice(1, levelString.length);
14454
+ return jsxs(Box, {
14455
+ children: [jsx(Box, Object.assign({
14456
+ component: "span",
14457
+ sx: {
14458
+ textTransform: 'uppercase'
14459
+ }
14460
+ }, {
14461
+ children: firstLetter
14462
+ })), jsx(Box, Object.assign({
14463
+ className: "level-suffix",
14464
+ component: "span"
14465
+ }, {
14466
+ children: restLetters
14467
+ }))]
14468
+ });
14469
+ };
14470
+ const renderStatusIcon = status => {
14471
+ const getStatusTag = (content, color, icon = null) => jsx(StatusTag, {
14472
+ content: content,
14473
+ color: color,
14474
+ sx: {
14475
+ width: 'inherit',
14476
+ height: '16px',
14477
+ marginRight: 4
14478
+ },
14479
+ icon: icon
14480
+ });
14481
+ switch (status) {
14482
+ case PublicWarningStatus.TODO:
14483
+ return null;
14484
+ case PublicWarningStatus.DRAFT:
14485
+ return jsx(Box, Object.assign({
14486
+ sx: {
14487
+ height: '16px',
14488
+ padding: '0px',
14489
+ display: 'flex',
14490
+ alignItems: 'center',
14491
+ justifyContent: 'center',
14492
+ color: 'geowebColors.iconButtons.flat.default.color',
14493
+ marginRight: 2
14494
+ }
14495
+ }, {
14496
+ children: jsx(Edit, {})
14497
+ }));
14498
+ case PublicWarningStatus.DRAFT_PUBLISHED:
14499
+ return getStatusTag('Pub', 'green', jsx(Edit, {
14500
+ sx: {
14501
+ width: 20,
14502
+ height: 20,
14503
+ marginTop: '3px'
14504
+ }
14505
+ }));
14506
+ case PublicWarningStatus.PUBLISHED:
14507
+ return getStatusTag('Pub', 'green');
14508
+ case PublicWarningStatus.WITHDRAWN:
14509
+ return getStatusTag('Wdn', 'red');
14510
+ case PublicWarningStatus.EXPIRED:
14511
+ default:
14512
+ return getStatusTag('Exp', 'grey');
14513
+ }
14514
+ };
14404
14515
  const WarningListItem = _a => {
14405
14516
  var _b, _c;
14406
14517
  var {
14407
14518
  warning,
14408
- status,
14409
14519
  activeWarningId,
14410
14520
  onSelectWarning = () => {},
14411
14521
  onEditWarning = () => {},
14412
14522
  onDeleteWarning = () => {},
14413
14523
  onDeleteReviewWarning = () => {},
14414
- onExpireWarning = () => {}
14524
+ onExpireWarning = () => {},
14525
+ onWithdrawWarning = () => {}
14415
14526
  } = _a,
14416
- props = __rest(_a, ["warning", "status", "activeWarningId", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning"]);
14527
+ props = __rest(_a, ["warning", "activeWarningId", "onSelectWarning", "onEditWarning", "onDeleteWarning", "onDeleteReviewWarning", "onExpireWarning", "onWithdrawWarning"]);
14417
14528
  const {
14418
14529
  t
14419
14530
  } = useWarningsTranslation();
@@ -14429,13 +14540,21 @@ const WarningListItem = _a => {
14429
14540
  isOverflowing: isPhenomenonOverflowing
14430
14541
  } = useOverflowCheck(phenomenonText);
14431
14542
  const levelDetails = levelOptionsDict[warning.warningDetail.level];
14543
+ const status = warning.status || mapProductStatusToWarningStatus(warning.productStatus);
14544
+ const levelTranslation = levelDetails === null || levelDetails === void 0 ? void 0 : levelDetails.translationKey;
14545
+ const defaultLevelText = React__default.useMemo(() => {
14546
+ if (!levelTranslation) {
14547
+ return '-';
14548
+ }
14549
+ return t(levelTranslation);
14550
+ }, [levelTranslation, t]);
14432
14551
  return jsx(ListItem, Object.assign({
14433
14552
  sx: {
14434
14553
  marginBottom: 0.25,
14435
14554
  minHeight: '32px',
14436
14555
  padding: '0 0',
14437
- backgroundColor: status === 'EXPIRED' ? 'geowebColors.cards.cardContainerDisabled' : 'geowebColors.cards.cardContainer',
14438
- borderColor: status === 'EXPIRED' ? 'geowebColors.cards.cardContainerDisabledBorder' : 'geowebColors.cards.cardContainerBorder',
14556
+ backgroundColor: status === PublicWarningStatus.EXPIRED || status === PublicWarningStatus.WITHDRAWN ? 'geowebColors.cards.cardContainerDisabled' : 'geowebColors.cards.cardContainer',
14557
+ borderColor: status === PublicWarningStatus.EXPIRED || status === PublicWarningStatus.WITHDRAWN ? 'geowebColors.cards.cardContainerDisabledBorder' : 'geowebColors.cards.cardContainerBorder',
14439
14558
  borderRadius: 1,
14440
14559
  borderWidth: activeWarningId === warning.id ? '1px' : '1px',
14441
14560
  borderStyle: 'solid'
@@ -14445,13 +14564,14 @@ const WarningListItem = _a => {
14445
14564
  tooltipTitle: t('warning-list-button-options'),
14446
14565
  menuPosition: "bottom",
14447
14566
  "aria-label": t('warning-list-button-options'),
14448
- menuItems: getMenuItems({
14567
+ menuItems: WarningListItemMenu({
14449
14568
  warning,
14450
14569
  t,
14451
14570
  onEditWarning,
14452
14571
  onDeleteReviewWarning,
14453
14572
  onDeleteWarning,
14454
- onExpireWarning
14573
+ onExpireWarning,
14574
+ onWithdrawWarning
14455
14575
  }),
14456
14576
  buttonIcon: jsx(Options, {})
14457
14577
  }),
@@ -14474,19 +14594,17 @@ const WarningListItem = _a => {
14474
14594
  "aria-label": `warning item for ${warning.id}`,
14475
14595
  selected: activeWarningId === warning.id
14476
14596
  }, {
14477
- children: jsxs(Grid, Object.assign({
14597
+ children: jsxs(Grid2, Object.assign({
14478
14598
  className: "warning-list",
14479
14599
  container: true,
14480
- item: true,
14481
- xs: true,
14482
14600
  rowSpacing: 0,
14483
- columnSpacing: 2,
14484
- alignItems: "center"
14601
+ columnSpacing: 0,
14602
+ alignItems: "center",
14603
+ size: "grow"
14485
14604
  }, {
14486
14605
  children: [jsx(WarningListColumnContent, Object.assign({
14487
14606
  title: t('warning-list-header-incident'),
14488
- status: status,
14489
- width: 142
14607
+ status: status
14490
14608
  }, {
14491
14609
  children: warning.productStatus !== 'DRAFT' ? warning.warningDetail.incident : ''
14492
14610
  })), jsx(WarningListColumnContent, Object.assign({
@@ -14554,7 +14672,7 @@ const WarningListItem = _a => {
14554
14672
  })), jsx(Box, Object.assign({
14555
14673
  sx: {
14556
14674
  position: 'absolute',
14557
- right: 0,
14675
+ right: 16,
14558
14676
  bottom: -6
14559
14677
  }
14560
14678
  }, {
@@ -14563,31 +14681,39 @@ const WarningListItem = _a => {
14563
14681
  }))
14564
14682
  })), jsx(WarningListColumnContent, Object.assign({
14565
14683
  title: t('warning-list-header-level'),
14566
- status: status
14684
+ status: status,
14685
+ sx: {
14686
+ [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: {
14687
+ width: 56
14688
+ }
14689
+ }
14567
14690
  }, {
14568
14691
  children: jsx(Box, Object.assign({
14569
14692
  component: "span",
14570
- sx: getLevelStyle(levelDetails)
14693
+ sx: Object.assign(Object.assign({}, getLevelStyle(levelDetails)), {
14694
+ fontWeight: 'bold',
14695
+ padding: 0,
14696
+ marginRight: 2,
14697
+ display: 'flex',
14698
+ alignContent: 'center',
14699
+ justifyContent: 'center',
14700
+ flexWrap: 'wrap',
14701
+ [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: {
14702
+ marginRight: 0,
14703
+ height: '32px',
14704
+ '.level-suffix': {
14705
+ display: 'none'
14706
+ }
14707
+ }
14708
+ })
14571
14709
  }, {
14572
14710
  children: (() => {
14573
- var _a, _b;
14574
- if ((_a = warning.warningDetail) === null || _a === void 0 ? void 0 : _a.level) {
14575
- if (levelDetails === null || levelDetails === void 0 ? void 0 : levelDetails.translationKey) {
14576
- // Public warning level
14577
- return t(levelDetails.translationKey);
14578
- }
14579
- if ((_b = warning.warningDetail) === null || _b === void 0 ? void 0 : _b.level) {
14580
- // Aviation level
14581
- return jsx("span", Object.assign({
14582
- style: {
14583
- fontWeight: 'bold'
14584
- }
14585
- }, {
14586
- children: warning.warningDetail.level
14587
- }));
14588
- }
14711
+ var _a;
14712
+ if (((_a = warning.warningDetail) === null || _a === void 0 ? void 0 : _a.level) && !levelTranslation) {
14713
+ // Show sigmet-airmet level
14714
+ return warning.warningDetail.level;
14589
14715
  }
14590
- return '-';
14716
+ return renderLevelText(defaultLevelText);
14591
14717
  })()
14592
14718
  }))
14593
14719
  })), jsx(WarningListColumnContent, Object.assign({
@@ -14629,12 +14755,12 @@ const WarningListItem = _a => {
14629
14755
  position: 'relative'
14630
14756
  }
14631
14757
  }, {
14632
- children: [getStatusIcon(warning), warning.editor && jsx(Box, Object.assign({
14758
+ children: [renderStatusIcon(status), warning.editor && jsx(Box, Object.assign({
14633
14759
  sx: {
14634
14760
  width: '16px',
14635
14761
  position: 'absolute',
14636
14762
  top: '1px',
14637
- right: '-12px'
14763
+ right: '4px'
14638
14764
  }
14639
14765
  }, {
14640
14766
  children: jsx(WarningAvatar, {
@@ -14648,29 +14774,6 @@ const WarningListItem = _a => {
14648
14774
  }), warning.id);
14649
14775
  };
14650
14776
 
14651
- const useHasScrollbar = (containerRef, scrollRef) => {
14652
- const [hasScrollbar, setHasScrollbar] = React__default.useState(false);
14653
- React__default.useEffect(() => {
14654
- let resizeObserver;
14655
- if (containerRef && containerRef.current && scrollRef) {
14656
- resizeObserver = new ResizeObserver(entry => {
14657
- var _a;
14658
- const containerHeight = entry[0].target.clientHeight;
14659
- const scrollHeight = (_a = scrollRef.current) === null || _a === void 0 ? void 0 : _a.scrollHeight;
14660
- if (scrollHeight !== undefined) {
14661
- setHasScrollbar(scrollHeight > containerHeight);
14662
- }
14663
- });
14664
- resizeObserver.observe(containerRef.current);
14665
- }
14666
- return () => {
14667
- if (resizeObserver) {
14668
- resizeObserver.disconnect();
14669
- }
14670
- };
14671
- }, [containerRef, scrollRef]);
14672
- return hasScrollbar;
14673
- };
14674
14777
  const sortWarningsOnStatus = warnings => {
14675
14778
  return warnings.reduce((allWarnings, warning) => {
14676
14779
  const status = warning.status || mapProductStatusToWarningStatus(warning.productStatus);
@@ -14689,7 +14792,7 @@ const sortWarningsOnStatus = warnings => {
14689
14792
  todo: allWarnings === null || allWarnings === void 0 ? void 0 : allWarnings.todo.concat(warning)
14690
14793
  });
14691
14794
  }
14692
- if (status === PublicWarningStatus.EXPIRED) {
14795
+ if (status === PublicWarningStatus.EXPIRED || status === PublicWarningStatus.WITHDRAWN) {
14693
14796
  return Object.assign(Object.assign({}, allWarnings), {
14694
14797
  expired: allWarnings === null || allWarnings === void 0 ? void 0 : allWarnings.expired.concat(warning)
14695
14798
  });
@@ -14708,9 +14811,7 @@ const WarningListHeaderContent = _a => {
14708
14811
  width = 76
14709
14812
  } = _a,
14710
14813
  props = __rest(_a, ["title", "width"]);
14711
- return jsx(Grid, Object.assign({
14712
- item: true
14713
- }, props, {
14814
+ return jsx(Grid2, Object.assign({
14714
14815
  sx: Object.assign(Object.assign({}, props.sx), {
14715
14816
  width
14716
14817
  })
@@ -14749,6 +14850,7 @@ const PublicWarningList = ({
14749
14850
  onDeleteReviewWarning: _onDeleteReviewWarning = () => {},
14750
14851
  onClickAllChip: _onClickAllChip = () => {},
14751
14852
  onExpireWarning: _onExpireWarning = () => {},
14853
+ onWithdrawWarning: _onWithdrawWarning = () => {},
14752
14854
  isAllChipSelected: _isAllChipSelected = true
14753
14855
  }) => {
14754
14856
  const {
@@ -14773,24 +14875,22 @@ const PublicWarningList = ({
14773
14875
  if (item.totalWarnings !== undefined) {
14774
14876
  return 36;
14775
14877
  }
14776
- if (width <= 400) {
14878
+ if (width < 400) {
14777
14879
  return 201;
14778
14880
  }
14779
- if (width <= 500) {
14881
+ if (width < 500) {
14780
14882
  return 101;
14781
14883
  }
14782
- if (width <= breakpoints.tablet) {
14884
+ if (width < breakpoints.tablet) {
14783
14885
  return 81;
14784
14886
  }
14785
- if (width <= breakpoints.desktop) {
14887
+ if (width < breakpoints.desktop) {
14786
14888
  return 71;
14787
14889
  }
14788
14890
  return 34;
14789
14891
  };
14790
14892
  const filterRef = React__default.useRef(null);
14791
- const scrollContainerRef = React__default.useRef(null);
14792
14893
  const listRef = React__default.useRef(null);
14793
- const listInnerRef = React__default.useRef(null);
14794
14894
  const resetListIndex = () => {
14795
14895
  if (listRef.current) {
14796
14896
  listRef.current.resetAfterIndex(0, true);
@@ -14802,7 +14902,6 @@ const PublicWarningList = ({
14802
14902
  }
14803
14903
  }, [_warnings]);
14804
14904
  const filterHeight = useGetFilterHeight(filterRef);
14805
- const hasScrollbar = useHasScrollbar(scrollContainerRef, listInnerRef);
14806
14905
  return jsxs(Box, Object.assign({
14807
14906
  sx: {
14808
14907
  padding: 3,
@@ -14813,13 +14912,13 @@ const PublicWarningList = ({
14813
14912
  },
14814
14913
  "data-testid": "publicWarningList"
14815
14914
  }, {
14816
- children: [jsxs(Grid, Object.assign({
14915
+ children: [jsxs(Grid2, Object.assign({
14817
14916
  container: true,
14818
14917
  justifyItems: "flex-end",
14819
14918
  ref: filterRef,
14820
14919
  sx: {
14821
14920
  [`@container publicWarningList (max-width: ${breakpoints.tablet}px)`]: {
14822
- ' .MuiGrid-grid-sm-12': {
14921
+ ' .MuiGrid2-grid-sm-12': {
14823
14922
  maxWidth: '100%',
14824
14923
  flexBasis: '100%'
14825
14924
  },
@@ -14832,15 +14931,16 @@ const PublicWarningList = ({
14832
14931
  }
14833
14932
  }
14834
14933
  }, {
14835
- children: [jsx(Grid, Object.assign({
14934
+ children: [jsx(Grid2, Object.assign({
14836
14935
  className: "warning-filter",
14837
- item: true,
14838
- xs: 12,
14839
- sm: 12,
14840
- md: 8,
14841
14936
  order: {
14842
14937
  xs: 2,
14843
14938
  md: 1
14939
+ },
14940
+ size: {
14941
+ xs: 12,
14942
+ sm: 12,
14943
+ md: 8
14844
14944
  }
14845
14945
  }, {
14846
14946
  children: jsx(FilterList, {
@@ -14852,12 +14952,8 @@ const PublicWarningList = ({
14852
14952
  setShowSigmet: setShowSigmet,
14853
14953
  setShowAirmet: setShowAirmet
14854
14954
  })
14855
- })), jsxs(Grid, Object.assign({
14955
+ })), jsxs(Grid2, Object.assign({
14856
14956
  className: "create-warning",
14857
- item: true,
14858
- xs: 12,
14859
- sm: 12,
14860
- md: 4,
14861
14957
  order: {
14862
14958
  xs: 1,
14863
14959
  md: 2
@@ -14866,7 +14962,12 @@ const PublicWarningList = ({
14866
14962
  display: 'flex'
14867
14963
  },
14868
14964
  justifyContent: "flex-end",
14869
- alignItems: "self-start"
14965
+ alignItems: "self-start",
14966
+ size: {
14967
+ xs: 12,
14968
+ sm: 12,
14969
+ md: 4
14970
+ }
14870
14971
  }, {
14871
14972
  children: [lastUpdatedTime && jsx(Box, Object.assign({
14872
14973
  sx: {
@@ -14900,28 +15001,26 @@ const PublicWarningList = ({
14900
15001
  }), _isLoading && jsx(LinearProgress, {
14901
15002
  "data-testid": "loading-bar",
14902
15003
  color: "secondary"
14903
- }), !error && jsxs(Grid, Object.assign({
15004
+ }), !error && jsxs(Grid2, Object.assign({
14904
15005
  container: true,
14905
15006
  rowSpacing: 0,
14906
- columnSpacing: 2,
15007
+ columnSpacing: 0,
14907
15008
  alignItems: "center",
14908
15009
  justifyContent: "space-between",
15010
+ size: "grow",
14909
15011
  sx: {
14910
15012
  maxWidth: '100%',
14911
15013
  display: 'none',
14912
15014
  marginTop: '4px',
14913
- [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: Object.assign({
15015
+ [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: {
14914
15016
  display: 'flex'
14915
- }, hasScrollbar && {
14916
- paddingRight: 2
14917
- })
15017
+ }
14918
15018
  }
14919
15019
  }, {
14920
15020
  children: [jsx(WarningListHeaderContent, {
14921
- title: t('warning-list-header-incident'),
14922
- width: 142,
15021
+ title: t('warning-list-header-incidents'),
14923
15022
  sx: {
14924
- marginLeft: 1
15023
+ paddingLeft: 2
14925
15024
  }
14926
15025
  }), jsx(WarningListHeaderContent, {
14927
15026
  title: `${t('warning-list-header-last-update')} UTC`,
@@ -14933,12 +15032,17 @@ const PublicWarningList = ({
14933
15032
  title: `${t('warning-list-header-end-time')} UTC`,
14934
15033
  width: 142
14935
15034
  }), jsx(WarningListHeaderContent, {
14936
- title: t('warning-list-header-domain')
15035
+ title: t('warning-list-header-domains')
14937
15036
  }), jsx(WarningListHeaderContent, {
14938
- title: t('warning-list-header-phenomenon'),
15037
+ title: t('warning-list-header-phenomena'),
14939
15038
  width: 140
14940
15039
  }), jsx(WarningListHeaderContent, {
14941
- title: t('warning-list-header-level')
15040
+ title: t('warning-list-header-levels'),
15041
+ sx: {
15042
+ [`@container publicWarningList (min-width: ${breakpoints.desktop}px)`]: {
15043
+ width: 56
15044
+ }
15045
+ }
14942
15046
  }), jsx(WarningListHeaderContent, {
14943
15047
  title: t('areas'),
14944
15048
  width: 100
@@ -14954,8 +15058,7 @@ const PublicWarningList = ({
14954
15058
  sx: {
14955
15059
  height: `calc(100% - ${filterHeight}px)`,
14956
15060
  minHeight: '206px'
14957
- },
14958
- ref: scrollContainerRef
15061
+ }
14959
15062
  }, {
14960
15063
  children: jsx(AutoSizer, Object.assign({
14961
15064
  onResize: resetListIndex
@@ -14968,8 +15071,7 @@ const PublicWarningList = ({
14968
15071
  width: _width,
14969
15072
  itemCount: items.length,
14970
15073
  itemSize: index => getItemSize(index, _width),
14971
- ref: listRef,
14972
- innerRef: listInnerRef
15074
+ ref: listRef
14973
15075
  }, {
14974
15076
  children: ({
14975
15077
  index,
@@ -14988,14 +15090,14 @@ const PublicWarningList = ({
14988
15090
  const publicWarning = warning;
14989
15091
  return jsx(WarningListItem, {
14990
15092
  style: style,
14991
- status: publicWarning.status,
14992
15093
  warning: publicWarning,
14993
15094
  onSelectWarning: _onSelectWarning,
14994
15095
  onEditWarning: _onEditWarning,
14995
15096
  onDeleteWarning: _onDeleteWarning,
14996
15097
  onDeleteReviewWarning: _onDeleteReviewWarning,
14997
15098
  activeWarningId: _selectedPublicWarningId,
14998
- onExpireWarning: _onExpireWarning
15099
+ onExpireWarning: _onExpireWarning,
15100
+ onWithdrawWarning: _onWithdrawWarning
14999
15101
  }, key);
15000
15102
  }
15001
15103
  }))
@@ -15253,8 +15355,21 @@ const PublicWarningListConnect = () => {
15253
15355
  callback: () => onRemoveSuccess(expiredWarning.id, t('warning-dialog-expire-succes'))
15254
15356
  });
15255
15357
  });
15358
+ const withdrawWarning = warning => __awaiter(void 0, void 0, void 0, function* () {
15359
+ const withdrawWarning = Object.assign(Object.assign({}, warning), {
15360
+ status: PublicWarningStatus.WITHDRAWN
15361
+ });
15362
+ setConfirmDialogOptions({
15363
+ confirmLabel: t('warning-dialog-withdraw-confirm'),
15364
+ title: t('warning-dialog-withdraw-title'),
15365
+ description: t('warning-dialog-withdraw-description'),
15366
+ request: () => warningsApi.updateWarning(withdrawWarning.id, withdrawWarning),
15367
+ callback: () => onRemoveSuccess(withdrawWarning.id, t('warning-dialog-withdraw-succes'))
15368
+ });
15369
+ });
15256
15370
  const openSnackbar = message => {
15257
15371
  dispatch(snackbarActions.openSnackbar({
15372
+ type: snackbarTypes.SnackbarMessageType.VERBATIM_MESSAGE,
15258
15373
  message
15259
15374
  }));
15260
15375
  };
@@ -15331,6 +15446,7 @@ const PublicWarningListConnect = () => {
15331
15446
  onDeleteWarning: deleteWarning,
15332
15447
  onDeleteReviewWarning: deleteReviewWarning,
15333
15448
  onExpireWarning: expireWarning,
15449
+ onWithdrawWarning: withdrawWarning,
15334
15450
  selectedPublicWarningId: selectedPublicWarningId,
15335
15451
  lastUpdatedTime: lastUpdatedTime,
15336
15452
  onRefetchWarnings: fetchWarnings,
@@ -15400,7 +15516,7 @@ const componentsLookUp = (payload, apiProps) => {
15400
15516
  };
15401
15517
 
15402
15518
  const getErrorMessage = error => isAxiosError(error) ? getAxiosErrorMessage(error) : error.message;
15403
- const getToggleEditorSuccessMessage = isEditor => translateKeyOutsideComponents(isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor');
15519
+ const getToggleEditorSuccessMessage = isEditor => isEditor ? 'warning-editor-add-editor' : 'warning-editor-remove-editor';
15404
15520
  const publicWarningFormListener = createListenerMiddleware();
15405
15521
  publicWarningFormListener.startListening({
15406
15522
  actionCreator: publicWarningFormActions.toggleEditorWarning,
@@ -15421,7 +15537,10 @@ publicWarningFormListener.startListening({
15421
15537
  listenerApi.dispatch(publicWarningFormActions.toggleEditorWarningSuccess({
15422
15538
  isEditor,
15423
15539
  username,
15424
- message: getToggleEditorSuccessMessage(isEditor)
15540
+ message: {
15541
+ type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
15542
+ key: getToggleEditorSuccessMessage(isEditor)
15543
+ }
15425
15544
  }));
15426
15545
  } catch (error) {
15427
15546
  const isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
@@ -15442,7 +15561,10 @@ publicWarningFormListener.startListening({
15442
15561
  const publishedWarning = yield saveOrUpdateWarning(publicWarning);
15443
15562
  listenerApi.dispatch(publicWarningFormActions.publishWarningSuccess({
15444
15563
  publicWarning: publishedWarning,
15445
- message: translateKeyOutsideComponents('warning-publish-succes')
15564
+ message: {
15565
+ type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
15566
+ key: 'warning-publish-succes'
15567
+ }
15446
15568
  }));
15447
15569
  listenerApi.dispatch(uiActions.setToggleOpenDialog({
15448
15570
  type: publicWarningDialogType,
@@ -15467,7 +15589,10 @@ publicWarningFormListener.startListening({
15467
15589
  const savedWarning = yield saveOrUpdateWarning(publicWarning);
15468
15590
  listenerApi.dispatch(publicWarningFormActions.saveWarningSuccess({
15469
15591
  publicWarning: savedWarning,
15470
- message: translateKeyOutsideComponents('warning-save-succes')
15592
+ message: {
15593
+ type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
15594
+ key: 'warning-save-succes'
15595
+ }
15471
15596
  }));
15472
15597
  } catch (error) {
15473
15598
  const isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
@@ -15485,9 +15610,7 @@ publicWarningFormListener.startListening({
15485
15610
  const {
15486
15611
  message
15487
15612
  } = payload;
15488
- listenerApi.dispatch(snackbarActions.openSnackbar({
15489
- message
15490
- }));
15613
+ listenerApi.dispatch(snackbarActions.openSnackbar(message));
15491
15614
  const isDialogOpen = uiSelectors.getisDialogOpen(listenerApi.getState(), publicWarningDialogType);
15492
15615
  toggleDialogLoadingEffect(listenerApi.dispatch, isDialogOpen, false);
15493
15616
  })
@@ -15565,22 +15688,22 @@ publicWarningFormListener.startListening({
15565
15688
  })
15566
15689
  });
15567
15690
 
15568
- /* *
15569
- * Licensed under the Apache License, Version 2.0 (the "License");
15570
- * you may not use this file except in compliance with the License.
15571
- * You may obtain a copy of the License at
15572
- *
15573
- * http://www.apache.org/licenses/LICENSE-2.0
15574
- *
15575
- * Unless required by applicable law or agreed to in writing, software
15576
- * distributed under the License is distributed on an "AS IS" BASIS,
15577
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15578
- * See the License for the specific language governing permissions and
15579
- * limitations under the License.
15580
- *
15581
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15582
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
15583
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15691
+ /* *
15692
+ * Licensed under the Apache License, Version 2.0 (the "License");
15693
+ * you may not use this file except in compliance with the License.
15694
+ * You may obtain a copy of the License at
15695
+ *
15696
+ * http://www.apache.org/licenses/LICENSE-2.0
15697
+ *
15698
+ * Unless required by applicable law or agreed to in writing, software
15699
+ * distributed under the License is distributed on an "AS IS" BASIS,
15700
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15701
+ * See the License for the specific language governing permissions and
15702
+ * limitations under the License.
15703
+ *
15704
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15705
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
15706
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15584
15707
  * */
15585
15708
  const getLastUpdatedTimeFormatted = () => dateUtils.dateToString(dateUtils.utc(), dateUtils.DATE_FORMAT_HOURS);
15586
15709
  const publicWarningsListener = createListenerMiddleware();
@@ -15621,24 +15744,30 @@ publicWarningsListener.startListening({
15621
15744
  })
15622
15745
  });
15623
15746
 
15624
- /* *
15625
- * Licensed under the Apache License, Version 2.0 (the "License");
15626
- * you may not use this file except in compliance with the License.
15627
- * You may obtain a copy of the License at
15628
- *
15629
- * http://www.apache.org/licenses/LICENSE-2.0
15630
- *
15631
- * Unless required by applicable law or agreed to in writing, software
15632
- * distributed under the License is distributed on an "AS IS" BASIS,
15633
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15634
- * See the License for the specific language governing permissions and
15635
- * limitations under the License.
15636
- *
15637
- * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15638
- * Copyright 2024 - Finnish Meteorological Institute (FMI)
15639
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15747
+ /* *
15748
+ * Licensed under the Apache License, Version 2.0 (the "License");
15749
+ * you may not use this file except in compliance with the License.
15750
+ * You may obtain a copy of the License at
15751
+ *
15752
+ * http://www.apache.org/licenses/LICENSE-2.0
15753
+ *
15754
+ * Unless required by applicable law or agreed to in writing, software
15755
+ * distributed under the License is distributed on an "AS IS" BASIS,
15756
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15757
+ * See the License for the specific language governing permissions and
15758
+ * limitations under the License.
15759
+ *
15760
+ * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15761
+ * Copyright 2024 - Finnish Meteorological Institute (FMI)
15762
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15640
15763
  * */
15641
- const getSnackbarMessage = (objectName, id) => id ? `Object "${objectName}" ${translateKeyOutsideComponents('update-succes')}!` : `Object "${objectName}" ${translateKeyOutsideComponents('save-succes')}!`;
15764
+ const getSnackbarMessage = (objectName, id) => ({
15765
+ type: snackbarTypes.SnackbarMessageType.TRANSLATABLE_MESSAGE,
15766
+ key: id ? 'update-succes' : 'save-succes',
15767
+ params: {
15768
+ objectName
15769
+ }
15770
+ });
15642
15771
  const drawingsListener = createListenerMiddleware();
15643
15772
  drawingsListener.startListening({
15644
15773
  actionCreator: drawActions.submitDrawValues,
@@ -15670,9 +15799,7 @@ drawingsListener.startListening({
15670
15799
  type: drawingDialogType,
15671
15800
  error: ''
15672
15801
  }));
15673
- listenerApi.dispatch(snackbarActions.openSnackbar({
15674
- message: getSnackbarMessage(formValues.objectName, id)
15675
- }));
15802
+ listenerApi.dispatch(snackbarActions.openSnackbar(getSnackbarMessage(formValues.objectName, id)));
15676
15803
  listenerApi.dispatch(uiActions.toggleIsLoadingDialog({
15677
15804
  isLoading: false,
15678
15805
  type: drawingDialogType
@@ -15694,22 +15821,22 @@ drawingsListener.startListening({
15694
15821
  })
15695
15822
  });
15696
15823
 
15697
- /* *
15698
- * Licensed under the Apache License, Version 2.0 (the "License");
15699
- * you may not use this file except in compliance with the License.
15700
- * You may obtain a copy of the License at
15701
- *
15702
- * http://www.apache.org/licenses/LICENSE-2.0
15703
- *
15704
- * Unless required by applicable law or agreed to in writing, software
15705
- * distributed under the License is distributed on an "AS IS" BASIS,
15706
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15707
- * See the License for the specific language governing permissions and
15708
- * limitations under the License.
15709
- *
15710
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15711
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
15712
- * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15824
+ /* *
15825
+ * Licensed under the Apache License, Version 2.0 (the "License");
15826
+ * you may not use this file except in compliance with the License.
15827
+ * You may obtain a copy of the License at
15828
+ *
15829
+ * http://www.apache.org/licenses/LICENSE-2.0
15830
+ *
15831
+ * Unless required by applicable law or agreed to in writing, software
15832
+ * distributed under the License is distributed on an "AS IS" BASIS,
15833
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15834
+ * See the License for the specific language governing permissions and
15835
+ * limitations under the License.
15836
+ *
15837
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15838
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
15839
+ * Copyright 2024 - The Norwegian Meteorological Institute (MET Norway)
15713
15840
  * */
15714
15841
  const drawingModuleConfig = {
15715
15842
  id: 'drawing-module',