@opengeoweb/warnings 12.11.0 → 12.13.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 (33) hide show
  1. package/index.esm.js +1035 -410
  2. package/package.json +12 -12
  3. package/src/lib/Warnings.stories.d.ts +10 -1
  4. package/src/lib/api/warning-api/api.d.ts +5 -1
  5. package/src/lib/api/warning-api/hooks.d.ts +11 -2
  6. package/src/lib/components/MaritimeWarningsForm/AreaList/AreaList.d.ts +6 -4
  7. package/src/lib/components/MaritimeWarningsForm/AssignedAreas/AssignedAreas.d.ts +4 -2
  8. package/src/lib/components/MaritimeWarningsForm/AssignedAreas/AssignedAreas.spec.d.ts +1 -0
  9. package/src/lib/components/MaritimeWarningsForm/MaritimeWarningsAvatar.d.ts +8 -0
  10. package/src/lib/components/MaritimeWarningsForm/MaritimeWarningsForm.d.ts +16 -2
  11. package/src/lib/components/MaritimeWarningsForm/MaritimeWarningsForm.spec.d.ts +1 -2
  12. package/src/lib/components/MaritimeWarningsForm/MaritimeWarningsForm.stories.d.ts +9 -3
  13. package/src/lib/components/MaritimeWarningsForm/MaritimeWarningsFormConnect.stories.d.ts +2 -0
  14. package/src/lib/components/MaritimeWarningsForm/WarningList/WarningList.d.ts +5 -2
  15. package/src/lib/components/MaritimeWarningsForm/WarningList/WarningListItem.d.ts +6 -3
  16. package/src/lib/components/MaritimeWarningsForm/WarningList/WarningListSelect.d.ts +3 -2
  17. package/src/lib/components/MaritimeWarningsForm/WarningList/WindForceSelect.d.ts +4 -2
  18. package/src/lib/components/MaritimeWarningsForm/testUtils.d.ts +3 -0
  19. package/src/lib/components/MaritimeWarningsForm/types.d.ts +25 -0
  20. package/src/lib/components/MaritimeWarningsForm/useConfirmRetractDialog.d.ts +4 -3
  21. package/src/lib/components/MaritimeWarningsForm/useFilterChipSelect.d.ts +12 -0
  22. package/src/lib/components/MaritimeWarningsForm/useFilterChipSelect.spec.d.ts +1 -0
  23. package/src/lib/components/MaritimeWarningsForm/useMaritimeWarningsFormState.d.ts +11 -1
  24. package/src/lib/components/MaritimeWarningsForm/utils.d.ts +5 -1
  25. package/src/lib/components/PublicWarningList/PublicWarningList.stories.d.ts +4 -0
  26. package/src/lib/components/PublicWarningList/PublicWarningListConnect.maritime.integration.spec.d.ts +1 -0
  27. package/src/lib/components/PublicWarningList/PublicWarningListConnect.stories.d.ts +9 -1
  28. package/src/lib/components/PublicWarningList/WarningListItemMenu.d.ts +3 -2
  29. package/src/lib/store/publicWarningForm/types.d.ts +16 -2
  30. package/src/lib/utils/fakeApi/index.d.ts +4 -2
  31. package/src/lib/utils/sig-airmet-util.d.ts +2 -2
  32. package/src/lib/components/MaritimeWarningsForm/areas.d.ts +0 -2
  33. package/src/lib/components/MaritimeWarningsForm/options.d.ts +0 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/warnings",
