@opengeoweb/warnings 19.1.0 → 19.2.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 (134) hide show
  1. package/dist/README.md +17 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.esm.js +16737 -0
  4. package/dist/src/index.d.ts +12 -0
  5. package/dist/src/lib/api/api-utils.d.ts +12 -0
  6. package/dist/src/lib/api/aviation-api/api.d.ts +23 -0
  7. package/dist/src/lib/api/aviation-api/errorHandling.d.ts +1 -0
  8. package/dist/src/lib/api/aviation-api/fakeApi.d.ts +8 -0
  9. package/dist/src/lib/api/aviation-api/hooks.d.ts +43 -0
  10. package/dist/src/lib/api/aviation-api/queryOptions.d.ts +68 -0
  11. package/dist/src/lib/api/warning-api/api.d.ts +19 -0
  12. package/dist/src/lib/api/warning-api/hooks.d.ts +58 -0
  13. package/dist/src/lib/components/AreaObjectLoader/AreaObjectFilter.d.ts +9 -0
  14. package/dist/src/lib/components/AreaObjectLoader/AreaObjectLoader.d.ts +28 -0
  15. package/dist/src/lib/components/AreaObjectLoader/AreaObjectLoaderConnect.d.ts +6 -0
  16. package/dist/src/lib/components/AreaObjectLoader/AreasObjects.d.ts +28 -0
  17. package/dist/src/lib/components/ComponentsLookUp/ComponentsLookUp.d.ts +22 -0
  18. package/dist/src/lib/components/ComponentsLookUp/index.d.ts +1 -0
  19. package/dist/src/lib/components/DrawingTool/DrawingToolConnect.d.ts +16 -0
  20. package/dist/src/lib/components/DrawingTool/DrawingToolDialog.d.ts +19 -0
  21. package/dist/src/lib/components/DrawingTool/DrawingToolMapButtonConnect.d.ts +8 -0
  22. package/dist/src/lib/components/DrawingTool/index.d.ts +3 -0
  23. package/dist/src/lib/components/DrawingTool/useObjectDrawDialogAction.d.ts +25 -0
  24. package/dist/src/lib/components/DrawingToolForm/DrawingToolForm.d.ts +26 -0
  25. package/dist/src/lib/components/DrawingToolForm/DrawingToolFormConnect.d.ts +2 -0
  26. package/dist/src/lib/components/DrawingToolForm/DrawingToolFormContents.d.ts +28 -0
  27. package/dist/src/lib/components/DrawingToolForm/index.d.ts +2 -0
  28. package/dist/src/lib/components/FilterList/ExpandableFilterChip.d.ts +9 -0
  29. package/dist/src/lib/components/FilterList/FilterList.d.ts +13 -0
  30. package/dist/src/lib/components/FilterList/TimeFilterChip.d.ts +7 -0
  31. package/dist/src/lib/components/FilterList/filter-hooks.d.ts +31 -0
  32. package/dist/src/lib/components/FilterList/filter-styles.d.ts +2 -0
  33. package/dist/src/lib/components/FilterList/filter-utils.d.ts +111 -0
  34. package/dist/src/lib/components/MaritimeWarningsForm/AreaList/AreaList.d.ts +11 -0
  35. package/dist/src/lib/components/MaritimeWarningsForm/AreaList/index.d.ts +1 -0
  36. package/dist/src/lib/components/MaritimeWarningsForm/AssignedAreas/AssignedAreas.d.ts +13 -0
  37. package/dist/src/lib/components/MaritimeWarningsForm/MaritimeWarningsAvatar.d.ts +8 -0
  38. package/dist/src/lib/components/MaritimeWarningsForm/MaritimeWarningsForm.d.ts +34 -0
  39. package/dist/src/lib/components/MaritimeWarningsForm/MaritimeWarningsFormConnect.d.ts +8 -0
  40. package/dist/src/lib/components/MaritimeWarningsForm/WarningList/WarningList.d.ts +19 -0
  41. package/dist/src/lib/components/MaritimeWarningsForm/WarningList/WarningListDragHandle.d.ts +2 -0
  42. package/dist/src/lib/components/MaritimeWarningsForm/WarningList/WarningListItem.d.ts +18 -0
  43. package/dist/src/lib/components/MaritimeWarningsForm/WarningList/WarningListSelect.d.ts +21 -0
  44. package/dist/src/lib/components/MaritimeWarningsForm/WarningList/WindForceSelect.d.ts +24 -0
  45. package/dist/src/lib/components/MaritimeWarningsForm/index.d.ts +1 -0
  46. package/dist/src/lib/components/MaritimeWarningsForm/testUtils.d.ts +3 -0
  47. package/dist/src/lib/components/MaritimeWarningsForm/types.d.ts +51 -0
  48. package/dist/src/lib/components/MaritimeWarningsForm/useConfirmDeleteDialog.d.ts +12 -0
  49. package/dist/src/lib/components/MaritimeWarningsForm/useFilterChipSelect.d.ts +12 -0
  50. package/dist/src/lib/components/MaritimeWarningsForm/useMaritimeWarningsFormState.d.ts +63 -0
  51. package/dist/src/lib/components/MaritimeWarningsForm/utils.d.ts +7 -0
  52. package/dist/src/lib/components/ObjectManager/Areas.d.ts +13 -0
  53. package/dist/src/lib/components/ObjectManager/ConfirmDeleteDialog.d.ts +10 -0
  54. package/dist/src/lib/components/ObjectManager/ObjectManager.d.ts +33 -0
  55. package/dist/src/lib/components/ObjectManager/ObjectManagerConnect.d.ts +6 -0
  56. package/dist/src/lib/components/ObjectManager/ObjectManagerMapButtonConnect.d.ts +6 -0
  57. package/dist/src/lib/components/ObjectManager/Objects.d.ts +29 -0
  58. package/dist/src/lib/components/ObjectManager/index.d.ts +2 -0
  59. package/dist/src/lib/components/Providers/Providers.d.ts +29 -0
  60. package/dist/src/lib/components/PublicWarningList/ConfirmWarningDialog.d.ts +14 -0
  61. package/dist/src/lib/components/PublicWarningList/NewWarningButton/NewWarningButton.d.ts +9 -0
  62. package/dist/src/lib/components/PublicWarningList/PublicWarningList.d.ts +32 -0
  63. package/dist/src/lib/components/PublicWarningList/PublicWarningListConnect.d.ts +10 -0
  64. package/dist/src/lib/components/PublicWarningList/SelectAllButton/SelectAllButton.d.ts +9 -0
  65. package/dist/src/lib/components/PublicWarningList/SelectAllButton/index.d.ts +2 -0
  66. package/dist/src/lib/components/PublicWarningList/SelectAllButton/selectAllButtonUtils.d.ts +7 -0
  67. package/dist/src/lib/components/PublicWarningList/WarningListColumnContent.d.ts +10 -0
  68. package/dist/src/lib/components/PublicWarningList/WarningListHeaderContent.d.ts +11 -0
  69. package/dist/src/lib/components/PublicWarningList/WarningListItem.d.ts +18 -0
  70. package/dist/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +21 -0
  71. package/dist/src/lib/components/PublicWarningList/WarningListItemSeperator.d.ts +11 -0
  72. package/dist/src/lib/components/PublicWarningList/index.d.ts +2 -0
  73. package/dist/src/lib/components/PublicWarningsForm/AreaField/AreaField.d.ts +10 -0
  74. package/dist/src/lib/components/PublicWarningsForm/AreaField/index.d.ts +1 -0
  75. package/dist/src/lib/components/PublicWarningsForm/DescriptionField/DescriptionField.d.ts +5 -0
  76. package/dist/src/lib/components/PublicWarningsForm/DescriptionField/index.d.ts +1 -0
  77. package/dist/src/lib/components/PublicWarningsForm/LevelField/LevelField.d.ts +22 -0
  78. package/dist/src/lib/components/PublicWarningsForm/LevelField/index.d.ts +1 -0
  79. package/dist/src/lib/components/PublicWarningsForm/PhenomenonField/PhenomenonField.d.ts +11 -0
  80. package/dist/src/lib/components/PublicWarningsForm/PhenomenonField/index.d.ts +1 -0
  81. package/dist/src/lib/components/PublicWarningsForm/ProbabilityField/ProbabilityField.d.ts +7 -0
  82. package/dist/src/lib/components/PublicWarningsForm/ProbabilityField/index.d.ts +1 -0
  83. package/dist/src/lib/components/PublicWarningsForm/PublicWarningsForm.d.ts +52 -0
  84. package/dist/src/lib/components/PublicWarningsForm/PublicWarningsFormConnect.d.ts +14 -0
  85. package/dist/src/lib/components/PublicWarningsForm/ValidFromField/ValidFromField.d.ts +19 -0
  86. package/dist/src/lib/components/PublicWarningsForm/ValidFromField/index.d.ts +1 -0
  87. package/dist/src/lib/components/PublicWarningsForm/ValidUntilField/ValidUntilField.d.ts +11 -0
  88. package/dist/src/lib/components/PublicWarningsForm/ValidUntilField/index.d.ts +1 -0
  89. package/dist/src/lib/components/PublicWarningsForm/index.d.ts +2 -0
  90. package/dist/src/lib/components/PublicWarningsForm/usePublicWarningMapDraw.d.ts +16 -0
  91. package/dist/src/lib/components/PublicWarningsFormDialog/AviationWarningCancelDialogContent.d.ts +9 -0
  92. package/dist/src/lib/components/PublicWarningsFormDialog/CancelAviationConfirmDialog.d.ts +21 -0
  93. package/dist/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialog.d.ts +25 -0
  94. package/dist/src/lib/components/PublicWarningsFormDialog/PublicWarningsFormDialogConnect.d.ts +13 -0
  95. package/dist/src/lib/components/PublicWarningsFormDialog/WarningsAvatar.d.ts +9 -0
  96. package/dist/src/lib/components/PublicWarningsFormDialog/index.d.ts +2 -0
  97. package/dist/src/lib/components/WarningsMapView/WarningsMapView.d.ts +11 -0
  98. package/dist/src/lib/components/WarningsTimeline/WarningBlock.d.ts +12 -0
  99. package/dist/src/lib/components/WarningsTimeline/WarningsTimeline.d.ts +8 -0
  100. package/dist/src/lib/components/WarningsTimeline/WarningsTimelineConnect.d.ts +5 -0
  101. package/dist/src/lib/components/WarningsTimeline/WarningsTimelineLayers.d.ts +33 -0
  102. package/dist/src/lib/components/WarningsTimeline/index.d.ts +4 -0
  103. package/dist/src/lib/components/WarningsTimeline/warningBlockColors.d.ts +16 -0
  104. package/dist/src/lib/components/WarningsTimeline/warningsTimelineUtils.d.ts +19 -0
  105. package/dist/src/lib/store/index.d.ts +4 -0
  106. package/dist/src/lib/store/store.d.ts +7 -0
  107. package/dist/src/lib/store/types.d.ts +9 -0
  108. package/dist/src/lib/store/warningsDrawings/index.d.ts +1 -0
  109. package/dist/src/lib/store/warningsDrawings/reducer.d.ts +12 -0
  110. package/dist/src/lib/store/warningsDrawings/selectors.d.ts +45 -0
  111. package/dist/src/lib/store/warningsDrawings/types.d.ts +39 -0
  112. package/dist/src/lib/store/warningsDrawings/utils.d.ts +4 -0
  113. package/dist/src/lib/store/warningsFilters/index.d.ts +1 -0
  114. package/dist/src/lib/store/warningsFilters/reducer.d.ts +30 -0
  115. package/dist/src/lib/store/warningsFilters/selectors.d.ts +192 -0
  116. package/dist/src/lib/store/warningsFilters/types.d.ts +17 -0
  117. package/dist/src/lib/store/warningsForm/index.d.ts +2 -0
  118. package/dist/src/lib/store/warningsForm/listener.d.ts +2 -0
  119. package/dist/src/lib/store/warningsForm/reducer.d.ts +53 -0
  120. package/dist/src/lib/store/warningsForm/selectors.d.ts +192 -0
  121. package/dist/src/lib/store/warningsForm/types.d.ts +73 -0
  122. package/dist/src/lib/store/warningsForm/utils.d.ts +2 -0
  123. package/dist/src/lib/storybookUtils/SimpleLinkMenu.d.ts +6 -0
  124. package/dist/src/lib/storybookUtils/defaultStorySettings.d.ts +18 -0
  125. package/dist/src/lib/storybookUtils/storyComponents.d.ts +5 -0
  126. package/dist/src/lib/storybookUtils/testUtils.d.ts +11 -0
  127. package/dist/src/lib/utils/constants.d.ts +2 -0
  128. package/dist/src/lib/utils/fakeApi/index.d.ts +21 -0
  129. package/dist/src/lib/utils/fakeSigmetAirmet.d.ts +3 -0
  130. package/dist/src/lib/utils/i18n.d.ts +7 -0
  131. package/dist/src/lib/utils/sig-airmet-util.d.ts +20 -0
  132. package/dist/src/lib/utils/useFormDirty.d.ts +7 -0
  133. package/dist/src/lib/utils/warningUtils.d.ts +18 -0
  134. package/package.json +2 -1
