@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,10 @@
1
+ import React from 'react';
2
+ import type { ExpandedWarningSections } from '../../store/warningsFilters/types';
3
+ import type { PickedFilterState } from '../FilterList/filter-hooks';
4
+ export interface PublicWarningListConnectProps {
5
+ panelId: string;
6
+ presetFilterState?: PickedFilterState;
7
+ presetExpandedSections?: ExpandedWarningSections;
8
+ }
9
+ export declare const WARNING_HOVER_DISPATCH_DELAY = 50;
10
+ export declare const PublicWarningListConnect: React.FC<PublicWarningListConnectProps>;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { BatchSelectionState } from './selectAllButtonUtils';
3
+ export interface SelectAllButtonProps {
4
+ selectionState: BatchSelectionState;
5
+ onSelectAll: () => void;
6
+ onSelectNone: () => void;
7
+ disabled?: boolean;
8
+ }
9
+ export declare const SelectAllButton: React.FC<SelectAllButtonProps>;
@@ -0,0 +1,2 @@
1
+ export * from './SelectAllButton';
2
+ export * from './selectAllButtonUtils';
@@ -0,0 +1,7 @@
1
+ import type { Warning } from '../../../store/warningsForm/types';
2
+ import { PublicWarningStatus } from '../../../store/warningsForm/types';
3
+ export type BatchSelectionState = 'none' | 'some' | 'all';
4
+ export declare const getWarningStatus: (warning: Warning) => PublicWarningStatus;
5
+ export declare const isWarningSelectableForBatchDelete: (warning: Warning) => boolean;
6
+ export declare const getBatchDeletableWarningIds: (warnings: Warning[]) => string[];
7
+ export declare const getBatchSelectionState: (selectedIds: string[], deletableIds: string[]) => BatchSelectionState;
@@ -0,0 +1,10 @@
1
+ import type { GridProps } from '@mui/material';
2
+ import React from 'react';
3
+ import { PublicWarningStatus } from '../../store/warningsForm/types';
4
+ export declare const WarningListColumnContent: React.FC<GridProps & {
5
+ title?: string;
6
+ status: PublicWarningStatus;
7
+ children?: React.ReactNode;
8
+ width?: number;
9
+ }>;
10
+ export default WarningListColumnContent;
@@ -0,0 +1,11 @@
1
+ import type { GridProps } from '@mui/material';
2
+ import React from 'react';
3
+ declare const WarningListHeaderContent: React.FC<GridProps & {
4
+ title: string;
5
+ width?: number;
6
+ onClick?: () => void;
7
+ isSorted?: boolean;
8
+ sortDirection?: 'asc' | 'desc';
9
+ sortable?: boolean;
10
+ }>;
11
+ export default WarningListHeaderContent;
@@ -0,0 +1,18 @@
1
+ import type { ListItemProps } from '@mui/material';
2
+ import React from 'react';
3
+ import type { WarningListItemActions } from './WarningListItemMenu';
4
+ import type { Warning } from '../../store/warningsForm/types';
5
+ export interface WarningListItemProps extends ListItemProps, WarningListItemActions {
6
+ warning: Warning;
7
+ highlightedItem?: boolean;
8
+ activeWarningId: string;
9
+ onHoverWarning?: (warningId?: string) => void;
10
+ onSelectWarning?: (warning: Warning) => void;
11
+ shouldDisableAviationAmendOption?: boolean;
12
+ isHidden?: boolean;
13
+ onToggleVisibility?: (warningId: string) => void;
14
+ selectedForBatchDelete?: string[];
15
+ toggleWarningForBatchDelete?: (warningId: string) => void;
16
+ }
17
+ declare const WarningListItem: React.FC<WarningListItemProps>;
18
+ export default WarningListItem;
@@ -0,0 +1,21 @@
1
+ import type { TFunction } from 'i18next';
2
+ import type { MenuItemType } from '@opengeoweb/shared';
3
+ import { ProductAction } from '@opengeoweb/sigmet-airmet';
4
+ import type { MaritimeWarning, Warning } from '../../store/warningsForm/types';
5
+ import { MaritimeWarningAction } from '../../store/warningsForm/types';
6
+ export interface WarningListItemActions {
7
+ onEditWarning?: (warning: Warning) => void;
8
+ onDeleteWarning?: (warningId: string, warningEditor?: string) => void;
9
+ onDeleteReviewWarning?: (warning: Warning) => void;
10
+ onExpireWarning?: (warning: Warning) => void;
11
+ onWithdrawWarning?: (warning: Warning) => void;
12
+ onActionAviationWarning?: (warning: Warning, actionType?: ProductAction) => void;
13
+ onActionMaritimeWarning?: (warning: MaritimeWarning, actionType?: MaritimeWarningAction) => void;
14
+ shouldDisableAviationAmendOption?: boolean;
15
+ }
16
+ interface WarningListItemMenuProps extends WarningListItemActions {
17
+ warning: Warning;
18
+ t: TFunction;
19
+ }
20
+ declare const WarningListItemMenu: ({ warning, onEditWarning, onDeleteWarning, onDeleteReviewWarning, onExpireWarning, onWithdrawWarning, onActionAviationWarning, onActionMaritimeWarning, t, shouldDisableAviationAmendOption, }: WarningListItemMenuProps) => MenuItemType[];
21
+ export default WarningListItemMenu;
@@ -0,0 +1,11 @@
1
+ import type { ListItemProps } from '@mui/material';
2
+ import React from 'react';
3
+ import type { PublicWarningStatus } from '../../store/warningsForm/types';
4
+ import type { TimeFilter } from '../FilterList/filter-utils';
5
+ declare const WarningListItemSeperator: React.FC<{
6
+ totalWarnings: number;
7
+ status: PublicWarningStatus;
8
+ isExpanded: boolean;
9
+ timeFilter: TimeFilter;
10
+ } & ListItemProps>;
11
+ export default WarningListItemSeperator;
@@ -0,0 +1,2 @@
1
+ export * from './PublicWarningList';
2
+ export * from './PublicWarningListConnect';
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ export declare const formatDate: (lastUpdatedTime: string) => string;
3
+ export declare const AreaField: React.FC<{
4
+ onEditObject: () => void;
5
+ onViewObject: () => void;
6
+ onDeleteObject: () => void;
7
+ onAddObject: () => void;
8
+ isDisabled?: boolean;
9
+ drawActions?: React.ReactNode;
10
+ }>;
@@ -0,0 +1 @@
1
+ export * from './AreaField';
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export declare const DescriptionField: React.FC<{
3
+ isDisabled?: boolean;
4
+ isReadOnly?: boolean;
5
+ }>;
@@ -0,0 +1 @@
1
+ export * from './DescriptionField';
@@ -0,0 +1,22 @@
1
+ import React from 'react';
2
+ import type { FilterTranslation } from '../../../store/warningsFilters/types';
3
+ export interface ColorDefinition {
4
+ color: string;
5
+ textColor?: string;
6
+ borderColor: string;
7
+ }
8
+ export interface LevelDetails extends FilterTranslation, ColorDefinition {
9
+ }
10
+ export declare enum WarningLevel {
11
+ moderate = "moderate",
12
+ severe = "severe",
13
+ extreme = "extreme"
14
+ }
15
+ export declare const LevelColors: Record<WarningLevel, ColorDefinition>;
16
+ export declare const getLevelStyle: (levelColor?: ColorDefinition) => React.CSSProperties;
17
+ export declare const levelOptions: LevelDetails[];
18
+ export declare const levelOptionsDict: Record<string, LevelDetails>;
19
+ export declare const LevelField: React.FC<{
20
+ isDisabled?: boolean;
21
+ isReadOnly?: boolean;
22
+ }>;
@@ -0,0 +1 @@
1
+ export * from './LevelField';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { FilterTranslation } from '../../../store/warningsFilters/types';
3
+ export declare const getWarningPhenomenaIcon: (key: string) => React.ReactElement | undefined;
4
+ export declare const getAviationPhenomenaIcon: (key: string) => React.ReactElement | undefined;
5
+ export declare const warningPhenomena: FilterTranslation[];
6
+ export declare const allPhenomenaDict: Record<string, FilterTranslation>;
7
+ export declare const getPhenomenaIcon: (key: string) => React.ReactElement | undefined;
8
+ export declare const Phenomenon: React.FC<{
9
+ isDisabled?: boolean;
10
+ isReadOnly?: boolean;
11
+ }>;
@@ -0,0 +1 @@
1
+ export * from './PhenomenonField';
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ export declare const probablityOptions: number[];
3
+ export declare const defaultProbability = 30;
4
+ export declare const ProbabilityField: React.FC<{
5
+ isDisabled?: boolean;
6
+ isReadOnly?: boolean;
7
+ }>;
@@ -0,0 +1 @@
1
+ export * from './ProbabilityField';
@@ -0,0 +1,52 @@
1
+ import type { FeatureCollection, GeoJsonProperties, Geometry } from 'geojson';
2
+ import React from 'react';
3
+ import type { AirmetFromBackend, SigmetFromBackend } from '@opengeoweb/api';
4
+ import type { AviationProduct, FormMode, ProductStatus } from '@opengeoweb/sigmet-airmet';
5
+ import type { MapPreset } from '@opengeoweb/store';
6
+ import type { WarningLevel } from './LevelField';
7
+ import type { BaseDrawingListItem, DrawingListItem } from '../../store/warningsDrawings/types';
8
+ import type { FormError } from '../../store/warningsForm/reducer';
9
+ import type { Area, PublicWarningDetail, WarningType } from '../../store/warningsForm/types';
10
+ import { PublicWarningStatus } from '../../store/warningsForm/types';
11
+ export declare const useScrollTopOnError: (error: FormError) => React.RefObject<HTMLDivElement | null>;
12
+ export declare const getEmptyPublicWarning: () => PublicWarningDetail;
13
+ export declare const getFormData: (publicWarningsDetails: PublicWarningDetail | undefined, object?: DrawingListItem) => FormData;
14
+ interface FormData extends PublicWarningDetail {
15
+ IS_DRAFT?: boolean | string;
16
+ object?: BaseDrawingListItem;
17
+ 'translation-select'?: string;
18
+ }
19
+ export declare const prepareFormValues: (data: FormData) => PublicWarningDetail;
20
+ export interface FormProps {
21
+ defaultMapPreset?: MapPreset;
22
+ onSaveForm?: (formValues: PublicWarningDetail) => Promise<Headers | null>;
23
+ onPublishForm?: (formValues: PublicWarningDetail) => Promise<Headers | null>;
24
+ onClearForm?: () => void;
25
+ onCloseForm?: () => void;
26
+ onSaveAviationForm?: (productToPost: AviationProduct, newStatus: ProductStatus, warningType: 'sigmet' | 'airmet', vaSigmetMoveToFIR?: string, setSelectedUUID?: (uuid: string) => void) => Promise<SigmetFromBackend | AirmetFromBackend | undefined>;
27
+ object?: DrawingListItem;
28
+ publicWarningDetails?: PublicWarningDetail;
29
+ error?: FormError;
30
+ isReadOnly?: boolean;
31
+ onFormDirty?: (isFormDirty: boolean) => void;
32
+ isSnapshot?: boolean;
33
+ onAddObject?: () => void;
34
+ selectedAviationProduct?: AviationProduct;
35
+ warningType?: WarningType;
36
+ mode?: FormMode;
37
+ formState?: string;
38
+ onSetViewModeResetArea?: (area: Area[]) => void;
39
+ storedStartGeoJSON?: FeatureCollection<Geometry, GeoJsonProperties>;
40
+ storedEndGeoJSON?: FeatureCollection<Geometry, GeoJsonProperties>;
41
+ setWarningLevel?: (level: WarningLevel | '') => void;
42
+ linkedMapIds?: string[];
43
+ onDrawPolygon?: () => void;
44
+ onDeletePolygon?: () => void;
45
+ isDrawPolygonActive?: boolean;
46
+ isDrawingModeActive?: boolean;
47
+ publicWarningStatus?: PublicWarningStatus;
48
+ }
49
+ export declare function warningLevelFeatureColors(level: WarningLevel | undefined, geoJSON: FeatureCollection<Geometry, GeoJsonProperties> | undefined, // Allow undefined
50
+ isAviationWarning?: boolean): FeatureCollection<Geometry, GeoJsonProperties>;
51
+ export declare const PublicWarningsForm: React.FC<FormProps>;
52
+ export {};
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { AviationProduct, FormMode } from '@opengeoweb/sigmet-airmet';
3
+ import type { MapPreset } from '@opengeoweb/store';
4
+ import type { WarningType } from '../../store/warningsForm/types';
5
+ export interface PublicWarningsFormConnectProps {
6
+ editor?: string;
7
+ selectedAviationProduct?: AviationProduct & {
8
+ id?: string;
9
+ };
10
+ warningType?: WarningType;
11
+ mode?: FormMode;
12
+ defaultMapPreset?: MapPreset;
13
+ }
14
+ export declare const PublicWarningsFormConnect: React.FC<PublicWarningsFormConnectProps>;
@@ -0,0 +1,19 @@
1
+ import type { TFunction } from 'i18next';
2
+ import React from 'react';
3
+ export declare const VALID_FROM_MAX_HOURS_AFTER_CURRENT = 192;
4
+ export declare const VALID_UNTIL_DEFAULT_OFFSET = 6;
5
+ export declare const isValueBeforeCurrentTime: (value: string, t: TFunction) => boolean | string;
6
+ export declare const isMaxHoursAfterCurrentTime: (value: string, t: TFunction) => boolean | string;
7
+ /**
8
+ * Automatically adjusts the valid until field when valid from is changed
9
+ * If the new valid from time is after the current valid until time,
10
+ * it sets valid until to 6 hours after valid from
11
+ * @param validFrom - The new valid from ISO date string
12
+ * @param validUntil - The current valid until ISO date string
13
+ * @returns The adjusted valid until ISO date string, or null if no adjustment needed
14
+ */
15
+ export declare const offsetTimeValidUntilField: (validFrom: string, validUntil: string) => string | null;
16
+ export declare const ValidFrom: React.FC<{
17
+ isDisabled?: boolean;
18
+ isReadOnly?: boolean;
19
+ }>;
@@ -0,0 +1 @@
1
+ export * from './ValidFromField';
@@ -0,0 +1,11 @@
1
+ import type { TFunction } from 'i18next';
2
+ import React from 'react';
3
+ export declare const VALID_UNTIL_MAX_HOURS_AFTER_CURRENT = 192;
4
+ export declare const VALID_UNTIL_MIN_HOURS_AFTER_VALID_FROM = 1;
5
+ export declare const isValueBeforeCurrentTime: (value: string, t: TFunction) => boolean | string;
6
+ export declare const isMaxHoursAfterCurrentTime: (value: string, t: TFunction) => boolean | string;
7
+ export declare const isMinHoursAfterValidFrom: (value: string, validFromValue: string, t: TFunction) => boolean | string;
8
+ export declare const ValidUntil: React.FC<{
9
+ isDisabled?: boolean;
10
+ isReadOnly?: boolean;
11
+ }>;
@@ -0,0 +1 @@
1
+ export * from './ValidUntilField';
@@ -0,0 +1,2 @@
1
+ export * from './PublicWarningsForm';
2
+ export * from './PublicWarningsFormConnect';
@@ -0,0 +1,16 @@
1
+ import type { FeatureCollection, Geometry } from 'geojson';
2
+ interface UsePublicWarningMapDrawProps {
3
+ linkedMapIds: string[];
4
+ currentGeoJSON?: FeatureCollection<Geometry>;
5
+ isEnabled?: boolean;
6
+ onGeometryChange: (geoJSON: FeatureCollection<Geometry>) => void;
7
+ onGeometryClear: () => void;
8
+ }
9
+ interface UsePublicWarningMapDrawResult {
10
+ onDrawPolygon: () => void;
11
+ onDeletePolygon: () => void;
12
+ isDrawPolygonActive: boolean;
13
+ isDrawingModeActive: boolean;
14
+ }
15
+ export declare const usePublicWarningMapDraw: ({ linkedMapIds, currentGeoJSON, isEnabled, onGeometryChange, onGeometryClear, }: UsePublicWarningMapDrawProps) => UsePublicWarningMapDrawResult;
16
+ export {};
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import type { AviationProduct } from '@opengeoweb/sigmet-airmet';
3
+ import type { WarningType } from '../../store/warningsForm/types';
4
+ export declare const CancelAviationDialogContent: ({ product, cancelProduct, warningType, errorMessage, }: {
5
+ product: AviationProduct;
6
+ cancelProduct?: AviationProduct;
7
+ warningType: WarningType;
8
+ errorMessage?: string;
9
+ }) => React.ReactElement;
@@ -0,0 +1,21 @@
1
+ import React from 'react';
2
+ import type { AviationProduct, Sigmet, SigmetConfig } from '@opengeoweb/sigmet-airmet';
3
+ type CancelType = 'sigmet' | 'airmet';
4
+ export interface CancelAviationConfirmDialogProps {
5
+ open: boolean;
6
+ type: CancelType;
7
+ product: AviationProduct;
8
+ showVA: boolean;
9
+ aviationConfig?: SigmetConfig;
10
+ sigmet?: Sigmet;
11
+ confirmLabel: string;
12
+ title: string;
13
+ onClose: () => void;
14
+ cancelAviationProduct: (p: AviationProduct, t: CancelType, opts?: {
15
+ vaSigmetMoveToFIR?: string;
16
+ }) => Promise<unknown>;
17
+ onSuccess?: () => void;
18
+ t?: (key: string, params?: Record<string, unknown>) => string;
19
+ }
20
+ export declare const CancelAviationConfirmDialog: React.FC<CancelAviationConfirmDialogProps>;
21
+ export {};
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { Position, DraggableSize, HeaderSize } from '@opengeoweb/shared';
3
+ import type { AviationProduct } from '@opengeoweb/sigmet-airmet';
4
+ import type { uiTypes } from '@opengeoweb/store';
5
+ import type { WarningType } from '../../store/warningsForm/types';
6
+ export interface PublicWarningsFormDialogProps {
7
+ bounds?: string;
8
+ onClose: () => void;
9
+ onMouseDown?: () => void;
10
+ isOpen: boolean;
11
+ order?: number;
12
+ source?: uiTypes.Source;
13
+ size?: DraggableSize;
14
+ startPosition?: Position;
15
+ headerSize?: HeaderSize;
16
+ children: React.ReactNode;
17
+ isLoading?: boolean;
18
+ isReadOnly?: boolean;
19
+ onChangeFormMode?: (isReadOnly: boolean) => void;
20
+ shouldHideFormMode?: boolean;
21
+ publicWarningEditor?: string;
22
+ selectedAviationProduct?: AviationProduct;
23
+ warningType?: WarningType;
24
+ }
25
+ export declare const PublicWarningsFormDialog: React.FC<PublicWarningsFormDialogProps>;
@@ -0,0 +1,13 @@
1
+ import type { TFunction } from 'i18next';
2
+ import React from 'react';
3
+ import type { ConfirmationOptions, Position } from '@opengeoweb/shared';
4
+ import { uiTypes } from '@opengeoweb/store';
5
+ import type { MapPreset } from '@opengeoweb/store';
6
+ export declare const warningFormConfirmationOptions: (t: TFunction) => ConfirmationOptions;
7
+ export declare const isAlreadyEdited: (publicWarningEditor: string | undefined, username: string | undefined) => boolean;
8
+ export declare const PublicWarningsFormDialogConnect: React.FC<{
9
+ bounds?: string;
10
+ source?: uiTypes.Source;
11
+ startPosition?: Position;
12
+ defaultMapPreset?: MapPreset;
13
+ }>;
@@ -0,0 +1,9 @@
1
+ import type { TooltipProps } from '@mui/material';
2
+ import React from 'react';
3
+ export interface WarningAvatarProps {
4
+ editor: string;
5
+ status?: string;
6
+ tooltipPlacement?: TooltipProps['placement'];
7
+ }
8
+ declare const WarningAvatar: React.FC<WarningAvatarProps>;
9
+ export default WarningAvatar;
@@ -0,0 +1,2 @@
1
+ export * from './PublicWarningsFormDialog';
2
+ export * from './PublicWarningsFormDialogConnect';
@@ -0,0 +1,11 @@
1
+ import type { FeatureCollection } from 'geojson';
2
+ import React from 'react';
3
+ import type { MapPreset } from '@opengeoweb/store';
4
+ export declare const EXTENT_PADDING = 50;
5
+ interface WarningsMapViewProps {
6
+ geojsonFeature?: FeatureCollection | undefined;
7
+ defaultMapPreset?: MapPreset;
8
+ isSnapshot?: boolean;
9
+ }
10
+ export declare const WarningsMapView: React.FC<WarningsMapViewProps>;
11
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ import type { Warning } from '../../store/warningsForm/types';
3
+ interface WarningBlockProps {
4
+ warning: Warning;
5
+ highlighted?: boolean;
6
+ left: number;
7
+ onHoverWarning?: (warningId?: string) => void;
8
+ top: number;
9
+ width: number;
10
+ }
11
+ export declare const WarningBlock: React.MemoExoticComponent<({ warning, highlighted, left, onHoverWarning, top, width, }: WarningBlockProps) => import("react/jsx-runtime").JSX.Element>;
12
+ export {};
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import type { Warning } from '../../store/warningsForm/types';
3
+ export interface WarningsTimelineProps {
4
+ warnings?: Warning[];
5
+ hoveredWarningId?: string;
6
+ onHoverWarning?: (warningId?: string) => void;
7
+ }
8
+ export declare const WarningsTimeline: React.FC<WarningsTimelineProps>;
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ export interface WarningsTimelineConnectProps {
3
+ panelId: string;
4
+ }
5
+ export declare const WarningsTimelineConnect: React.FC<WarningsTimelineConnectProps>;
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import type { TickType } from './warningsTimelineUtils';
3
+ import type { Warning } from '../../store/warningsForm/types';
4
+ export interface PositionedTick {
5
+ time: Date;
6
+ type: TickType;
7
+ x: number;
8
+ }
9
+ export interface WarningLayout {
10
+ key: string;
11
+ left: number;
12
+ top: number;
13
+ warning: Warning;
14
+ width: number;
15
+ }
16
+ interface TimelineBackgroundProps {
17
+ contentWidth: number;
18
+ scrollContainer: HTMLDivElement | null;
19
+ timelineEnd: Date;
20
+ timelineStart: Date;
21
+ }
22
+ interface TimelineTimeBarProps extends TimelineBackgroundProps {
23
+ fullWidth: number;
24
+ }
25
+ interface WarningBlocksLayerProps {
26
+ hoveredWarningId?: string;
27
+ onHoverWarning?: (warningId?: string) => void;
28
+ warningBlocks: WarningLayout[];
29
+ }
30
+ export declare const TimelineBackground: React.FC<TimelineBackgroundProps>;
31
+ export declare const WarningBlocksLayer: React.MemoExoticComponent<({ warningBlocks, hoveredWarningId, onHoverWarning, }: WarningBlocksLayerProps) => import("react/jsx-runtime").JSX.Element>;
32
+ export declare const TimelineTimeBar: React.FC<TimelineTimeBarProps>;
33
+ export {};
@@ -0,0 +1,4 @@
1
+ export { WarningsTimeline } from './WarningsTimeline';
2
+ export type { WarningsTimelineProps } from './WarningsTimeline';
3
+ export { WarningsTimelineConnect } from './WarningsTimelineConnect';
4
+ export type { WarningsTimelineConnectProps } from './WarningsTimelineConnect';
@@ -0,0 +1,16 @@
1
+ import { PublicWarningStatus } from '../../store/warningsForm/types';
2
+ import { WarningLevel } from '../PublicWarningsForm/LevelField';
3
+ /**
4
+ * Timeline Block Color Theme
5
+ *
6
+ * Organized by warning type (public warnings by level, aviation)
7
+ * Each type has colors for each status: published, draft, expired
8
+ */
9
+ export interface BlockStyle {
10
+ background: string;
11
+ border: string;
12
+ borderColor: string;
13
+ iconColor: string;
14
+ letterColor: string;
15
+ }
16
+ export declare const getBlockStyle: (level: WarningLevel | null, status: PublicWarningStatus | undefined, isAviation: boolean) => BlockStyle;
@@ -0,0 +1,19 @@
1
+ import type { Warning } from '../../store/warningsForm/types';
2
+ import { PublicWarningStatus } from '../../store/warningsForm/types';
3
+ export declare const EDGE_PADDING = 24;
4
+ export declare const getEffectiveStatus: (warning: Warning) => PublicWarningStatus;
5
+ export declare const compareWarningsByStatus: (warningA: Warning, warningB: Warning) => number;
6
+ export type TickType = 'day' | 'major' | 'dashed';
7
+ export interface Tick {
8
+ time: Date;
9
+ type: TickType;
10
+ }
11
+ export type BlockSize = 'xxs' | 'xs' | 's' | 'l';
12
+ export declare const getTimelineX: (targetTime: Date, timelineStart: Date, timelineEnd: Date, drawableWidth: number) => number;
13
+ export declare const getTimeFromX: (x: number, timelineStart: Date, timelineEnd: Date, drawableWidth: number) => Date;
14
+ export declare const generateTicks: (timelineStart: Date, timelineEnd: Date) => Tick[];
15
+ export declare const getTickLineStyle: (tickType: TickType) => {
16
+ width: string;
17
+ borderLeft: string;
18
+ };
19
+ export declare const getBlockSize: (width: number) => BlockSize;
@@ -0,0 +1,4 @@
1
+ export * from './warningsForm';
2
+ export * from './warningsDrawings';
3
+ export * from './warningsFilters';
4
+ export * from './store';
@@ -0,0 +1,7 @@
1
+ import type { Middleware, Store } from '@reduxjs/toolkit';
2
+ import type { SnackbarModuleStore } from '@opengeoweb/snackbar';
3
+ import type { DrawtoolModuleStore, ReducerMap, UIModuleState, WebMapStateModuleState } from '@opengeoweb/store';
4
+ import type { WarningModuleStore } from './types';
5
+ export declare const warningsReducersMap: ReducerMap;
6
+ export declare const warningsMiddlewares: Middleware[];
7
+ export declare const createMockStore: (mockState?: WebMapStateModuleState | DrawtoolModuleStore | UIModuleState | WarningModuleStore | SnackbarModuleStore) => Store;
@@ -0,0 +1,9 @@
1
+ import type { CoreAppStore } from '@opengeoweb/store';
2
+ import type { DrawState } from './warningsDrawings/types';
3
+ import type { WarningsFiltersState } from './warningsFilters/types';
4
+ import type { WarningFormState } from './warningsForm/reducer';
5
+ export interface WarningModuleStore extends CoreAppStore {
6
+ drawings?: DrawState;
7
+ warningsForm?: WarningFormState;
8
+ warningsFilters?: WarningsFiltersState;
9
+ }
@@ -0,0 +1 @@
1
+ export { warningsDrawingsReducer, warningsDrawingsActions } from './reducer';
@@ -0,0 +1,12 @@
1
+ import type { PayloadAction, Draft } from '@reduxjs/toolkit';
2
+ import type { DrawItem, DrawState, SetDrawValuesPayload, SubmitDrawValuesPayload } from './types';
3
+ export declare const drawAdapter: import("@reduxjs/toolkit").EntityAdapter<DrawItem, string>;
4
+ export declare const initialState: DrawState;
5
+ export declare const warningsDrawingsReducer: import("redux").Reducer<DrawState>, warningsDrawingsActions: import("@reduxjs/toolkit").CaseReducerActions<{
6
+ setDrawValues: (draft: Draft<DrawState>, action: PayloadAction<SetDrawValuesPayload>) => void;
7
+ submitDrawValues: (draft: Draft<DrawState>, action: PayloadAction<SubmitDrawValuesPayload>) => void;
8
+ setFormDirty: (draft: Draft<DrawState>, action: PayloadAction<{
9
+ drawingInstanceId: string;
10
+ isFormDirty: boolean;
11
+ }>) => void;
12
+ }, "drawingForm">;
@@ -0,0 +1,45 @@
1
+ import type { DrawState } from './types';
2
+ import type { WarningModuleStore } from '../types';
3
+ export declare const getDrawStore: (store: WarningModuleStore) => DrawState;
4
+ export declare const selectDrawByInstanceId: (state: WarningModuleStore, id: string) => {
5
+ id: string;
6
+ objectName: string;
7
+ drawingInstanceId: string;
8
+ isFormDirty?: boolean | undefined;
9
+ };
10
+ export declare const getWarningFormDirty: ((state: WarningModuleStore, id: string) => boolean) & {
11
+ clearCache: () => void;
12
+ resultsCount: () => number;
13
+ resetResultsCount: () => void;
14
+ } & {
15
+ resultFunc: (resultFuncArgs_0: {
16
+ id: string;
17
+ objectName: string;
18
+ drawingInstanceId: string;
19
+ isFormDirty?: boolean | undefined;
20
+ }) => boolean;
21
+ memoizedResultFunc: ((resultFuncArgs_0: {
22
+ id: string;
23
+ objectName: string;
24
+ drawingInstanceId: string;
25
+ isFormDirty?: boolean | undefined;
26
+ }) => boolean) & {
27
+ clearCache: () => void;
28
+ resultsCount: () => number;
29
+ resetResultsCount: () => void;
30
+ };
31
+ lastResult: () => boolean;
32
+ dependencies: [(state: WarningModuleStore, id: string) => {
33
+ id: string;
34
+ objectName: string;
35
+ drawingInstanceId: string;
36
+ isFormDirty?: boolean | undefined;
37
+ }];
38
+ recomputations: () => number;
39
+ resetRecomputations: () => void;
40
+ dependencyRecomputations: () => number;
41
+ resetDependencyRecomputations: () => void;
42
+ } & {
43
+ argsMemoize: typeof import("reselect").weakMapMemoize;
44
+ memoize: typeof import("reselect").weakMapMemoize;
45
+ };