@opengeoweb/core 14.3.0 → 14.4.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 (23) hide show
  1. package/index.esm.js +1727 -1212
  2. package/package.json +13 -11
  3. package/src/lib/components/ComponentsLookUp/componentsLookUp.d.ts +2 -3
  4. package/src/lib/components/ConfigurableMapConnect/ConfigurableMapConnect.d.ts +1 -0
  5. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/Menubutton/MenuButton.d.ts +2 -0
  6. package/src/lib/components/LocationSearch/types.d.ts +9 -0
  7. package/src/lib/components/LocationSearch/utils.d.ts +4 -0
  8. package/src/lib/components/MapOptions/FeatureInfo/GetFeatureInfoDialog.spec.d.ts +1 -0
  9. package/src/lib/components/MapOptions/MapOptionsButtonConnect.d.ts +8 -0
  10. package/src/lib/components/MapOptions/MeasureTool/MeasureToolButton.d.ts +7 -0
  11. package/src/lib/components/MapOptions/MeasureTool/index.d.ts +2 -0
  12. package/src/lib/components/MapOptions/index.d.ts +4 -0
  13. package/src/lib/components/MapViewConnect/OlMapViewConnect.d.ts +1 -0
  14. package/src/lib/utils/location-api/fakeApi.d.ts +32 -2
  15. package/src/lib/utils/location-api/hooks.d.ts +1 -1
  16. /package/src/lib/components/{FeatureInfo/GetFeatureInfoButtonConnect.spec.d.ts → LocationSearch/Utils.spec.d.ts} +0 -0
  17. /package/src/lib/components/{FeatureInfo → MapOptions/FeatureInfo}/GetFeatureInfoButtonConnect.d.ts +0 -0
  18. /package/src/lib/components/{FeatureInfo/GetFeatureInfoConnect.spec.d.ts → MapOptions/FeatureInfo/GetFeatureInfoButtonConnect.spec.d.ts} +0 -0
  19. /package/src/lib/components/{FeatureInfo → MapOptions/FeatureInfo}/GetFeatureInfoConnect.d.ts +0 -0
  20. /package/src/lib/components/{FeatureInfo/GetFeatureInfoDialog.spec.d.ts → MapOptions/FeatureInfo/GetFeatureInfoConnect.spec.d.ts} +0 -0
  21. /package/src/lib/components/{FeatureInfo → MapOptions/FeatureInfo}/GetFeatureInfoDialog.d.ts +0 -0
  22. /package/src/lib/components/{FeatureInfo → MapOptions/FeatureInfo}/index.d.ts +0 -0
  23. /package/src/lib/components/{FeatureInfo → MapOptions/FeatureInfo}/utils.d.ts +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/core",
3
- "version": "14.3.0",
3
+ "version": "14.4.0",
4
4
  "description": "GeoWeb Core library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -8,22 +8,22 @@
8
8
  "url": "git@gitlab.com:opengeoweb/opengeoweb.git"
9
9
  },
10
10
  "dependencies": {
11
- "@opengeoweb/shared": "14.3.0",
11
+ "@opengeoweb/shared": "14.4.0",
12
12
  "react-redux": "^9.2.0",
13
- "@opengeoweb/store": "14.3.0",
14
- "@opengeoweb/time-slider": "14.3.0",
13
+ "@opengeoweb/store": "14.4.0",
14
+ "@opengeoweb/time-slider": "14.4.0",
15
15
  "@reduxjs/toolkit": "^2.6.1",
16
- "@opengeoweb/webmap-react": "14.3.0",
17
- "@opengeoweb/webmap": "14.3.0",
18
- "@opengeoweb/theme": "14.3.0",
16
+ "@opengeoweb/webmap-react": "14.4.0",
17
+ "@opengeoweb/webmap": "14.4.0",
18
+ "@opengeoweb/theme": "14.4.0",
19
19
  "axios": "^1.7.7",
20
- "@opengeoweb/layer-select": "14.3.0",
20
+ "@opengeoweb/layer-select": "14.4.0",
21
21
  "lodash": "^4.17.21",
22
22
  "ol": "^10.4.0",
23
23
  "react-sortablejs": "^6.1.4",
24
24
  "sortablejs": "^1.15.1",
25
25
  "@mui/system": "^7.3.2",
26
- "@opengeoweb/snackbar": "14.3.0",
26
+ "@opengeoweb/snackbar": "14.4.0",
27
27
  "react-router-dom": "^6.21.0",
28
28
  "react-draggable": "^4.4.6",
29
29
  "i18next": "^25.0.1",
@@ -32,8 +32,10 @@
32
32
  "@mui/material": "^7.0.1",
33
33
  "@sentry/react": "^8.34.0",
34
34
  "@tanstack/react-query": "^5.85.5",
35
- "@opengeoweb/api": "14.3.0",
36
- "@types/geojson": "^7946.0.14"
35
+ "@opengeoweb/api": "14.4.0",
36
+ "@types/geojson": "^7946.0.14",
37
+ "@turf/turf": "^7.2.0",
38
+ "proj4": "^2.15.0"
37
39
  },