@@ -0,0 +1,111 @@
1
+ import { AirmetPhenomena, SigmetPhenomena } from '@opengeoweb/api';
2
+ import type { Warning } from '../../store/warningsForm/types';
3
+ export declare enum Domain {
4
+ aviation = "aviation",
5
+ maritime = "maritime",
6
+ public = "public"
7
+ }
8
+ export declare enum Level {
9
+ extreme = "extreme",
10
+ moderate = "moderate",
11
+ severe = "severe",
12
+ airmet = "AIR",
13
+ sigmet = "SIG"
14
+ }
15
+ export declare enum Phenomenon {
16
+ wind = "wind",
17
+ fog = "fog",
18
+ thunderstorm = "thunderstorm",
19
+ snowIce = "snowIce",
20
+ rain = "rain",
21
+ highTemp = "highTemp",
22
+ lowTemp = "lowTemp",
23
+ coastalEvent = "coastalEvent"
24
+ }
25
+ export declare const emptyFilterId = "unspecified";
26
+ export declare const defaultDomainFilter: Record<Domain, boolean>;
27
+ export declare const domainLevels: Record<Domain, Level[]>;
28
+ export declare const defaultLevelFilter: Record<Level | 'unspecified', boolean>;
29
+ export declare const defaultEmptyFilter: Record<string, boolean>;
30
+ export declare const makeFilterFromList: <T extends string>(options: T[], value?: boolean) => Record<T | "unspecified", boolean>;
31
+ declare const AllPhenomena: {
32
+ readonly wind: Phenomenon.wind;
33
+ readonly fog: Phenomenon.fog;
34
+ readonly thunderstorm: Phenomenon.thunderstorm;
35
+ readonly snowIce: Phenomenon.snowIce;
36
+ readonly rain: Phenomenon.rain;
37
+ readonly highTemp: Phenomenon.highTemp;
38
+ readonly lowTemp: Phenomenon.lowTemp;
39
+ readonly coastalEvent: Phenomenon.coastalEvent;
40
+ readonly EMBD_TS: SigmetPhenomena.EMBD_TS;
41
+ readonly EMBD_TSGR: SigmetPhenomena.EMBD_TSGR;
42
+ readonly FRQ_TS: SigmetPhenomena.FRQ_TS;
43
+ readonly FRQ_TSGR: SigmetPhenomena.FRQ_TSGR;
44
+ readonly HVY_DS: SigmetPhenomena.HVY_DS;
45
+ readonly HVY_SS: SigmetPhenomena.HVY_SS;
46
+ readonly OBSC_TS: SigmetPhenomena.OBSC_TS;
47
+ readonly OBSC_TSGR: SigmetPhenomena.OBSC_TSGR;
48
+ readonly RDOACT_CLD: SigmetPhenomena.RDOACT_CLD;
49
+ readonly SEV_ICE: SigmetPhenomena.SEV_ICE;
50
+ readonly SEV_ICE_FRZ_RN: SigmetPhenomena.SEV_ICE_FRZ_RN;
51
+ readonly SEV_MTW: SigmetPhenomena.SEV_MTW;
52
+ readonly SEV_TURB: SigmetPhenomena.SEV_TURB;
53
+ readonly SQL_TS: SigmetPhenomena.SQL_TS;
54
+ readonly SQL_TSGR: SigmetPhenomena.SQL_TSGR;
55
+ readonly VA_CLD: SigmetPhenomena.VA_CLD;
56
+ readonly SFC_VIS: AirmetPhenomena.SFC_VIS;
57
+ readonly SFC_WIND: AirmetPhenomena.SFC_WIND;
58
+ readonly OVC_CLD: AirmetPhenomena.OVC_CLD;
59
+ readonly BKN_CLD: AirmetPhenomena.BKN_CLD;
60
+ readonly ISOL_CB: AirmetPhenomena.ISOL_CB;
61
+ readonly OCNL_CB: AirmetPhenomena.OCNL_CB;
62
+ readonly FRQ_CB: AirmetPhenomena.FRQ_CB;
63
+ readonly ISOL_TS: AirmetPhenomena.ISOL_TS;
64
+ readonly OCNL_TS: AirmetPhenomena.OCNL_TS;
65
+ readonly ISOL_TSGR: AirmetPhenomena.ISOL_TSGR;
66
+ readonly OCNL_TSGR: AirmetPhenomena.OCNL_TSGR;
67
+ readonly ISOL_TCU: AirmetPhenomena.ISOL_TCU;
68
+ readonly OCNL_TCU: AirmetPhenomena.OCNL_TCU;
69
+ readonly FRQ_TCU: AirmetPhenomena.FRQ_TCU;
70
+ readonly MOD_ICE: AirmetPhenomena.MOD_ICE;
71
+ readonly MOD_MTW: AirmetPhenomena.MOD_MTW;
72
+ readonly MOD_TURB: AirmetPhenomena.MOD_TURB;
73
+ readonly MT_OBSC: AirmetPhenomena.MT_OBSC;
74
+ };
75
+ export declare const AllPhenomenaKeys: Record<keyof typeof AllPhenomena, keyof typeof AllPhenomena>;
76
+ export declare const domainPhenomena: Record<Domain, Partial<keyof typeof AllPhenomenaKeys>[]>;
77
+ export declare const defaultPhenomenonFilter: Record<string, boolean>;
78
+ type OptionsType = Partial<Record<Domain | Level | Phenomenon, boolean>>;
79
+ interface OptionsMetadata {
80
+ /** The number of selected options */
81
+ noSelectedOptions: number;
82
+ /** Whether or not all options are selected */
83
+ allSelected: boolean;
84
+ }
85
+ export declare const getSelectedOptions: (options?: OptionsType) => OptionsMetadata;
86
+ export declare const updateState: <T extends string>(state: Record<T, boolean>, optionKey: T | "ALL", value: boolean, only?: boolean) => Record<T, boolean>;
87
+ /** Make sure our value is in the filter */
88
+ export declare const getValue: <T>(values: Record<string, T>, value: string) => T | "unspecified";
89
+ export declare const getFiltersFromWarnings: (warnings: Warning[], filterKey: string) => string[];
90
+ export declare enum TimeFilterMode {
91
+ all = "all",
92
+ today = "today",
93
+ tomorrow = "tomorrow",
94
+ custom = "custom"
95
+ }
96
+ export interface TimeFilter {
97
+ mode: TimeFilterMode;
98
+ customStart?: string;
99
+ customEnd?: string;
100
+ }
101
+ export declare const defaultTimeFilter: TimeFilter;
102
+ export declare const isWarningWithinInterval: (warning: Warning, timeFilter: TimeFilter) => boolean;
103
+ export declare const getApiParams: (timeFilter: TimeFilter) => Record<string, string>;
104
+ export declare const initialFilters: {
105
+ source: Record<string, boolean>;
106
+ domain: Record<Domain, boolean>;
107
+ phenomenon: Record<string, boolean>;
108
+ level: Record<"unspecified" | Level, boolean>;
109
+ time: TimeFilter;
110
+ };
111
+ export {};
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { DistrictsType } from '../types';
3
+ export interface AreaListProps {
4
+ areas: DistrictsType[];
5
+ selected: string[];
6
+ disabled: string[];
7
+ isReadOnly?: boolean;
8
+ onToggleSelectArea?: (id: string) => void;
9
+ onSelectMultipleAreas: (ids: string[]) => void;
10
+ }
11
+ export declare const AreaList: React.MemoExoticComponent<({ areas, selected, disabled, isReadOnly, onToggleSelectArea, onSelectMultipleAreas, }: AreaListProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1 @@
1
+ export * from './AreaList';
@@ -0,0 +1,13 @@
1
+ import React from 'react';
2
+ import type { DistrictsType } from '../types';
3
+ export interface AssignedAreasProps {
4
+ assignedAreas: DistrictsType[];
5
+ selectedAreaIds: string[];
6
+ onAddClick: () => void;
7
+ onDeleteClick: (id: string) => void;
8
+ onToggleSelectArea: (id: string) => void;
9
+ onSelectMultipleAreas: (id: string[]) => void;
10
+ shouldShowDistricts?: boolean;
11
+ isReadOnly?: boolean;
12
+ }
13
+ export declare const AssignedAreas: React.FC<AssignedAreasProps>;
@@ -0,0 +1,8 @@
1
+ import type { TooltipProps } from '@mui/material';
2
+ import React from 'react';
3
+ export interface MaritimeWarningAvatarProps {
4
+ editor: string;
5
+ tooltipPlacement?: TooltipProps['placement'];
6
+ }
7
+ declare const MaritimeWarningAvatar: React.FC<MaritimeWarningAvatarProps>;
8
+ export default MaritimeWarningAvatar;
@@ -0,0 +1,34 @@
1
+ import type { AlertColor } from '@mui/material';
2
+ import type { TFunction } from 'i18next';
3
+ import React from 'react';
4
+ import type { MaritimeWarningsDomain, MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig, DistrictsType } from './types';
5
+ export declare const getWarningsValidity: (t: TFunction, warnings: MaritimeWarningItem[]) => string;
6
+ export interface MaritimeWarningsFormProps {
7
+ areas: DistrictsType[];
8
+ selectedAreaIds: string[];
9
+ warnings: MaritimeWarningItem[];
10
+ modified: boolean;
11
+ onToggleSelectArea: (id: string) => void;
12
+ onSelectMultipleAreas: (ids: string[]) => void;
13
+ onAddSelectedAreas: (id: string) => void;
14
+ onRemoveWarning: (id: string) => void;
15
+ onRemoveArea: (id: string) => void;
16
+ onAddWarning: () => void;
17
+ onChangeWarning: (id: string, newValues: Partial<MaritimeWarningItemAttributes>) => void;
18
+ onMoveWarning: (oldIndex: number, newIndex: number) => void;
19
+ onSubmit: (shouldExtend?: boolean) => Promise<void>;
20
+ onClear: () => void;
21
+ onToggleReadOnly: (isReadOnly: boolean) => void;
22
+ isReadOnly: boolean;
23
+ shouldHideEditorToggle: boolean;
24
+ shouldShowDistricts?: boolean;
25
+ editor?: string;
26
+ error?: {
27
+ title: string;
28
+ severity: AlertColor;
29
+ };
30
+ maritimeConfig: MaritimeWarningsConfig;
31
+ lastUpdatedTime?: string;
32
+ domain: MaritimeWarningsDomain;
33
+ }
34
+ export declare const MaritimeWarningsForm: React.FC<MaritimeWarningsFormProps>;
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { MaritimeWarningsDomain } from './types';
3
+ export interface MaritimeWarningsFormConnectProps {
4
+ domain: MaritimeWarningsDomain;
5
+ onPreventCloseView?: (on: boolean) => void;
6
+ onModifyForm?: (isFormDirty: boolean) => void;
7
+ }
8
+ export declare const MaritimeWarningsFormConnect: React.FC<MaritimeWarningsFormConnectProps>;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import type { DistrictsType, MaritimeWarningsDomain, MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig } from '../types';
3
+ export interface WarningListProps {
4
+ warnings: MaritimeWarningItem[];
5
+ onAddSelectedAreas: (id: string) => void;
6
+ onRemoveArea: (areaId: string) => void;
7
+ onRemoveWarning: (id: string) => void;
8
+ onChangeWarning: (id: string, newValues: Partial<MaritimeWarningItemAttributes>) => void;
9
+ onToggleSelectArea: (areaId: string) => void;
10
+ onSelectMultipleAreas: (areaIds: string[]) => void;
11
+ onMoveWarning: (oldIndex: number, newIndex: number) => void;
12
+ selectedAreaIds: string[];
13
+ areas: DistrictsType[];
14
+ isReadOnly: boolean;
15
+ shouldShowDistricts?: boolean;
16
+ maritimeConfig: MaritimeWarningsConfig;
17
+ domain: MaritimeWarningsDomain;
18
+ }
19
+ export declare const WarningList: React.FC<WarningListProps>;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const WarningListDragHandle: React.FC;
@@ -0,0 +1,18 @@
1
+ import React from 'react';
2
+ import type { DistrictsType, MaritimeWarningsDomain, MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig } from '../types';
3
+ export interface WarningListItemProps {
4
+ warning: MaritimeWarningItem;
5
+ areas: DistrictsType[];
6
+ selectedAreaIds: string[];
7
+ isReadOnly: boolean;
8
+ onAddClick: (id: string) => void;
9
+ onRemove: (id: string) => void;
10
+ onChange: (id: string, values: MaritimeWarningItemAttributes) => void;
11
+ onToggleSelectArea: (id: string) => void;
12
+ onSelectMultipleAreas: (ids: string[]) => void;
13
+ onRemoveArea: (id: string) => void;
14
+ shouldShowDistricts?: boolean;
15
+ maritimeConfig: MaritimeWarningsConfig;
16
+ domain: MaritimeWarningsDomain;
17
+ }
18
+ export declare const WarningListItem: React.MemoExoticComponent<({ warning, areas, selectedAreaIds, onAddClick, onRemove, onChange, onToggleSelectArea, onSelectMultipleAreas, onRemoveArea, isReadOnly, shouldShowDistricts, maritimeConfig, domain, }: WarningListItemProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,21 @@
1
+ import type { SxProps } from '@mui/material';
2
+ import type { TFunction } from 'i18next';
3
+ import React from 'react';
4
+ export interface WarningListSelectOption {
5
+ value: string;
6
+ label: string | ((t: TFunction) => string);
7
+ }
8
+ export interface WarningListSelectProps {
9
+ options: WarningListSelectOption[];
10
+ label: string;
11
+ value?: string;
12
+ onChange: (value: string) => void;
13
+ renderOption?: (option: WarningListSelectOption, index: number) => React.ReactElement;
14
+ renderValue?: (option: unknown) => React.ReactNode;
15
+ gridArea: string;
16
+ additionalStyling?: SxProps;
17
+ isReadOnly?: boolean;
18
+ emptyMessage?: string;
19
+ validationResult?: true | 'error' | 'warning';
20
+ }
21
+ export declare const WarningListSelect: React.MemoExoticComponent<({ options, value, label, onChange, renderOption, renderValue, gridArea, additionalStyling, isReadOnly, emptyMessage, validationResult, }: WarningListSelectProps) => import("react/jsx-runtime").JSX.Element>;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ export declare enum WindForceLevel {
3
+ moderate = "moderate",
4
+ severe = "severe",
5
+ extreme = "extreme"
6
+ }
7
+ export interface ColorDefinition {
8
+ color: string;
9
+ textColor: string;
10
+ borderColor: string;
11
+ }
12
+ export declare const windForceStyles: Record<WindForceLevel, ColorDefinition>;
13
+ export interface WindForceOption {
14
+ level: WindForceLevel;
15
+ value: string;
16
+ }
17
+ export interface WindForceSelectProps {
18
+ value?: string;
19
+ onChange: (value: string) => void;
20
+ gridArea: string;
21
+ options: WindForceOption[];
22
+ isReadOnly?: boolean;
23
+ }
24
+ export declare const WindForceSelect: React.FC<WindForceSelectProps>;
@@ -0,0 +1 @@
1
+ export * from './MaritimeWarningsForm';
@@ -0,0 +1,3 @@
1
+ import type { WarningListSelectOption } from './WarningList/WarningListSelect';
2
+ export declare function getLabelFromOptionLabel(label: WarningListSelectOption['label']): string;
3
+ export declare function selectOption(container: HTMLElement, comboboxLabel: string, optionLabel: WarningListSelectOption['label']): Promise<void>;
@@ -0,0 +1,51 @@
1
+ export interface Area {
2
+ label: string;
3
+ id: string;
4
+ }
5
+ export interface MaritimeWarningItemAttributes {
6
+ windDirectionFrom?: string;
7
+ windForce?: string;
8
+ changeType?: string;
9
+ windDirectionTo?: string;
10
+ validFrom?: string;
11
+ validUntil?: string;
12
+ }
13
+ export interface MaritimeWarningItem extends MaritimeWarningItemAttributes {
14
+ id: string;
15
+ assignedAreaIds: string[];
16
+ }
17
+ export type MaritimeWarningsDomain = 'northSeaDistricts' | 'coastalWaters';
18
+ export interface WindDirectionType {
19
+ value: string;
20
+ label: string;
21
+ degrees: number;
22
+ }
23
+ export interface DistrictsType {
24
+ geoJSON: GeoJSON.FeatureCollection;
25
+ districtName: string;
26
+ }
27
+ export interface LevelDefinitionType {
28
+ windForce: string;
29
+ level: string;
30
+ }
31
+ export interface ChangeType {
32
+ label: string;
33
+ key: string;
34
+ }
35
+ export type MaritimeLevelTiming = 'maritimeLevelsSummer' | 'maritimeLevelsWinter';
36
+ export interface ValidationItem {
37
+ level: 'error' | 'warning';
38
+ value: number;
39
+ }
40
+ export interface MaritimeWarningsConfig {
41
+ districtList: Record<MaritimeWarningsDomain, DistrictsType[]>;
42
+ maritimeLevelDefinition: Record<MaritimeLevelTiming, Record<MaritimeWarningsDomain, LevelDefinitionType[]>>;
43
+ windDirectionDefinition: WindDirectionType[];
44
+ changeType: ChangeType[];
45
+ validation: {
46
+ dirTo: {
47
+ min_wind_change: ValidationItem;
48
+ max_wind_change: ValidationItem;
49
+ };
50
+ };
51
+ }
@@ -0,0 +1,12 @@
1
+ import type { DistrictsType, MaritimeWarningItem, MaritimeWarningsConfig } from './types';
2
+ interface UseConfirmDeleteDialogProps {
3
+ areas: DistrictsType[];
4
+ warnings: MaritimeWarningItem[];
5
+ maritimeConfig: MaritimeWarningsConfig;
6
+ onRemoveWarning: (id: string) => void;
7
+ }
8
+ interface UseConfirmDeleteDialog {
9
+ onRemoveWarningWithConfirmation: (id: string) => Promise<void>;
10
+ }
11
+ export declare function useConfirmDeleteDialog({ areas, warnings, maritimeConfig, onRemoveWarning, }: UseConfirmDeleteDialogProps): UseConfirmDeleteDialog;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ export interface UseFilterChipSelectProps {
3
+ selectedIds: string[];
4
+ assignedIds: string[];
5
+ onToggleSelect?: (id: string) => void;
6
+ onSelectMultiple?: (ids: string[]) => void;
7
+ }
8
+ interface UseFilterChipSelect {
9
+ handleChipClick: (id: string, event: React.MouseEvent) => void;
10
+ }
11
+ export declare function useFilterChipSelect({ selectedIds, assignedIds, onToggleSelect, onSelectMultiple, }: UseFilterChipSelectProps): UseFilterChipSelect;
12
+ export {};
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import type { MaritimeWarningItem, MaritimeWarningItemAttributes } from './types';
3
+ export declare function createWarning(): MaritimeWarningItem;
4
+ export declare function isPublishedWarning(warning: MaritimeWarningItem): boolean;
5
+ interface State {
6
+ selectedAreaIds: string[];
7
+ warnings: MaritimeWarningItem[];
8
+ modified: boolean;
9
+ }
10
+ export declare const initialState: State;
11
+ interface Initialize {
12
+ type: 'initialize';
13
+ warnings: MaritimeWarningItem[];
14
+ }
15
+ interface ToggleSelectArea {
16
+ type: 'toggleSelectArea';
17
+ id: string;
18
+ }
19
+ interface SelectMultipleAreas {
20
+ type: 'selectMultipleAreas';
21
+ ids: string[];
22
+ }
23
+ interface NewWarning {
24
+ type: 'newWarning';
25
+ }
26
+ interface AddSelectedAreasToWarning {
27
+ type: 'addSelectedAreasToWarning';
28
+ id: string;
29
+ }
30
+ interface RemoveWarning {
31
+ type: 'removeWarning';
32
+ id: string;
33
+ }
34
+ interface ChangeWarning {
35
+ type: 'changeWarning';
36
+ id: string;
37
+ newValues: Partial<MaritimeWarningItemAttributes>;
38
+ }
39
+ interface RemoveArea {
40
+ type: 'removeArea';
41
+ areaId: string;
42
+ }
43
+ interface ClearWarnings {
44
+ type: 'clearWarnings';
45
+ }
46
+ interface MoveWarning {
47
+ type: 'moveWarning';
48
+ oldIndex: number;
49
+ newIndex: number;
50
+ }
51
+ interface MergeWarnings {
52
+ type: 'mergeWarnings';
53
+ }
54
+ interface SubmitWarnings {
55
+ type: 'submitWarnings';
56
+ }
57
+ type Action = ToggleSelectArea | NewWarning | Initialize | AddSelectedAreasToWarning | ChangeWarning | RemoveWarning | RemoveArea | ClearWarnings | MoveWarning | SelectMultipleAreas | MergeWarnings | SubmitWarnings;
58
+ export declare function reducer(state: State, action: Action): State;
59
+ export declare function useMaritimeWarningsFormState(): [
60
+ State,
61
+ React.Dispatch<Action>
62
+ ];
63
+ export {};
@@ -0,0 +1,7 @@
1
+ import type { MaritimeWarningItem, MaritimeWarningsConfig, MaritimeWarningsDomain } from './types';
2
+ import type { MaritimeWarning, MaritimeWarningsType } from '../../store/warningsForm/types';
3
+ export declare const isWarningsValid: (warnings: MaritimeWarningItem[], config: MaritimeWarningsConfig, allowEmpty?: boolean) => boolean;
4
+ export declare const getType: (domain: MaritimeWarningsDomain) => MaritimeWarningsType;
5
+ export declare const mapItemsToMaritimeWarnings: (warnings: MaritimeWarningItem[], domain: MaritimeWarningsDomain, maritimeConfig: MaritimeWarningsConfig, editor?: string, shouldExtend?: boolean) => MaritimeWarning[];
6
+ export declare const mapMaritimeWarningsToItems: (warnings: MaritimeWarning[]) => MaritimeWarningItem[];
7
+ export declare const validateWindDirectionChange: (directionFrom: string | undefined, directionTo: string | undefined, changeType: string | undefined, config?: MaritimeWarningsConfig) => true | "warning" | "error";
@@ -0,0 +1,13 @@
1
+ import type { FC } from 'react';
2
+ import type { AreaListItem } from '../../store/warningsDrawings/types';
3
+ export type SelectedAreaFeatureNamesByAreaId = Record<string, string[]>;
4
+ export declare const Areas: FC<{
5
+ areas: AreaListItem[];
6
+ onHoverArea?: (area: AreaListItem) => void;
7
+ onHoverAreaEnd?: () => void;
8
+ onClickArea: (area: AreaListItem) => void;
9
+ activeArea: string;
10
+ selectedAreaFeatureNamesByAreaId?: SelectedAreaFeatureNamesByAreaId;
11
+ isLoading?: boolean;
12
+ dialogWidth?: number;
13
+ }>;
@@ -0,0 +1,10 @@
1
+ import type { TFunction } from 'i18next';
2
+ import React from 'react';
3
+ export declare const getDeleteDescription: (objectName: string, t: TFunction) => string;
4
+ export declare const getDeleteSucces: (objectName: string, t: TFunction) => string;
5
+ export declare const ConfirmDeleteDialog: React.FC<{
6
+ objectId: string;
7
+ objectName: string;
8
+ onDeleteSucces: (objectId: string) => void;
9
+ onClose: () => void;
10
+ }>;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import type { HeaderSize, Position, DraggableSize } from '@opengeoweb/shared';
3
+ import type { uiTypes } from '@opengeoweb/store';
4
+ import type { SelectedAreaFeatureNamesByAreaId } from './Areas';
5
+ import type { AreaListItem, DrawingListItem } from '../../store/warningsDrawings/types';
6
+ export declare const ObjectManager: React.FC<{
7
+ bounds?: string;
8
+ title?: string;
9
+ onClose: () => void;
10
+ onMouseDown?: () => void;
11
+ isOpen: boolean;
12
+ order?: number;
13
+ source?: uiTypes.Source;
14
+ size?: DraggableSize;
15
+ startPosition?: Position;
16
+ headerSize?: HeaderSize;
17
+ drawingListItems: DrawingListItem[];
18
+ predefinedAreaListItems: AreaListItem[];
19
+ onClickDrawing?: (drawing: DrawingListItem) => void;
20
+ onClickArea?: (area: AreaListItem) => void;
21
+ onHoverArea?: (area: AreaListItem) => void;
22
+ onHoverAreaEnd?: () => void;
23
+ onEditDrawing?: (drawingId: string) => void;
24
+ onDeleteDrawing?: (drawingId: string) => void;
25
+ onShareObject?: (object: DrawingListItem) => void;
26
+ onCreateNewObject?: () => void;
27
+ activeDrawingId?: string;
28
+ selectedAreaFeatureNamesByAreaId?: SelectedAreaFeatureNamesByAreaId;
29
+ error?: string;
30
+ isLoading?: boolean;
31
+ selectedTab?: number;
32
+ onChangeTab?: (tab: number) => void;
33
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { uiTypes } from '@opengeoweb/store';
3
+ export declare const ObjectManagerConnect: React.FC<{
4
+ bounds?: string;
5
+ source?: uiTypes.Source;
6
+ }>;
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ import type { uiTypes } from '@opengeoweb/store';
3
+ export declare const ObjectManagerMapButtonConnect: React.FC<{
4
+ mapId: string;
5
+ source?: uiTypes.Source;
6
+ }>;
@@ -0,0 +1,29 @@
1
+ import type { FC } from 'react';
2
+ import type { DrawingListItem } from '../../store/warningsDrawings/types';
3
+ export declare const DEFAULT_ADD_BUTTON_HEIGHT = 80;
4
+ export declare const DEFAULT_OBJECT_MANAGER_TAB_HEIGHT = 40;
5
+ export declare const DEFAULT_OBJECT_MANAGER_MIN_SIZE: {
6
+ width: number;
7
+ height: number;
8
+ };
9
+ export declare const BUTTON_AIRMET = "AIRMET";
10
+ export declare const BUTTON_SIGMET = "SIGMET";
11
+ type ListInclHeadersType = {
12
+ isObject: boolean;
13
+ index: number;
14
+ }[];
15
+ export declare const getListInclHeaders: (objects: DrawingListItem[]) => {
16
+ listInclHeaders: ListInclHeadersType;
17
+ headerList: string[];
18
+ };
19
+ export declare const Objects: FC<{
20
+ objects: DrawingListItem[];
21
+ onClickObject: (object: DrawingListItem) => void;
22
+ onClickEdit: (objectId: string) => void;
23
+ onClickDelete: (drawingId: string) => void;
24
+ onClickShare: (object: DrawingListItem) => void;
25
+ activeObject: string;
26
+ isLoading?: boolean;
27
+ dialogWidth?: number;
28
+ }>;
29
+ export {};
@@ -0,0 +1,2 @@
1
+ export { ObjectManagerMapButtonConnect } from './ObjectManagerMapButtonConnect';
2
+ export { ObjectManagerConnect } from './ObjectManagerConnect';
@@ -0,0 +1,29 @@
1
+ import type { Theme } from '@mui/material';
2
+ import type { Store } from '@reduxjs/toolkit';
3
+ import { QueryClient } from '@tanstack/react-query';
4
+ import React from 'react';
5
+ interface WarningsClientProviderProps {
6
+ children: React.ReactNode;
7
+ optionalQueryClient?: QueryClient;
8
+ }
9
+ export interface WarningsThemeProviderProps extends WarningsClientProviderProps {
10
+ theme?: Theme;
11
+ }
12
+ export declare const WarningsThemeProvider: React.FC<WarningsThemeProviderProps>;
13
+ interface WarningStoreProviderProps {
14
+ store?: Store;
15
+ optionalQueryClient?: QueryClient;
16
+ isLoggedIn?: boolean;
17
+ }
18
+ export declare const WarningsStoreProvider: React.FC<WarningStoreProviderProps & WarningsClientProviderProps>;
19
+ export interface WarningsThemeStoreProviderProps extends WarningsThemeProviderProps {
20
+ store?: Store;
21
+ optionalQueryClient?: QueryClient;
22
+ isLoggedIn?: boolean;
23
+ }
24
+ export declare const WarningsThemeStoreProvider: React.FC<WarningsThemeStoreProviderProps>;
25
+ interface WarningsTranslationsWrapperProps {
26
+ children?: React.ReactNode;
27
+ }
28
+ export declare const WarningsI18nProvider: React.FC<WarningsTranslationsWrapperProps>;
29
+ export {};
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { AirmetFromBackend, SigmetFromBackend } from '@opengeoweb/api';
3
+ export interface ConfirmDialogProps {
4
+ title: string;
5
+ description: string;
6
+ request: () => Promise<void> | Promise<Headers | null> | Promise<SigmetFromBackend | AirmetFromBackend> | Promise<string[]>;
7
+ confirmLabel: string;
8
+ callback?: (data?: unknown) => void;
9
+ isLocked?: boolean;
10
+ }
11
+ export declare const ConfirmDeleteWarningDialog: React.FC<{
12
+ onClose: () => void;
13
+ } & ConfirmDialogProps>;
14
+ export default ConfirmDeleteWarningDialog;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { WarningType } from '../../../store/warningsForm/types';
3
+ export declare const BUTTON_AIRMET = "AIRMET";
4
+ export declare const BUTTON_SIGMET = "SIGMET";
5
+ export interface NewWarningButtonProps {
6
+ onCreateWarning: (warningType?: WarningType) => void;
7
+ isDefaultOpen?: boolean;
8
+ }
9
+ export declare const NewWarningButton: React.FC<NewWarningButtonProps>;
@@ -0,0 +1,32 @@
1
+ import React from 'react';
2
+ import type { WarningListItemActions } from './WarningListItemMenu';
3
+ import type { Warning } from '../../store/warningsForm/types';
4
+ import type { FilterHookState } from '../FilterList/filter-hooks';
5
+ export interface PublicWarningListProps extends WarningListItemActions {
6
+ warnings: Warning[];
7
+ onSelectWarning?: (warning: Warning) => void;
8
+ isLoading?: boolean;
9
+ error?: Error;
10
+ selectedWarningId?: string;
11
+ lastUpdatedTime?: string;
12
+ onCreateWarning?: () => void;
13
+ onRefetchWarnings?: () => void;
14
+ filterHookState: FilterHookState;
15
+ hoveredFeatureId?: string;
16
+ expandedSections: Record<string, boolean>;
17
+ setExpandedSections: (expandedSections: Record<string, boolean>) => void;
18
+ onHoverWarning?: (warningId?: string) => void;
19
+ onActionAviationWarning?: () => void;
20
+ onClickBatchDelete?: (warningIds: string[]) => void;
21
+ limitAlertCount?: number;
22
+ showLimitAlert?: boolean;
23
+ shouldDisableAviationAmendOption: boolean;
24
+ hiddenWarningIds?: Set<string>;
25
+ onToggleWarningVisibility?: (warningId: string) => void;
26
+ selectedForBatchDelete?: string[];
27
+ toggleWarningForBatchDelete?: (warningId: string) => void;
28
+ onSelectAllForBatchDelete?: (warningIds: string[]) => void;
29
+ onClearBatchDeleteSelection?: () => void;
30
+ }
31
+ export declare const PublicWarningList: React.FC<PublicWarningListProps>;
32
+ export default PublicWarningList;