3
- "version": "12.11.0",
3
+ "version": "12.13.0",
4
4
  "description": "GeoWeb warinings library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,25 +8,25 @@
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
10
  "dependencies": {
11
- "@opengeoweb/api": "12.11.0",
12
- "@opengeoweb/shared": "12.11.0",
13
- "@opengeoweb/store": "12.11.0",
14
- "@opengeoweb/webmap-react": "12.11.0",
11
+ "@opengeoweb/api": "12.13.0",
12
+ "@opengeoweb/shared": "12.13.0",
13
+ "@opengeoweb/store": "12.13.0",
14
+ "@opengeoweb/webmap-react": "12.13.0",
15
15
  "@tanstack/react-query": "^5.69.2",
16
16
  "react-redux": "^9.2.0",
17
- "@opengeoweb/theme": "12.11.0",
18
- "@opengeoweb/form-fields": "12.11.0",
17
+ "@opengeoweb/theme": "12.13.0",
18
+ "@opengeoweb/form-fields": "12.13.0",
19
19
  "react-hook-form": "^7.50.1",
20
20
  "lodash": "^4.17.21",
21
21
  "@reduxjs/toolkit": "^2.6.1",
22
- "@opengeoweb/snackbar": "12.11.0",
22
+ "@opengeoweb/snackbar": "12.13.0",
23
23
  "react-window": "^1.8.10",
24
24
  "react-virtualized-auto-sizer": "^1.0.20",
25
25
  "axios": "^1.7.7",
26
- "@opengeoweb/core": "12.11.0",
27
- "@opengeoweb/webmap": "12.11.0",
28
- "@opengeoweb/authentication": "12.11.0",
29
- "@opengeoweb/sigmet-airmet": "12.11.0",
26
+ "@opengeoweb/core": "12.13.0",
27
+ "@opengeoweb/webmap": "12.13.0",
28
+ "@opengeoweb/authentication": "12.13.0",
29
+ "@opengeoweb/sigmet-airmet": "12.13.0",
30
30
  "react-i18next": "^15.1.1",
31
31
  "i18next": "^25.0.1",
32
32
  "@mui/material": "^7.0.1",
@@ -4,4 +4,13 @@ declare const _default: {
4
4
  tags: string[];
5
5
  };
6
6
  export default _default;
7
- export declare const WarningsDemo: () => React.ReactElement;
7
+ export declare const WarningsDemo: {
8
+ (): React.ReactElement;
9
+ parameters: {
10
+ msw: {
11
+ handlers: {
12
+ warnings: import("msw").HttpHandler[];
13
+ };
14
+ };
15
+ };
16
+ };
@@ -1,10 +1,13 @@
1
1
  import { Credentials } from '@opengeoweb/authentication';
2
- import { PublicWarning } from '../../store/publicWarningForm/types';
2
+ import { MaritimeWarning, MaritimeWarningsType, PublicWarning } from '../../store/publicWarningForm/types';
3
3
  import { DrawingFromBE, DrawingFromFE, DrawingListItem, FetchDrawingParams } from '../../store/warningsDrawings/types';
4
+ import { MaritimeWarningsConfig } from '../../components/MaritimeWarningsForm/types';
4
5
  export declare const getPublicWarningList: (auth: Credentials) => Promise<PublicWarning[]>;
5
6
  export declare const updatePublicWarningEditor: (warningId: string, isEditor: boolean, auth: Credentials, force?: boolean) => Promise<Headers | null>;
6
7
  export declare const updatePublicWarning: (warningId: string, auth: Credentials, data: PublicWarning) => Promise<Headers | null>;
7
8
  export declare const postPublicWarning: (auth: Credentials, data: PublicWarning) => Promise<Headers | null>;
9
+ export declare const postMaritimeWarnings: (auth: Credentials, data: MaritimeWarning[]) => Promise<Headers | null>;
10
+ export declare const updateMaritimeWarningsEditor: (domain: MaritimeWarningsType, isEditor: boolean, auth: Credentials, force?: boolean) => Promise<Headers | null>;
8
11
  export declare const deleteWarning: (warningId: string, auth: Credentials) => Promise<null>;
9
12
  export declare const getDrawings: (auth: Credentials, params?: FetchDrawingParams) => Promise<DrawingListItem[]>;
10
13
  export declare const getDrawingDetails: (auth: Credentials, drawingId: string) => Promise<DrawingFromBE>;
@@ -12,3 +15,4 @@ export declare const getAreaKeywords: (auth: Credentials) => Promise<string[]>;
12
15
  export declare const saveDrawingAs: (auth: Credentials, data: DrawingFromFE) => Promise<Headers>;
13
16
  export declare const updateDrawing: (auth: Credentials, drawingId: string, data: DrawingFromFE) => Promise<void>;
14
17
  export declare const deleteDrawing: (auth: Credentials, drawingId: string) => Promise<void>;
18
+ export declare const getMaritimeWarningsConfig: (auth: Credentials) => Promise<MaritimeWarningsConfig>;
@@ -1,11 +1,12 @@
1
1
  import { UseMutationResult, UseQueryResult } from '@tanstack/react-query';
2
- import { PublicWarning } from '../../store/publicWarningForm/types';
2
+ import { MaritimeWarning, MaritimeWarningsType, PublicWarning } from '../../store/publicWarningForm/types';
3
3
  import { DrawingFromBE, DrawingFromFE, DrawingListItem, FetchDrawingParams } from '../../store/warningsDrawings/types';
4
+ import { MaritimeWarningsConfig } from '../../components/MaritimeWarningsForm/types';
4
5
  /**
5
6
  * @param disabled - Disables fetching, but still returns cached values.
6
7
  * https://tanstack.com/query/v4/docs/framework/react/guides/disabling-queries
7
8
  */
8
- export declare const usePublicWarnings: (disabled?: boolean) => UseQueryResult<PublicWarning[]>;
9
+ export declare const usePublicWarnings: (disabled?: boolean) => UseQueryResult<(PublicWarning | MaritimeWarning)[]>;
9
10
  type MutationReturnType<T> = UseMutationResult<Headers | null, Error, T, {
10
11
  oldData: PublicWarning[] | undefined;
11
12
  }>;
@@ -43,4 +44,12 @@ interface DeleteDrawingParams {
43
44
  export declare const useMutateDeleteDrawing: () => UseMutationResult<{
44
45
  id: string;
45
46
  }, Error, DeleteDrawingParams>;
47
+ export declare const usePostMaritimeWarnings: () => MutationReturnType<MaritimeWarning[]>;
48
+ interface MutateMaritimeEditorParams {
49
+ domain: MaritimeWarningsType;
50
+ isEditor: boolean;
51
+ force?: boolean;
52
+ }
53
+ export declare const useMutateMaritimeWarningsEditor: () => MutationReturnType<MutateMaritimeEditorParams>;
54
+ export declare const useMaritimeWarningsConfig: (disabled?: boolean) => UseQueryResult<MaritimeWarningsConfig>;
46
55
  export {};
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
- import { Area } from '../types';
2
+ import { DistrictsType } from '../types';
3
3
  export interface AreaListProps {
4
- areas: Area[];
4
+ areas: DistrictsType[];
5
5
  selected: string[];
6
6
  disabled: string[];
7
- onClickItem?: (id: string) => void;
7
+ isReadOnly?: boolean;
8
+ onToggleSelectArea?: (id: string) => void;
9
+ onSelectMultipleAreas: (ids: string[]) => void;
8
10
  }
9
- export declare const AreaList: React.MemoExoticComponent<({ areas, selected, disabled, onClickItem }: AreaListProps) => import("react/jsx-runtime").JSX.Element>;
11
+ export declare const AreaList: React.MemoExoticComponent<({ areas, selected, disabled, isReadOnly, onToggleSelectArea, onSelectMultipleAreas, }: AreaListProps) => import("react/jsx-runtime").JSX.Element>;
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
- import { Area } from '../types';
2
+ import { DistrictsType } from '../types';
3
3
  export interface AssignedAreasProps {
4
- assignedAreas: Area[];
4
+ assignedAreas: DistrictsType[];
5
5
  selectedAreaIds: string[];
6
6
  onAddClick: () => void;
7
7
  onDeleteClick: (id: string) => void;
8
8
  onToggleSelectArea: (id: string) => void;
9
+ onSelectMultipleAreas: (id: string[]) => void;
9
10
  shouldShowDistricts?: boolean;
11
+ isReadOnly?: boolean;
10
12
  }
11
13
  export declare const AssignedAreas: React.FC<AssignedAreasProps>;
@@ -0,0 +1,8 @@
1
+ import { TooltipProps } from '@mui/material';
2
+ import * as 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;
@@ -1,11 +1,15 @@
1
+ import { AlertColor } from '@mui/material';
1
2
  import React from 'react';
2
- import type { MaritimeWarningItem, Area, MaritimeWarningItemAttributes } from './types';
3
+ import { TFunction } from 'i18next';
4
+ import type { MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig, DistrictsType } from './types';
5
+ export declare const getWarningsValidity: (t: TFunction, warnings: MaritimeWarningItem[]) => string;
3
6
  export interface MaritimeWarningsFormProps {
4
- areas: Area[];
7
+ areas: DistrictsType[];
5
8
  selectedAreaIds: string[];
6
9
  warnings: MaritimeWarningItem[];
7
10
  modified: boolean;
8
11
  onToggleSelectArea: (id: string) => void;
12
+ onSelectMultipleAreas: (ids: string[]) => void;
9
13
  onAddSelectedAreas: (id: string) => void;
10
14
  onRemoveWarning: (id: string) => void;
11
15
  onRemoveArea: (id: string) => void;
@@ -14,6 +18,16 @@ export interface MaritimeWarningsFormProps {
14
18
  onMoveWarning: (oldIndex: number, newIndex: number) => void;
15
19
  onSubmit: () => void;
16
20
  onClear: () => void;
21
+ onToggleReadOnly: (isReadOnly: boolean) => void;
22
+ isReadOnly: boolean;
23
+ shouldHideEditorToggle: boolean;
17
24
  shouldShowDistricts?: boolean;
25
+ editor?: string;
26
+ error?: {
27
+ title: string;
28
+ severity: AlertColor;
29
+ };
30
+ maritimeConfig: MaritimeWarningsConfig;
31
+ lastUpdatedTime?: string;
18
32
  }
19
33
  export declare const MaritimeWarningsForm: React.FC<MaritimeWarningsFormProps>;
@@ -1,2 +1 @@
1
- import { WarningListSelectOption } from './WarningList/WarningListSelect';
2
- export declare function selectOption(container: HTMLElement, comboboxLabel: string, optionLabel: WarningListSelectOption['label']): Promise<void>;
1
+ export {};
@@ -3,7 +3,13 @@ import { MaritimeWarningsForm } from './MaritimeWarningsForm';
3
3
  type Story = StoryObj<typeof MaritimeWarningsForm>;
4
4
  declare const meta: Meta<typeof MaritimeWarningsForm>;
5
5
  export default meta;
6
- export declare const LightMode: Story;
7
- export declare const DarkMode: Story;
8
- export declare const MaritimeWarningsFormMobileLight: Story;
6
+ export declare const ViewerLightMode: Story;
7
+ export declare const EditorLightMode: Story;
8
+ export declare const ViewerDarkMode: Story;
9
+ export declare const EditorDarkMode: Story;
10
+ export declare const MaritimeWarningsFormViewerMobileLight: Story;
11
+ export declare const MaritimeWarningsFormEditorMobileLight: Story;
12
+ export declare const MaritimeWarningsFormViewerMobileDark: Story;
9
13
  export declare const MaritimeWarningsFormMobileDark: Story;
14
+ export declare const ErrorExample: Story;
15
+ export declare const WarningExample: Story;
@@ -9,3 +9,5 @@ export declare const LightMode: Story;
9
9
  export declare const DarkMode: Story;
10
10
  export declare const CoastalWatersLight: Story;
11
11
  export declare const CoastalWatersDark: Story;
12
+ export declare const EditorToggleDemo: Story;
13
+ export declare const EditorTakeoverDemo: Story;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import { Area, MaritimeWarningItem, MaritimeWarningItemAttributes } from '../types';
2
+ import { DistrictsType, MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig } from '../types';
3
3
  export interface WarningListProps {
4
4
  warnings: MaritimeWarningItem[];
5
5
  onAddSelectedAreas: (id: string) => void;
@@ -7,9 +7,12 @@ export interface WarningListProps {
7
7
  onRemoveWarning: (id: string) => void;
8
8
  onChangeWarning: (id: string, newValues: Partial<MaritimeWarningItemAttributes>) => void;
9
9
  onToggleSelectArea: (areaId: string) => void;
10
+ onSelectMultipleAreas: (areaIds: string[]) => void;
10
11
  onMoveWarning: (oldIndex: number, newIndex: number) => void;
11
12
  selectedAreaIds: string[];
12
- areas: Area[];
13
+ areas: DistrictsType[];
14
+ isReadOnly: boolean;
13
15
  shouldShowDistricts?: boolean;
16
+ maritimeConfig: MaritimeWarningsConfig;
14
17
  }
15
18
  export declare const WarningList: React.FC<WarningListProps>;
@@ -1,14 +1,17 @@
1
1
  import React from 'react';
2
- import { Area, MaritimeWarningItem, MaritimeWarningItemAttributes } from '../types';
2
+ import { DistrictsType, MaritimeWarningItem, MaritimeWarningItemAttributes, MaritimeWarningsConfig } from '../types';
3
3
  export interface WarningListItemProps {
4
4
  warning: MaritimeWarningItem;
5
- areas: Area[];
5
+ areas: DistrictsType[];
6
6
  selectedAreaIds: string[];
7
+ isReadOnly: boolean;
7
8
  onAddClick: (id: string) => void;
8
9
  onRemove: (id: string) => void;
9
10
  onChange: (id: string, values: MaritimeWarningItemAttributes) => void;
10
11
  onToggleSelectArea: (id: string) => void;
12
+ onSelectMultipleAreas: (ids: string[]) => void;
11
13
  onRemoveArea: (id: string) => void;
12
14
  shouldShowDistricts?: boolean;
15
+ maritimeConfig: MaritimeWarningsConfig;
13
16
  }
14
- export declare const WarningListItem: React.MemoExoticComponent<({ warning, areas, selectedAreaIds, onAddClick, onRemove, onChange, onToggleSelectArea, onRemoveArea, shouldShowDistricts, }: WarningListItemProps) => import("react/jsx-runtime").JSX.Element>;
17
+ export declare const WarningListItem: React.MemoExoticComponent<({ warning, areas, selectedAreaIds, onAddClick, onRemove, onChange, onToggleSelectArea, onSelectMultipleAreas, onRemoveArea, isReadOnly, shouldShowDistricts, maritimeConfig, }: WarningListItemProps) => import("react/jsx-runtime").JSX.Element>;
@@ -14,6 +14,7 @@ export interface WarningListSelectProps {
14
14
  renderValue?: (option: unknown) => React.ReactNode;
15
15
  gridArea: string;
16
16
  additionalStyling?: SxProps;
17
- isDisabled?: boolean;
17
+ isReadOnly?: boolean;
18
+ displayEmpty?: boolean;
18
19
  }
19
- export declare const WarningListSelect: React.MemoExoticComponent<({ options, value, label, onChange, renderOption, renderValue, gridArea, additionalStyling, isDisabled, }: WarningListSelectProps) => import("react/jsx-runtime").JSX.Element>;
20
+ export declare const WarningListSelect: React.MemoExoticComponent<({ options, value, label, onChange, renderOption, renderValue, gridArea, additionalStyling, isReadOnly, displayEmpty, }: WarningListSelectProps) => import("react/jsx-runtime").JSX.Element>;
@@ -14,9 +14,11 @@ export interface WindForceOption {
14
14
  level: WindForceLevel;
15
15
  value: string;
16
16
  }
17
- export declare const WindForceSelect: React.FC<{
17
+ export interface WindForceSelectProps {
18
18
  value?: string;
19
19
  onChange: (value: string) => void;
20
20
  gridArea: string;
21
21
  options: WindForceOption[];
22
- }>;
22
+ isReadOnly?: boolean;
23
+ }
24
+ export declare const WindForceSelect: React.FC<WindForceSelectProps>;
@@ -0,0 +1,3 @@
1
+ import { 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>;
@@ -7,9 +7,34 @@ export interface MaritimeWarningItemAttributes {
7
7
  windForce?: string;
8
8
  changeType?: string;
9
9
  windDirectionTo?: string;
10
+ validFrom?: string;
11
+ validUntil?: string;
10
12
  }
11
13
  export interface MaritimeWarningItem extends MaritimeWarningItemAttributes {
12
14
  id: string;
13
15
  assignedAreaIds: string[];
14
16
  }
15
17
  export type MaritimeWarningsDomain = 'northSeaDistricts' | 'coastalWaters';
18
+ export interface WindDirectionType {
19
+ value: string;
20
+ label: string;
21
+ }
22
+ export interface DistrictsType {
23
+ geoJSON: GeoJSON.FeatureCollection;
24
+ districtName: string;
25
+ }
26
+ export interface LevelDefinitionType {
27
+ windForce: string;
28
+ level: string;
29
+ }
30
+ export interface ChangeType {
31
+ label: string;
32
+ key: string;
33
+ }
34
+ export type MaritimeLevelTiming = 'maritimeLevelsSummer' | 'maritimeLevelsWinter';
35
+ export interface MaritimeWarningsConfig {
36
+ districtList: Record<MaritimeWarningsDomain, DistrictsType[]>;
37
+ maritimeLevelDefinition: Record<MaritimeLevelTiming, LevelDefinitionType[]>;
38
+ windDirectionDefinition: WindDirectionType[];
39
+ changeType: ChangeType[];
40
+ }
@@ -1,11 +1,12 @@
1
- import { Area, MaritimeWarningItem } from './types';
1
+ import { DistrictsType, MaritimeWarningItem, MaritimeWarningsConfig } from './types';
2
2
  interface UseConfirmRetractDialogProps {
3
- areas: Area[];
3
+ areas: DistrictsType[];
4
4
  warnings: MaritimeWarningItem[];
5
+ maritimeConfig: MaritimeWarningsConfig;
5
6
  onRemoveWarning: (id: string) => void;
6
7
  }
7
8
  interface UseConfirmRetractDialog {
8
9
  onRemoveWarningWithConfirmation(id: string): Promise<void>;
9
10
  }
10
- export declare function useConfirmRetractDialog({ areas, warnings, onRemoveWarning, }: UseConfirmRetractDialogProps): UseConfirmRetractDialog;
11
+ export declare function useConfirmRetractDialog({ areas, warnings, maritimeConfig, onRemoveWarning, }: UseConfirmRetractDialogProps): UseConfirmRetractDialog;
11
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 {};
@@ -16,6 +16,10 @@ interface ToggleSelectArea {
16
16
  type: 'toggleSelectArea';
17
17
  id: string;
18
18
  }
19
+ interface SelectMultipleAreas {
20
+ type: 'selectMultipleAreas';
21
+ ids: string[];
22
+ }
19
23
  interface NewWarning {
20
24
  type: 'newWarning';
21
25
  }
@@ -44,7 +48,13 @@ interface MoveWarning {
44
48
  oldIndex: number;
45
49
  newIndex: number;
46
50
  }
47
- type Action = ToggleSelectArea | NewWarning | Initialize | AddSelectedAreasToWarning | ChangeWarning | RemoveWarning | RemoveArea | ClearWarnings | MoveWarning;
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;
48
58
  export declare function reducer(state: State, action: Action): State;
49
59
  export declare function useMaritimeWarningsFormState(): [
50
60
  State,
@@ -1,2 +1,6 @@
1
- import { MaritimeWarningItem } from './types';
1
+ import { MaritimeWarning, MaritimeWarningsType } from '../../store/publicWarningForm/types';
2
+ import { MaritimeWarningItem, MaritimeWarningsConfig, MaritimeWarningsDomain } from './types';
2
3
  export declare const isWarningsValid: (warnings: MaritimeWarningItem[]) => boolean;
4
+ export declare const getType: (domain: MaritimeWarningsDomain) => MaritimeWarningsType;
5
+ export declare const mapItemsToMaritimeWarnings: (warnings: MaritimeWarningItem[], domain: MaritimeWarningsDomain, maritimeConfig: MaritimeWarningsConfig, editor?: string) => MaritimeWarning[];
6
+ export declare const mapMaritimeWarningsToItems: (warnings: MaritimeWarning[]) => MaritimeWarningItem[];
@@ -54,3 +54,7 @@ export declare const PublicWarningListSmallDark: {
54
54
  (): React.ReactElement;
55
55
  tags: string[];
56
56
  };
57
+ export declare const PublicWarningListMaritime: {
58
+ (): React.ReactElement;
59
+ tags: string[];
60
+ };
@@ -7,7 +7,15 @@ declare const _default: {
7
7
  tags: string[];
8
8
  };
9
9
  export default _default;
10
- export declare const LightMode: {};
10
+ export declare const LightMode: {
11
+ parameters: {
12
+ msw: {
13
+ handlers: {
14
+ warnings: import("msw").HttpHandler[];
15
+ };
16
+ };
17
+ };
18
+ };
11
19
  export declare const ListError: {
12
20
  parameters: {
13
21
  msw: {
@@ -1,7 +1,7 @@
1
1
  import { MenuItemType } from '@opengeoweb/shared';
2
2
  import { ProductAction } from '@opengeoweb/sigmet-airmet';
3
3
  import { TFunction } from 'i18next';
4
- import { Warning } from '../../store/publicWarningForm/types';
4
+ import { MaritimeWarning, MaritimeWarningAction, Warning } from '../../store/publicWarningForm/types';
5
5
  export interface WarningListItemActions {
6
6
  onEditWarning?: (warning: Warning) => void;
7
7
  onDeleteWarning?: (warningId: string, warningEditor?: string) => void;
@@ -9,10 +9,11 @@ export interface WarningListItemActions {
9
9
  onExpireWarning?: (warning: Warning) => void;
10
10
  onWithdrawWarning?: (warning: Warning) => void;
11
11
  onActionAviationWarning?: (warning: Warning, actionType?: ProductAction) => void;
12
+ onActionMaritimeWarning?: (warning: MaritimeWarning, actionType?: MaritimeWarningAction) => void;
12
13
  }
13
14
  interface WarningListItemMenuProps extends WarningListItemActions {
14
15
  warning: Warning;
15
16
  t: TFunction;
16
17
  }
17
- declare const WarningListItemMenu: ({ warning, onEditWarning, onDeleteWarning, onDeleteReviewWarning, onExpireWarning, onWithdrawWarning, onActionAviationWarning, t, }: WarningListItemMenuProps) => MenuItemType[];
18
+ declare const WarningListItemMenu: ({ warning, onEditWarning, onDeleteWarning, onDeleteReviewWarning, onExpireWarning, onWithdrawWarning, onActionAviationWarning, onActionMaritimeWarning, t, }: WarningListItemMenuProps) => MenuItemType[];
18
19
  export default WarningListItemMenu;
@@ -34,7 +34,12 @@ export declare enum PublicWarningStatus {
34
34
  IGNORED = "IGNORED",
35
35
  WITHDRAWN = "WITHDRAWN"
36
36
  }
37
- export type WarningType = 'public' | 'airmet' | 'sigmet' | 'maritimeWarningCoastal' | 'maritimeWarningNorthSea';
37
+ export declare enum MaritimeWarningAction {
38
+ SELECT = "SELECT",
39
+ UPDATE = "UPDATE"
40
+ }
41
+ export type MaritimeWarningsType = 'maritimeWarningCoastal' | 'maritimeWarningNorthSea';
42
+ export type WarningType = 'public' | 'airmet' | 'sigmet' | MaritimeWarningsType;
38
43
  interface BaseWarning {
39
44
  status?: PublicWarningStatus;
40
45
  productStatus?: ProductStatus;
@@ -54,5 +59,14 @@ export interface SigmetWarning extends BaseWarning {
54
59
  type: 'sigmet';
55
60
  sigmetAirmetDetails: Sigmet | CancelSigmet;
56
61
  }
57
- export type Warning = PublicWarning | AirmetWarning | SigmetWarning;
62
+ export interface MaritimeWarning extends BaseWarning {
63
+ type: MaritimeWarningsType;
64
+ warningDetail: PublicWarningDetail & {
65
+ windDirectionFrom?: string;
66
+ windForce?: string;
67
+ changeType?: string;
68
+ windDirectionTo?: string;
69
+ };
70
+ }
71
+ export type Warning = PublicWarning | AirmetWarning | SigmetWarning | MaritimeWarning;
58
72
  export {};
@@ -1,7 +1,7 @@
1
1
  import { RequestHandler } from 'msw';
2
2
  import { SigmetFromBackend } from '@opengeoweb/api';
3
3
  import type { DrawingFromBE, DrawingListItem } from '../../store/warningsDrawings/types';
4
- import type { AirmetWarning, PublicWarning, SigmetWarning, Warning } from '../../store/publicWarningForm/types';
4
+ import type { AirmetWarning, MaritimeWarning, PublicWarning, SigmetWarning, Warning } from '../../store/publicWarningForm/types';
5
5
  export declare const newSigmet: SigmetFromBackend;
6
6
  declare const drawingList: DrawingListItem[];
7
7
  declare const drawingsListFullContent: DrawingFromBE[];
@@ -9,10 +9,12 @@ declare const warningList: PublicWarning[];
9
9
  declare const lengthWarningListWithoutExpiredWithdrawn: number;
10
10
  declare const sigmetList: SigmetWarning[];
11
11
  declare const airmetList: AirmetWarning[];
12
+ declare const maritimeList: MaritimeWarning[];
12
13
  declare const combinedWarnings: Warning[];
13
14
  declare const areaKeywordList: string[];
14
15
  export declare const publicWarningEndpoints: import("msw").HttpHandler[];
16
+ export declare const maritimeWarningEndpoints: import("msw").HttpHandler[];
15
17
  export declare const drawingEndpoints: import("msw").HttpHandler[];
16
18
  export declare const makeWarningsHandler: (result: Warning[]) => RequestHandler;
17
19
  declare const requestHandlers: import("msw").HttpHandler[];
18
- export { drawingList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, combinedWarnings, areaKeywordList, requestHandlers, };
20
+ export { drawingList, drawingsListFullContent, warningList, lengthWarningListWithoutExpiredWithdrawn, sigmetList, airmetList, combinedWarnings, areaKeywordList, requestHandlers, maritimeList, };
@@ -4,8 +4,8 @@ import { Warning, PublicWarningStatus, AviationWarningDetails, AirmetWarning, Si
4
4
  export declare function isCancelAirmet(warningDetail: AviationWarningDetails): warningDetail is CancelAirmet;
5
5
  export declare function isCancelSigmet(warningDetail: AviationWarningDetails): warningDetail is CancelSigmet;
6
6
  export declare const flattenPublicWarning: (publicWarning: Warning) => Partial<AviationWarningDetails>;
7
- export declare const transformAirmetToWarningFormat: (apiAirmet: AirmetFromBackend, productConfig: ProductConfig) => AirmetWarning;
8
- export declare const transformSigmetToWarningFormat: (apiSigmet: SigmetFromBackend, productConfig: ProductConfig) => SigmetWarning;
7
+ export declare const transformAirmetToWarningFormat: (apiAirmet: AirmetFromBackend) => AirmetWarning;
8
+ export declare const transformSigmetToWarningFormat: (apiSigmet: SigmetFromBackend) => SigmetWarning;
9
9
  export declare const mapProductStatusToWarningStatus: (productStatus?: ProductStatus) => PublicWarningStatus;
10
10
  export declare const transformSigmetToProductFormat: (warning: SigmetFromBackend | undefined) => AviationProduct;
11
11
  export declare const transformAirmetToProductFormat: (warning: AirmetFromBackend | undefined) => AviationProduct;
@@ -1,2 +0,0 @@
1
- import { Area, MaritimeWarningsDomain } from './types';
2
- export declare const areasByDomain: Record<MaritimeWarningsDomain, Area[]>;
@@ -1,5 +0,0 @@
1
- import { WindForceOption } from './WarningList/WindForceSelect';
2
- import { WarningListSelectOption } from './WarningList/WarningListSelect';
3
- export declare const windDirections: WarningListSelectOption[];
4
- export declare const change: WarningListSelectOption[];
5
- export declare const windForce: WindForceOption[];