38
40
  "peerDependencies": {
39
41
  "react": "18",
@@ -3,12 +3,12 @@ import { mapTypes } from '@opengeoweb/store';
3
3
  import { PlotPreset, TimeSeriesService } from '@opengeoweb/shared';
4
4
  import { InitialHarmTempAndPrecipProps } from '../MultiMapViewConnect/HarmoniePresets';
5
5
  import { ModelRunIntervalProps } from '../MultiMapViewConnect/ModelRunInterval';
6
- interface InitialMultiMapProps {
6
+ export interface InitialMultiMapProps {
7
7
  mapPreset: mapTypes.MapPreset[];
8
8
  syncGroupsIds: string[];
9
9
  shouldShowZoomControls?: boolean;
10
10
  }
11
- interface InitialSliderProps {
11
+ export interface InitialSliderProps {
12
12
  sliderPreset: {
13
13
  mapId: string;
14
14
  };
@@ -41,4 +41,3 @@ export interface ComponentsLookUpPayload {
41
41
  initialProps: InitialProps;
42
42
  }
43
43
  export declare const componentsLookUp: ({ componentType, initialProps, id, }: ComponentsLookUpPayload) => React.ReactElement;
44
- export {};
@@ -46,5 +46,6 @@ export interface ConfigurableMapConnectProps {
46
46
  mapControls?: React.ReactNode;
47
47
  shouldDisablePrefetching?: boolean;
48
48
  featureStyle?: StyleLike;
49
+ shouldDisplayMeasureToolButton?: boolean;
49
50
  }
50
51
  export declare const ConfigurableMapConnect: React.FC<ConfigurableMapConnectProps>;
@@ -7,6 +7,8 @@ interface LayerManagerButtonProps {
7
7
  mapId: string;
8
8
  layerId: string;
9
9
  }) => void;
10
+ onLayerCopyToOtherMaps?: () => void;
11
+ onLayerRemoveFromOtherMaps?: () => void;
10
12
  tooltipTitle?: string;
11
13
  icon?: React.ReactNode;
12
14
  }
@@ -7,8 +7,17 @@ export interface LocationDetail {
7
7
  geometry?: GeoJSON.Feature;
8
8
  bbox?: GeoJSON.BBox;
9
9
  }
10
+ export interface PredefinedLocation extends LocationDetail {
11
+ group?: 'airport' | 'country' | 'city' | 'region' | 'special';
12
+ source: 'predefined';
13
+ }
10
14
  export interface LocationListResult {
11
15
  id: string;
12
16
  name: string;
13
17
  source: string;
18
+ group?: 'airport' | 'country' | 'city' | 'region' | 'special';
19
+ }
20
+ export interface PredefinedOption extends LocationListResult {
21
+ groupHeader?: string;
22
+ groupIcon?: React.ElementType;
14
23
  }
@@ -1,4 +1,8 @@
1
1
  import { GeoJsonProperties } from 'geojson';
2
2
  import { LocationDetail } from './types';
3
3
  export declare const geometryStyling: GeoJsonProperties;
4
+ export declare const bufferFromZoomLevel: (zoom: number, lat: number, viewportWidthPx: number) => number;
5
+ export declare const bboxFromPolygon: (geom: GeoJSON.Geometry, buffer: number) => number[];
6
+ export declare const bboxFromPoint: (geom: GeoJSON.Geometry, buffer: number) => number[];
7
+ export declare const useShiftPressed: () => boolean;
4
8
  export declare const useDrawOnMap: (mapId: string) => [(location?: LocationDetail) => void];
@@ -0,0 +1,8 @@
1
+ import * as React from 'react';
2
+ interface MapOptionsButtonProps {
3
+ mapId: string;
4
+ getFeatureInfo?: boolean;
5
+ measureTool?: boolean;
6
+ }
7
+ export declare const MapOptionsButtonConnect: React.FC<MapOptionsButtonProps>;
8
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ interface MeasureToolButtonProps {
3
+ isActive: boolean;
4
+ setIsActive: (isActive: boolean) => void;
5
+ }
6
+ export declare const MeasureToolButton: React.FC<MeasureToolButtonProps>;
7
+ export {};
@@ -0,0 +1,2 @@
1
+ import { MeasureToolButton } from './MeasureToolButton';
2
+ export { MeasureToolButton };
@@ -0,0 +1,4 @@
1
+ import { MapOptionsButtonConnect } from './MapOptionsButtonConnect';
2
+ export * from './FeatureInfo';
3
+ export * from './MeasureTool';
4
+ export { MapOptionsButtonConnect };
@@ -11,6 +11,7 @@ export interface MapControlsProps {
11
11
  dimensionSelect?: boolean;
12
12
  getFeatureInfo?: boolean;
13
13
  dataExplorerButton?: boolean;
14
+ measureToolButton?: boolean;
14
15
  additionalMapControls?: React.ReactNode;
15
16
  }
16
17
  export interface OlMapViewConnectProps {
@@ -1,14 +1,39 @@
1
- export declare const fakeLocationList: {
1
+ export declare const fakeLocationList: ({
2
2
  id: string;
3
3
  name: string;
4
4
  source: string;
5
- }[];
5
+ group: string;
6
+ } | {
7
+ id: string;
8
+ name: string;
9
+ source: string;
10
+ group?: undefined;
11
+ })[];
6
12
  export declare const fakeLocationDetailList: ({
13
+ id: string;
14
+ name: string;
15
+ source: string;
16
+ group: string;
17
+ lat: number;
18
+ lon: number;
19
+ geometry: null;
20
+ bbox?: undefined;
21
+ } | {
22
+ id: string;
23
+ name: string;
24
+ source: string;
25
+ group: string;
26
+ lat: number;
27
+ lon: number;
28
+ bbox: number[];
29
+ geometry?: undefined;
30
+ } | {
7
31
  id: string;
8
32
  name: string;
9
33
  source: string;
10
34
  lon: number;
11
35
  lat: number;
36
+ group?: undefined;
12
37
  geometry?: undefined;
13
38
  bbox?: undefined;
14
39
  } | {
@@ -25,6 +50,7 @@ export declare const fakeLocationDetailList: ({
25
50
  };
26
51
  properties?: undefined;
27
52
  };
53
+ group?: undefined;
28
54
  bbox?: undefined;
29
55
  } | {
30
56
  id: string;
@@ -40,6 +66,7 @@ export declare const fakeLocationDetailList: ({
40
66
  coordinates: number[][];
41
67
  };
42
68
  };
69
+ group?: undefined;
43
70
  bbox?: undefined;
44
71
  } | {
45
72
  id: string;
@@ -55,6 +82,7 @@ export declare const fakeLocationDetailList: ({
55
82
  };
56
83
  properties: {};
57
84
  };
85
+ group?: undefined;
58
86
  bbox?: undefined;
59
87
  } | {
60
88
  id: string;
@@ -70,6 +98,7 @@ export declare const fakeLocationDetailList: ({
70
98
  };
71
99
  properties: {};
72
100
  };
101
+ group?: undefined;
73
102
  bbox?: undefined;
74
103
  } | {
75
104
  id: string;
@@ -78,6 +107,7 @@ export declare const fakeLocationDetailList: ({
78
107
  lat: number;
79
108
  lon: number;
80
109
  bbox: number[];
110
+ group?: undefined;
81
111
  geometry?: undefined;
82
112
  })[];
83
113
  export declare const locationApiEndpoints: import("msw").HttpHandler[];
@@ -1,4 +1,4 @@
1
1
  import { UseQueryResult } from '@tanstack/react-query';
2
2
  import { LocationDetail, LocationListResult } from '../../components/LocationSearch/types';
3
3
  export declare const useLocationList: (search: string) => UseQueryResult<LocationListResult[]>;
4
- export declare const useLocationDetail: (id?: string, source?: string) => UseQueryResult<LocationDetail>;
4
+ export declare const useLocationDetail: (location: LocationDetail | LocationListResult | null) => UseQueryResult<LocationDetail>;