@opengeoweb/core 4.18.0 → 4.19.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.
package/index.esm.js CHANGED
@@ -6,9 +6,9 @@ import React__default, { Component, useRef, useState, useEffect, useCallback } f
6
6
  import _, { debounce, isEqual, compact, escapeRegExp, groupBy, throttle, range } from 'lodash';
7
7
  import { takeLatest, put, select, call, takeEvery, all, delay } from 'redux-saga/effects';
8
8
  import { connect, useDispatch, useSelector, Provider } from 'react-redux';
9
- import { CustomTooltip, ToolButton, ToolContainerDraggable, TooltipSelect, AlertIcon, useControlledTooltip, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomAccordion, ManagerButton, AlertBanner, calculateDialogSizeAndPosition, CustomToggleButton, useMakeSureContainerStaysInsideWindow, withEggs } from '@opengeoweb/shared';
10
- import { Pause, Play, CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, Add, Copy, None, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Filter, Search, Clear, Info, DimensionsOther, DimensionsElevation, DimensionsRefTime, DimensionsTime, Edit, Close, Home, Minus, Layers, Equalizer, Link, LinkOff, AutoUpdateActive, AutoUpdateInActive, Speed, FastForward, Clock, Now, Animation, Options, StepForward, StepBackward, dragHandlePath, ChevronDown, ChevronUp, List as List$1, ChevronRight, ChevronLeft, Resize, ExitDomain, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
11
- import { Paper, Box, Typography, IconButton, Grid, MenuItem, Button, Popper, ListItemText, ListItemIcon, FormControl, InputLabel, List, ListItem, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, DialogActions, LinearProgress, InputAdornment, Backdrop, ListItemSecondaryAction, Checkbox, Switch, styled, Slider, Menu, useTheme, Snackbar } from '@mui/material';
9
+ import { CustomTooltip, ToolButton, ToolContainerDraggable, CustomIconButton, TooltipSelect, AlertIcon, useControlledTooltip, tooltipContainerStyles, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomAccordion, AlertBanner, calculateDialogSizeAndPosition, CustomToggleButton, useMakeSureContainerStaysInsideWindow, withEggs } from '@opengeoweb/shared';
10
+ import { Pause, Play, CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, Add, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Filter, Search, Clear, Info, DimensionsOther, DimensionsElevation, DimensionsRefTime, DimensionsTime, Edit, Close, Home, Minus, Layers, Equalizer, Link, LinkOff, AutoUpdateInActive, Speed, Clock, Now, Animation, Options, StepForward, StepBackward, dragHandlePath, ChevronDown, ChevronUp, List as List$1, ChevronRight, ChevronLeft, Resize, ExitDomain, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
11
+ import { Paper, Box, Typography, Grid, MenuItem, Button, Popper, ListItemText, ListItemIcon, FormControl, InputLabel, List, ListItemButton, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, LinearProgress, Backdrop, ListItem, ListItemSecondaryAction, Checkbox, Switch, styled, Slider, Menu, useTheme, Snackbar } from '@mui/material';
12
12
  import { legendImageStore, WMImageEventType, getLegendGraphicURLForLayer, WMGetServiceFromStore, LayerType as LayerType$1, clearImageCache, getMapImageStore, WMBBOX, debug, DebugType, WMJSMap, WMLayer } from '@opengeoweb/webmap';
13
13
  import { ReactSortable } from 'react-sortablejs';
14
14
  import Sortable from 'sortablejs';
@@ -19,6 +19,7 @@ import Grid$1 from '@mui/material/Grid';
19
19
  import { ReactHookFormProvider, defaultFormOptions, ReactHookFormTextField } from '@opengeoweb/form-fields';
20
20
  import { useFormContext } from 'react-hook-form';
21
21
  import { Box as Box$2 } from '@mui/system';
22
+ import { useResizeDetector } from 'react-resize-detector';
22
23
  import { debounce as debounce$1 } from 'throttle-debounce';
23
24
  import cloneDeep from 'lodash.clonedeep';
24
25
  import proj4 from 'proj4';
@@ -513,8 +514,10 @@ var unRegisterWMJSMap = function unRegisterWMJSMap(wmjsMapId) {
513
514
  wmjsMap.getListener().suspendEvents();
514
515
 
515
516
  try {
516
- wmjsMap.stopAnimating && wmjsMap.stopAnimating(); // eslint-disable-next-line no-empty
517
- } catch (e) {}
517
+ wmjsMap.stopAnimating && wmjsMap.stopAnimating();
518
+ } catch (e) {
519
+ console.warn(e);
520
+ }
518
521
 
519
522
  Object.keys(registeredWMLayersForReactLayerId).forEach(function (layerId) {
520
523
  var wmLayer = getWMLayerById(layerId);
@@ -967,8 +970,8 @@ var useCanvasTarget = function useCanvasTarget(eventType) {
967
970
  setTargetNode = _React$useState2[1]; // Check if pointer event targets current node element
968
971
 
969
972
 
970
- var pointerEventListener = React__default.useCallback(function (e) {
971
- setTargetNode(nodeRef.current.canvas ? nodeRef.current.canvas.isEqualNode(e.target) : false);
973
+ var pointerEventListener = React__default.useCallback(function (event) {
974
+ setTargetNode(nodeRef.current.canvas ? nodeRef.current.canvas.isEqualNode(event.target) : false);
972
975
  }, [nodeRef]);
973
976
  React__default.useEffect(function () {
974
977
  document.addEventListener(eventType, pointerEventListener);
@@ -2646,10 +2649,34 @@ var slice$5 = createSlice({
2646
2649
  map.autoUpdateLayerId = undefined;
2647
2650
  }
2648
2651
  },
2649
- setTimeSliderCenterTime: function setTimeSliderCenterTime(draft, action) {
2652
+ setAutoTimestepLayerId: function setAutoTimestepLayerId(draft, action) {
2650
2653
  var _action$payload10 = action.payload,
2651
2654
  mapId = _action$payload10.mapId,
2652
- timeSliderCenterTime = _action$payload10.timeSliderCenterTime;
2655
+ autoTimestepLayerId = _action$payload10.autoTimestepLayerId;
2656
+ var map = draft.byId[mapId];
2657
+
2658
+ if (!map) {
2659
+ return;
2660
+ }
2661
+
2662
+ map.autoTimeStepLayerId = autoTimestepLayerId;
2663
+ },
2664
+ setAutoUpdateLayerId: function setAutoUpdateLayerId(draft, action) {
2665
+ var _action$payload11 = action.payload,
2666
+ mapId = _action$payload11.mapId,
2667
+ autoUpdateLayerId = _action$payload11.autoUpdateLayerId;
2668
+ var map = draft.byId[mapId];
2669
+
2670
+ if (!map) {
2671
+ return;
2672
+ }
2673
+
2674
+ map.autoUpdateLayerId = autoUpdateLayerId;
2675
+ },
2676
+ setTimeSliderCenterTime: function setTimeSliderCenterTime(draft, action) {
2677
+ var _action$payload12 = action.payload,
2678
+ mapId = _action$payload12.mapId,
2679
+ timeSliderCenterTime = _action$payload12.timeSliderCenterTime;
2653
2680
 
2654
2681
  if (!draft.byId[mapId]) {
2655
2682
  return;
@@ -2658,9 +2685,9 @@ var slice$5 = createSlice({
2658
2685
  draft.byId[mapId].timeSliderCenterTime = timeSliderCenterTime;
2659
2686
  },
2660
2687
  setTimeSliderUnfilteredSelectedTime: function setTimeSliderUnfilteredSelectedTime(draft, action) {
2661
- var _action$payload11 = action.payload,
2662
- mapId = _action$payload11.mapId,
2663
- timeSliderUnfilteredSelectedTime = _action$payload11.timeSliderUnfilteredSelectedTime;
2688
+ var _action$payload13 = action.payload,
2689
+ mapId = _action$payload13.mapId,
2690
+ timeSliderUnfilteredSelectedTime = _action$payload13.timeSliderUnfilteredSelectedTime;
2664
2691
 
2665
2692
  if (!draft.byId[mapId]) {
2666
2693
  return;
@@ -2669,9 +2696,9 @@ var slice$5 = createSlice({
2669
2696
  draft.byId[mapId].timeSliderUnfilteredSelectedTime = timeSliderUnfilteredSelectedTime;
2670
2697
  },
2671
2698
  setTimeSliderSecondsPerPx: function setTimeSliderSecondsPerPx(draft, action) {
2672
- var _action$payload12 = action.payload,
2673
- mapId = _action$payload12.mapId,
2674
- timeSliderSecondsPerPx = _action$payload12.timeSliderSecondsPerPx;
2699
+ var _action$payload14 = action.payload,
2700
+ mapId = _action$payload14.mapId,
2701
+ timeSliderSecondsPerPx = _action$payload14.timeSliderSecondsPerPx;
2675
2702
 
2676
2703
  if (!draft.byId[mapId]) {
2677
2704
  return;
@@ -2683,9 +2710,9 @@ var slice$5 = createSlice({
2683
2710
  draft.byId[mapId].timeSliderScale = scale;
2684
2711
  },
2685
2712
  setTimeSliderDataScaleToSecondsPerPx: function setTimeSliderDataScaleToSecondsPerPx(draft, action) {
2686
- var _action$payload13 = action.payload,
2687
- mapId = _action$payload13.mapId,
2688
- timeSliderDataScaleToSecondsPerPx = _action$payload13.timeSliderDataScaleToSecondsPerPx;
2713
+ var _action$payload15 = action.payload,
2714
+ mapId = _action$payload15.mapId,
2715
+ timeSliderDataScaleToSecondsPerPx = _action$payload15.timeSliderDataScaleToSecondsPerPx;
2689
2716
 
2690
2717
  if (!draft.byId[mapId]) {
2691
2718
  return;
@@ -2694,9 +2721,9 @@ var slice$5 = createSlice({
2694
2721
  draft.byId[mapId].timeSliderDataScaleToSecondsPerPx = timeSliderDataScaleToSecondsPerPx;
2695
2722
  },
2696
2723
  toggleAutoUpdate: function toggleAutoUpdate(draft, action) {
2697
- var _action$payload14 = action.payload,
2698
- mapId = _action$payload14.mapId,
2699
- shouldAutoUpdate = _action$payload14.shouldAutoUpdate;
2724
+ var _action$payload16 = action.payload,
2725
+ mapId = _action$payload16.mapId,
2726
+ shouldAutoUpdate = _action$payload16.shouldAutoUpdate;
2700
2727
 
2701
2728
  if (!draft.byId[mapId]) {
2702
2729
  return;
@@ -2705,9 +2732,9 @@ var slice$5 = createSlice({
2705
2732
  draft.byId[mapId].isAutoUpdating = shouldAutoUpdate;
2706
2733
  },
2707
2734
  setEndTimeOverriding: function setEndTimeOverriding(draft, action) {
2708
- var _action$payload15 = action.payload,
2709
- mapId = _action$payload15.mapId,
2710
- shouldEndtimeOverride = _action$payload15.shouldEndtimeOverride;
2735
+ var _action$payload17 = action.payload,
2736
+ mapId = _action$payload17.mapId,
2737
+ shouldEndtimeOverride = _action$payload17.shouldEndtimeOverride;
2711
2738
 
2712
2739
  if (!draft.byId[mapId]) {
2713
2740
  return;
@@ -2716,9 +2743,9 @@ var slice$5 = createSlice({
2716
2743
  draft.byId[mapId].isEndTimeOverriding = shouldEndtimeOverride;
2717
2744
  },
2718
2745
  toggleTimestepAuto: function toggleTimestepAuto(draft, action) {
2719
- var _action$payload16 = action.payload,
2720
- mapId = _action$payload16.mapId,
2721
- timestepAuto = _action$payload16.timestepAuto;
2746
+ var _action$payload18 = action.payload,
2747
+ mapId = _action$payload18.mapId,
2748
+ timestepAuto = _action$payload18.timestepAuto;
2722
2749
 
2723
2750
  if (!draft.byId[mapId]) {
2724
2751
  return;
@@ -2727,9 +2754,9 @@ var slice$5 = createSlice({
2727
2754
  draft.byId[mapId].isTimestepAuto = timestepAuto;
2728
2755
  },
2729
2756
  toggleTimeSliderHover: function toggleTimeSliderHover(draft, action) {
2730
- var _action$payload17 = action.payload,
2731
- mapId = _action$payload17.mapId,
2732
- isTimeSliderHoverOn = _action$payload17.isTimeSliderHoverOn;
2757
+ var _action$payload19 = action.payload,
2758
+ mapId = _action$payload19.mapId,
2759
+ isTimeSliderHoverOn = _action$payload19.isTimeSliderHoverOn;
2733
2760
 
2734
2761
  if (!draft.byId[mapId]) {
2735
2762
  return;
@@ -2738,9 +2765,9 @@ var slice$5 = createSlice({
2738
2765
  draft.byId[mapId].isTimeSliderHoverOn = isTimeSliderHoverOn;
2739
2766
  },
2740
2767
  toggleTimeSliderIsVisible: function toggleTimeSliderIsVisible(draft, action) {
2741
- var _action$payload18 = action.payload,
2742
- mapId = _action$payload18.mapId,
2743
- isTimeSliderVisible = _action$payload18.isTimeSliderVisible;
2768
+ var _action$payload20 = action.payload,
2769
+ mapId = _action$payload20.mapId,
2770
+ isTimeSliderVisible = _action$payload20.isTimeSliderVisible;
2744
2771
 
2745
2772
  if (!draft.byId[mapId]) {
2746
2773
  return;
@@ -2749,9 +2776,9 @@ var slice$5 = createSlice({
2749
2776
  draft.byId[mapId].isTimeSliderVisible = isTimeSliderVisible;
2750
2777
  },
2751
2778
  toggleZoomControls: function toggleZoomControls(draft, action) {
2752
- var _action$payload19 = action.payload,
2753
- mapId = _action$payload19.mapId,
2754
- shouldShowZoomControls = _action$payload19.shouldShowZoomControls;
2779
+ var _action$payload21 = action.payload,
2780
+ mapId = _action$payload21.mapId,
2781
+ shouldShowZoomControls = _action$payload21.shouldShowZoomControls;
2755
2782
 
2756
2783
  if (!draft.byId[mapId]) {
2757
2784
  return;
@@ -2760,9 +2787,9 @@ var slice$5 = createSlice({
2760
2787
  draft.byId[mapId].shouldShowZoomControls = shouldShowZoomControls;
2761
2788
  },
2762
2789
  setMapPinLocation: function setMapPinLocation(draft, action) {
2763
- var _action$payload20 = action.payload,
2764
- mapId = _action$payload20.mapId,
2765
- mapPinLocation = _action$payload20.mapPinLocation;
2790
+ var _action$payload22 = action.payload,
2791
+ mapId = _action$payload22.mapId,
2792
+ mapPinLocation = _action$payload22.mapPinLocation;
2766
2793
 
2767
2794
  if (!draft.byId[mapId]) {
2768
2795
  return;
@@ -2771,9 +2798,9 @@ var slice$5 = createSlice({
2771
2798
  draft.byId[mapId].mapPinLocation = mapPinLocation;
2772
2799
  },
2773
2800
  setDisableMapPin: function setDisableMapPin(draft, action) {
2774
- var _action$payload21 = action.payload,
2775
- mapId = _action$payload21.mapId,
2776
- disableMapPin = _action$payload21.disableMapPin;
2801
+ var _action$payload23 = action.payload,
2802
+ mapId = _action$payload23.mapId,
2803
+ disableMapPin = _action$payload23.disableMapPin;
2777
2804
 
2778
2805
  if (!draft.byId[mapId]) {
2779
2806
  return;
@@ -2782,9 +2809,9 @@ var slice$5 = createSlice({
2782
2809
  draft.byId[mapId].disableMapPin = disableMapPin;
2783
2810
  },
2784
2811
  toggleMapPinIsVisible: function toggleMapPinIsVisible(draft, action) {
2785
- var _action$payload22 = action.payload,
2786
- mapId = _action$payload22.mapId,
2787
- displayMapPin = _action$payload22.displayMapPin;
2812
+ var _action$payload24 = action.payload,
2813
+ mapId = _action$payload24.mapId,
2814
+ displayMapPin = _action$payload24.displayMapPin;
2788
2815
 
2789
2816
  if (!draft.byId[mapId]) {
2790
2817
  return;
@@ -2793,9 +2820,9 @@ var slice$5 = createSlice({
2793
2820
  draft.byId[mapId].displayMapPin = displayMapPin;
2794
2821
  },
2795
2822
  setDockedLayerManagerSize: function setDockedLayerManagerSize(draft, action) {
2796
- var _action$payload23 = action.payload,
2797
- mapId = _action$payload23.mapId,
2798
- dockedLayerManagerSize = _action$payload23.dockedLayerManagerSize;
2823
+ var _action$payload25 = action.payload,
2824
+ mapId = _action$payload25.mapId,
2825
+ dockedLayerManagerSize = _action$payload25.dockedLayerManagerSize;
2799
2826
 
2800
2827
  if (!draft.byId[mapId]) {
2801
2828
  return;
@@ -2806,9 +2833,9 @@ var slice$5 = createSlice({
2806
2833
  },
2807
2834
  extraReducers: function extraReducers(builder) {
2808
2835
  builder.addCase(addLayer$1, function (draft, action) {
2809
- var _action$payload24 = action.payload,
2810
- layerId = _action$payload24.layerId,
2811
- mapId = _action$payload24.mapId;
2836
+ var _action$payload26 = action.payload,
2837
+ layerId = _action$payload26.layerId,
2838
+ mapId = _action$payload26.mapId;
2812
2839
 
2813
2840
  if (!draft.byId[mapId]) {
2814
2841
  return;
@@ -2826,10 +2853,10 @@ var slice$5 = createSlice({
2826
2853
 
2827
2854
  draft.byId[mapId].mapLayers.unshift(layerId);
2828
2855
  }).addCase(addBaseLayer, function (draft, action) {
2829
- var _action$payload25 = action.payload,
2830
- layer = _action$payload25.layer,
2831
- layerId = _action$payload25.layerId,
2832
- mapId = _action$payload25.mapId;
2856
+ var _action$payload27 = action.payload,
2857
+ layer = _action$payload27.layer,
2858
+ layerId = _action$payload27.layerId,
2859
+ mapId = _action$payload27.mapId;
2833
2860
 
2834
2861
  if (!draft.byId[mapId]) {
2835
2862
  return;
@@ -2896,9 +2923,9 @@ var slice$5 = createSlice({
2896
2923
  }
2897
2924
  }
2898
2925
  }).addCase(setBaseLayers$1, function (draft, action) {
2899
- var _action$payload26 = action.payload,
2900
- layers = _action$payload26.layers,
2901
- mapId = _action$payload26.mapId; // Split into base and overlayers
2926
+ var _action$payload28 = action.payload,
2927
+ layers = _action$payload28.layers,
2928
+ mapId = _action$payload28.mapId; // Split into base and overlayers
2902
2929
 
2903
2930
  var baseLayers = [];
2904
2931
  var overLayers = [];
@@ -2930,9 +2957,9 @@ var slice$5 = createSlice({
2930
2957
  }
2931
2958
  }
2932
2959
  }).addCase(layerDelete$1, function (draft, action) {
2933
- var _action$payload27 = action.payload,
2934
- mapId = _action$payload27.mapId,
2935
- layerId = _action$payload27.layerId;
2960
+ var _action$payload29 = action.payload,
2961
+ mapId = _action$payload29.mapId,
2962
+ layerId = _action$payload29.layerId;
2936
2963
  var map = draft.byId[mapId];
2937
2964
 
2938
2965
  if (!map) {
@@ -2960,9 +2987,9 @@ var slice$5 = createSlice({
2960
2987
  map.autoTimeStepLayerId = activeLayerId;
2961
2988
  }
2962
2989
  }).addCase(baseLayerDelete, function (draft, action) {
2963
- var _action$payload28 = action.payload,
2964
- mapId = _action$payload28.mapId,
2965
- layerId = _action$payload28.layerId;
2990
+ var _action$payload30 = action.payload,
2991
+ mapId = _action$payload30.mapId,
2992
+ layerId = _action$payload30.layerId;
2966
2993
 
2967
2994
  if (!draft.byId[mapId]) {
2968
2995
  return;
@@ -2975,14 +3002,14 @@ var slice$5 = createSlice({
2975
3002
  return id !== layerId;
2976
3003
  });
2977
3004
  }).addCase(layerChangeDimension$1, function (draft, action) {
2978
- var _action$payload29 = action.payload,
2979
- layerId = _action$payload29.layerId,
2980
- dimension = _action$payload29.dimension;
3005
+ var _action$payload31 = action.payload,
3006
+ layerId = _action$payload31.layerId,
3007
+ dimension = _action$payload31.dimension;
2981
3008
  produceDraftStateSetMapDimensionFromLayerChangeDimension(draft, layerId, dimension);
2982
3009
  }).addCase(setTimeSync, function (draft, action) {
2983
- var _action$payload30 = action.payload,
2984
- targetsFromAction = _action$payload30.targets,
2985
- source = _action$payload30.source;
3010
+ var _action$payload32 = action.payload,
3011
+ targetsFromAction = _action$payload32.targets,
3012
+ source = _action$payload32.source;
2986
3013
  /* Because we want backwards compatibility with the previous code, we also need to listen to the original source action */
2987
3014
 
2988
3015
  var targets = [{
@@ -3006,9 +3033,9 @@ var slice$5 = createSlice({
3006
3033
  }
3007
3034
  });
3008
3035
  }).addCase(setBboxSync, function (draft, action) {
3009
- var _action$payload31 = action.payload,
3010
- targetsFromAction = _action$payload31.targets,
3011
- source = _action$payload31.source;
3036
+ var _action$payload33 = action.payload,
3037
+ targetsFromAction = _action$payload33.targets,
3038
+ source = _action$payload33.source;
3012
3039
  /* Because we want backwards compatibility with the previous code, we also need to listen to the original source action */
3013
3040
 
3014
3041
  var targets = [{
@@ -3041,9 +3068,9 @@ var slice$5 = createSlice({
3041
3068
  * These targets can be used as payloads in new Layer actions.
3042
3069
  * These actions are here handled via the layer reducer, as it is the same logic
3043
3070
  */
3044
- var _action$payload32 = action.payload,
3045
- targets = _action$payload32.targets,
3046
- source = _action$payload32.source;
3071
+ var _action$payload34 = action.payload,
3072
+ targets = _action$payload34.targets,
3073
+ source = _action$payload34.source;
3047
3074
  return targets.reduce(function (prevState, target) {
3048
3075
  var action = {
3049
3076
  payload: target,
@@ -3063,9 +3090,9 @@ var slice$5 = createSlice({
3063
3090
  var mapAction = mapActions$1.mapUpdateAllMapDimensions(mapDimensions);
3064
3091
  return reducer$5(draft, mapAction);
3065
3092
  }).addCase(mapChangeDimension, function (draft, action) {
3066
- var _action$payload33 = action.payload,
3067
- mapId = _action$payload33.mapId,
3068
- dimensionFromAction = _action$payload33.dimension;
3093
+ var _action$payload35 = action.payload,
3094
+ mapId = _action$payload35.mapId,
3095
+ dimensionFromAction = _action$payload35.dimension;
3069
3096
  produceDraftStateSetWebMapDimension(draft, mapId, dimensionFromAction, true);
3070
3097
  }).addCase(setMapPreset, function (draft, action) {
3071
3098
  var mapId = action.payload.mapId;
@@ -3087,9 +3114,9 @@ var slice$5 = createSlice({
3087
3114
  draft.byId[mapId].animationDelay = defaultAnimationDelayAtStart;
3088
3115
  draft.byId[mapId].dockedLayerManagerSize = '';
3089
3116
  }).addCase(uiActions.registerDialog, function (draft, action) {
3090
- var _action$payload34 = action.payload,
3091
- mapId = _action$payload34.mapId,
3092
- type = _action$payload34.type;
3117
+ var _action$payload36 = action.payload,
3118
+ mapId = _action$payload36.mapId,
3119
+ type = _action$payload36.type;
3093
3120
 
3094
3121
  if (!draft.byId[mapId]) {
3095
3122
  return;
@@ -7944,7 +7971,7 @@ var CanvasComponent = /*#__PURE__*/function (_Component) {
7944
7971
  }]);
7945
7972
 
7946
7973
  return CanvasComponent;
7947
- }(Component); // eslint-disable-next-line react/static-property-placement
7974
+ }(Component);
7948
7975
  CanvasComponent.defaultProps = {
7949
7976
  onRenderCanvas: function onRenderCanvas() {
7950
7977
  /* intentionally left blank */
@@ -9909,10 +9936,6 @@ var coreModuleConfig = [moduleConfig, synchronizationGroupConfig, uiModuleConfig
9909
9936
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9910
9937
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
9911
9938
  * */
9912
- var iconStyle = {
9913
- height: 24,
9914
- width: 24
9915
- };
9916
9939
  var sizeSmall = {
9917
9940
  width: 100,
9918
9941
  height: 300
@@ -9949,43 +9972,31 @@ var HeaderOptions = function HeaderOptions(_ref) {
9949
9972
  document.removeEventListener('keydown', handleKeyDown);
9950
9973
  };
9951
9974
  }, [onChangeSize, shortcutsEnabled]);
9952
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomTooltip, {
9953
- title: "small"
9954
- }, /*#__PURE__*/React.createElement(IconButton, {
9975
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomIconButton, {
9976
+ tooltipTitle: "small",
9955
9977
  "data-testid": "collapseSmall-btn",
9956
- size: "small",
9957
9978
  onClick: function onClick() {
9958
9979
  return onChangeSize(sizeSmall);
9959
9980
  },
9960
- sx: iconStyle,
9961
9981
  className: "collapseSmall-btn"
9962
- }, /*#__PURE__*/React.createElement(CollapseSmall, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
9963
- title: "medium"
9964
- }, /*#__PURE__*/React.createElement(IconButton, {
9982
+ }, /*#__PURE__*/React.createElement(CollapseSmall, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
9983
+ tooltipTitle: "medium",
9965
9984
  "data-testid": "collapseMedium-btn",
9966
- size: "small",
9967
9985
  onClick: function onClick() {
9968
9986
  return onChangeSize(sizeMedium);
9969
9987
  },
9970
- sx: iconStyle,
9971
9988
  className: "collapseMedium-btn"
9972
- }, /*#__PURE__*/React.createElement(CollapseMedium, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
9973
- title: "large"
9974
- }, /*#__PURE__*/React.createElement(IconButton, {
9989
+ }, /*#__PURE__*/React.createElement(CollapseMedium, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
9990
+ tooltipTitle: "large",
9975
9991
  "data-testid": "collapseLarge-btn",
9976
- size: "small",
9977
9992
  onClick: function onClick() {
9978
9993
  return onChangeSize(sizeLarge);
9979
9994
  },
9980
- sx: iconStyle,
9981
9995
  className: "collapseLarge-btn"
9982
- }, /*#__PURE__*/React.createElement(CollapseLarge, null))), /*#__PURE__*/React.createElement(CustomTooltip, {
9983
- title: isDockedLayerManager ? 'Undock' : 'Dock'
9984
- }, /*#__PURE__*/React.createElement(IconButton, {
9996
+ }, /*#__PURE__*/React.createElement(CollapseLarge, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
9997
+ tooltipTitle: isDockedLayerManager ? 'Undock' : 'Dock',
9985
9998
  "data-testid": "dockedBtn",
9986
9999
  disableRipple: true,
9987
- size: "small",
9988
- sx: iconStyle,
9989
10000
  onClick: function onClick() {
9990
10001
  return onClickDockButton();
9991
10002
  }
@@ -9993,7 +10004,7 @@ var HeaderOptions = function HeaderOptions(_ref) {
9993
10004
  "data-testid": "dockedLayerManager-collapse"
9994
10005
  }) : /*#__PURE__*/React.createElement(ExpandWindow, {
9995
10006
  "data-testid": "dockedLayerManager-uncollapse"
9996
- }))));
10007
+ })));
9997
10008
  };
9998
10009
 
9999
10010
  /* *
@@ -10200,20 +10211,24 @@ var returnCorrectSize = function returnCorrectSize(sizeResult) {
10200
10211
  * See the License for the specific language governing permissions and
10201
10212
  * limitations under the License.
10202
10213
  *
10203
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10204
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
10214
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10215
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10205
10216
  * */
10206
10217
  var style$2 = {
10207
- width: '24px',
10208
- height: '24px',
10209
- margin: 'auto 0px auto 32px',
10210
- borderRadius: '15%'
10218
+ padding: 0,
10219
+ margin: 'auto 0px auto 32px'
10211
10220
  };
10212
10221
 
10213
10222
  var LayerSelectButtonConnect = function LayerSelectButtonConnect(_ref) {
10214
10223
  var mapId = _ref.mapId,
10215
10224
  _ref$source = _ref.source,
10216
- source = _ref$source === void 0 ? 'app' : _ref$source;
10225
+ source = _ref$source === void 0 ? 'app' : _ref$source,
10226
+ _ref$tooltipTitle = _ref.tooltipTitle,
10227
+ tooltipTitle = _ref$tooltipTitle === void 0 ? 'Open the layer selector' : _ref$tooltipTitle,
10228
+ _ref$icon = _ref.icon,
10229
+ icon = _ref$icon === void 0 ? /*#__PURE__*/React.createElement(Add, {
10230
+ "data-testid": "layerSelectButtonConnectIcon"
10231
+ }) : _ref$icon;
10217
10232
  var dispatch = useDispatch();
10218
10233
  var currentActiveMapId = useSelector(function (store) {
10219
10234
  return getDialogMapId(store, DialogTypes.LayerSelect);
@@ -10229,16 +10244,13 @@ var LayerSelectButtonConnect = function LayerSelectButtonConnect(_ref) {
10229
10244
  source: source
10230
10245
  }));
10231
10246
  }, [currentActiveMapId, dispatch, isOpenInStore, mapId, source]);
10232
- return /*#__PURE__*/React.createElement(CustomTooltip, {
10233
- title: "Open the layer selector"
10234
- }, /*#__PURE__*/React.createElement(IconButton, {
10247
+ return /*#__PURE__*/React.createElement(CustomIconButton, {
10235
10248
  onClick: openLayerSelectDialog,
10236
10249
  sx: style$2,
10237
10250
  id: "layerSelectButton",
10238
10251
  "data-testid": "layerSelectButton",
10239
- disableRipple: true,
10240
- size: "large"
10241
- }, /*#__PURE__*/React.createElement(Add, null)));
10252
+ tooltipTitle: tooltipTitle
10253
+ }, icon);
10242
10254
  };
10243
10255
 
10244
10256
  var styles$4 = {
@@ -10254,7 +10266,10 @@ var DescriptionRow = function DescriptionRow(_ref) {
10254
10266
  var mapId = _ref.mapId,
10255
10267
  mapPresetsModule = _ref.mapPresetsModule,
10256
10268
  _ref$source = _ref.source,
10257
- source = _ref$source === void 0 ? 'app' : _ref$source;
10269
+ source = _ref$source === void 0 ? 'app' : _ref$source,
10270
+ settings = _ref.settings;
10271
+
10272
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
10258
10273
 
10259
10274
  var _React$useState = React.useState(mapPresetsModule ? Object.assign(Object.assign({}, mapPresetsModule), {
10260
10275
  props: Object.assign(Object.assign({}, mapPresetsModule.props), {
@@ -10279,13 +10294,15 @@ var DescriptionRow = function DescriptionRow(_ref) {
10279
10294
  className: columnClasses.column1
10280
10295
  }, /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
10281
10296
  mapId: mapId,
10282
- source: source
10297
+ source: source,
10298
+ tooltipTitle: (_a = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _a === void 0 ? void 0 : _a.tooltipTitle,
10299
+ icon: (_b = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _b === void 0 ? void 0 : _b.icon
10283
10300
  })), /*#__PURE__*/React.createElement(Grid, {
10284
10301
  className: columnClasses.column2
10285
10302
  }, /*#__PURE__*/React.createElement(Box, {
10286
10303
  className: "header-layer ".concat(hasMapPresetsModule ? 'mappresetsModule-enabled' : ''),
10287
10304
  sx: styles$4.text
10288
- }, "Layer"), /*#__PURE__*/React.createElement(Box, {
10305
+ }, (_d = (_c = settings === null || settings === void 0 ? void 0 : settings.layerName) === null || _c === void 0 ? void 0 : _c.title) !== null && _d !== void 0 ? _d : 'Layer'), /*#__PURE__*/React.createElement(Box, {
10289
10306
  className: "header-mapPresets",
10290
10307
  sx: {
10291
10308
  marginRight: 4
@@ -10294,15 +10311,15 @@ var DescriptionRow = function DescriptionRow(_ref) {
10294
10311
  className: columnClasses.column3
10295
10312
  }, /*#__PURE__*/React.createElement(Box, {
10296
10313
  sx: styles$4.text
10297
- }, "Style")), /*#__PURE__*/React.createElement(Grid, {
10314
+ }, (_f = (_e = settings === null || settings === void 0 ? void 0 : settings.layerStyle) === null || _e === void 0 ? void 0 : _e.title) !== null && _f !== void 0 ? _f : 'Style')), /*#__PURE__*/React.createElement(Grid, {
10298
10315
  className: columnClasses.column4
10299
10316
  }, /*#__PURE__*/React.createElement(Box, {
10300
10317
  sx: styles$4.text
10301
- }, "Opacity")), /*#__PURE__*/React.createElement(Grid, {
10318
+ }, (_h = (_g = settings === null || settings === void 0 ? void 0 : settings.opacity) === null || _g === void 0 ? void 0 : _g.title) !== null && _h !== void 0 ? _h : 'Opacity')), /*#__PURE__*/React.createElement(Grid, {
10302
10319
  className: columnClasses.column5
10303
10320
  }, /*#__PURE__*/React.createElement(Box, {
10304
10321
  sx: styles$4.text
10305
- }, "Dimensions")), /*#__PURE__*/React.createElement(Grid, {
10322
+ }, (_k = (_j = settings === null || settings === void 0 ? void 0 : settings.dimensions) === null || _j === void 0 ? void 0 : _j.title) !== null && _k !== void 0 ? _k : 'Dimensions')), /*#__PURE__*/React.createElement(Grid, {
10306
10323
  className: columnClasses.column6
10307
10324
  }));
10308
10325
  };
@@ -10882,13 +10899,22 @@ var getIconColor = function getIconColor(isActive, isEnabled) {
10882
10899
  return 'geowebColors.buttons.flat.disabled.color';
10883
10900
  };
10884
10901
 
10902
+ var AutoOptions;
10903
+
10904
+ (function (AutoOptions) {
10905
+ AutoOptions["BOTH"] = "Auto both";
10906
+ AutoOptions["NONE"] = "Auto none";
10907
+ AutoOptions["TIMESTEP"] = "Auto-timestep";
10908
+ AutoOptions["UPDATE"] = "Auto-update";
10909
+ })(AutoOptions || (AutoOptions = {}));
10910
+
10885
10911
  var ActivateLayer = function ActivateLayer(_ref) {
10886
10912
  var _onChange = _ref.onChange,
10887
- isActive = _ref.isActive,
10888
- isEnabled = _ref.isEnabled;
10913
+ isEnabled = _ref.isEnabled,
10914
+ current = _ref.current;
10889
10915
  return /*#__PURE__*/React.createElement(TooltipSelect, {
10890
10916
  variant: "standard",
10891
- tooltip: "Auto update",
10917
+ tooltip: "Leading layer",
10892
10918
  // Don't show arrow https://stackoverflow.com/questions/69085735/how-to-remove-arrow-from-react-textfield-select
10893
10919
  inputProps: {
10894
10920
  IconComponent: function IconComponent() {
@@ -10896,7 +10922,7 @@ var ActivateLayer = function ActivateLayer(_ref) {
10896
10922
  },
10897
10923
  tabIndex: -1
10898
10924
  },
10899
- value: isActive ? 'Both' : 'None',
10925
+ value: current,
10900
10926
  sx: {
10901
10927
  '&& .MuiInput-input': {
10902
10928
  paddingRight: '2px',
@@ -10904,30 +10930,39 @@ var ActivateLayer = function ActivateLayer(_ref) {
10904
10930
  backgroundColor: 'inherit'
10905
10931
  }
10906
10932
  },
10907
- renderValue: function renderValue(optionSelected) {
10933
+ renderValue: function renderValue(current) {
10908
10934
  return /*#__PURE__*/React.createElement(AutoUpdateButton$1, {
10909
- optionSelected: optionSelected,
10910
- isActive: isActive,
10935
+ current: current,
10911
10936
  isEnabled: isEnabled
10912
10937
  });
10913
10938
  },
10914
10939
  onChange: function onChange(event) {
10915
10940
  event.stopPropagation();
10916
10941
 
10917
- _onChange(event.target.value === 'Both');
10942
+ _onChange(event.target.value);
10918
10943
  },
10919
10944
  onClose: function onClose(event) {
10920
10945
  event.stopPropagation();
10921
10946
  }
10922
10947
  }, /*#__PURE__*/React.createElement(MenuItem, {
10923
10948
  disabled: true
10924
- }, "Auto-update"), /*#__PURE__*/React.createElement(MenuItem, {
10925
- value: "None"
10949
+ }, "Leading layer"), /*#__PURE__*/React.createElement(MenuItem, {
10950
+ value: AutoOptions.NONE
10926
10951
  }, /*#__PURE__*/React.createElement(AutoOption, {
10927
10952
  icon: /*#__PURE__*/React.createElement(None, null),
10928
10953
  text: "None"
10929
10954
  })), /*#__PURE__*/React.createElement(MenuItem, {
10930
- value: "Both"
10955
+ value: AutoOptions.TIMESTEP
10956
+ }, /*#__PURE__*/React.createElement(AutoOption, {
10957
+ icon: /*#__PURE__*/React.createElement(FastForward, null),
10958
+ text: "Auto-timestep"
10959
+ })), /*#__PURE__*/React.createElement(MenuItem, {
10960
+ value: AutoOptions.UPDATE
10961
+ }, /*#__PURE__*/React.createElement(AutoOption, {
10962
+ icon: /*#__PURE__*/React.createElement(AutoUpdateActive, null),
10963
+ text: "Auto-update"
10964
+ })), /*#__PURE__*/React.createElement(MenuItem, {
10965
+ value: AutoOptions.BOTH
10931
10966
  }, /*#__PURE__*/React.createElement(AutoOption, {
10932
10967
  icon: /*#__PURE__*/React.createElement(Both, null),
10933
10968
  text: "Both"
@@ -10935,20 +10970,13 @@ var ActivateLayer = function ActivateLayer(_ref) {
10935
10970
  };
10936
10971
 
10937
10972
  var AutoUpdateButton$1 = function AutoUpdateButton(_ref2) {
10938
- var optionSelected = _ref2.optionSelected,
10939
- isActive = _ref2.isActive,
10973
+ var current = _ref2.current,
10940
10974
  isEnabled = _ref2.isEnabled;
10941
- var style = {
10942
- color: getIconColor(isActive, isEnabled)
10943
- };
10944
- var Icon = isActive ? /*#__PURE__*/React.createElement(Both, {
10945
- sx: style
10946
- }) : /*#__PURE__*/React.createElement(None, {
10947
- sx: style
10948
- });
10975
+ var isActive = current !== AutoOptions.NONE;
10976
+ var Icon = getIcon(isActive, isEnabled, current);
10949
10977
  return /*#__PURE__*/React.createElement(ToolButton, {
10978
+ "aria-label": current,
10950
10979
  "data-testid": "activateLayer-btn",
10951
- "aria-label": "Auto update ".concat(optionSelected),
10952
10980
  sx: {
10953
10981
  '&.MuiButtonBase-root': {
10954
10982
  backgroundColor: 'inherit'
@@ -10973,6 +11001,34 @@ var AutoOption = function AutoOption(_ref3) {
10973
11001
  }, text), /*#__PURE__*/React.createElement(ListItemIcon, null, icon));
10974
11002
  };
10975
11003
 
11004
+ function getIcon(isActive, isEnabled, current) {
11005
+ var style = {
11006
+ color: getIconColor(isActive, isEnabled)
11007
+ };
11008
+
11009
+ if (current === AutoOptions.BOTH) {
11010
+ return /*#__PURE__*/React.createElement(Both, {
11011
+ sx: style
11012
+ });
11013
+ }
11014
+
11015
+ if (current === AutoOptions.TIMESTEP) {
11016
+ return /*#__PURE__*/React.createElement(FastForward, {
11017
+ sx: style
11018
+ });
11019
+ }
11020
+
11021
+ if (current === AutoOptions.UPDATE) {
11022
+ return /*#__PURE__*/React.createElement(AutoUpdateActive, {
11023
+ sx: style
11024
+ });
11025
+ }
11026
+
11027
+ return /*#__PURE__*/React.createElement(None, {
11028
+ sx: style
11029
+ });
11030
+ }
11031
+
10976
11032
  /* *
10977
11033
  * Licensed under the Apache License, Version 2.0 (the "License");
10978
11034
  * you may not use this file except in compliance with the License.
@@ -10986,8 +11042,8 @@ var AutoOption = function AutoOption(_ref3) {
10986
11042
  * See the License for the specific language governing permissions and
10987
11043
  * limitations under the License.
10988
11044
  *
10989
- * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10990
- * Copyright 2022 - Finnish Meteorological Institute (FMI)
11045
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11046
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10991
11047
  * */
10992
11048
 
10993
11049
  var LayerRow = function LayerRow(_ref) {
@@ -11040,9 +11096,9 @@ var LayerRow = function LayerRow(_ref) {
11040
11096
  },
11041
11097
  '&.sortable-ghost': {
11042
11098
  opacity: 0.5
11043
- },
11044
- alignItems: 'center'
11045
- }
11099
+ }
11100
+ },
11101
+ alignItems: "center"
11046
11102
  }, /*#__PURE__*/React__default.createElement(CustomAccordion, {
11047
11103
  className: "medium-layermanager",
11048
11104
  defaultExpanded: false,
@@ -11057,8 +11113,8 @@ var LayerRow = function LayerRow(_ref) {
11057
11113
  padding: 0
11058
11114
  }
11059
11115
  },
11060
- title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, dragHandle, layerEnableLayout || /*#__PURE__*/React__default.createElement(ManagerButton, {
11061
- isEnabled: layer.enabled,
11116
+ title: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, dragHandle, layerEnableLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
11117
+ shouldShowAsDisabled: !layer.enabled,
11062
11118
  tooltipTitle: layer.name,
11063
11119
  onClick: function onClick(event) {
11064
11120
  event.stopPropagation();
@@ -11067,11 +11123,10 @@ var LayerRow = function LayerRow(_ref) {
11067
11123
  enabled: !layer.enabled
11068
11124
  });
11069
11125
  },
11070
- "data-testid": "enableButton-medium",
11071
- icon: isEnabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null)
11072
- }), layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
11126
+ "data-testid": "enableButton-medium"
11127
+ }, isEnabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null)), layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
11128
+ current: AutoOptions.BOTH,
11073
11129
  onChange: onClickRow,
11074
- isActive: false,
11075
11130
  isEnabled: true
11076
11131
  }), /*#__PURE__*/React__default.createElement(Typography, {
11077
11132
  sx: {
@@ -11130,7 +11185,7 @@ var LayerRow = function LayerRow(_ref) {
11130
11185
  }, /*#__PURE__*/React__default.createElement(Grid, {
11131
11186
  item: true,
11132
11187
  sx: {}
11133
- }, layerDeleteLayout || /*#__PURE__*/React__default.createElement(ManagerButton, {
11188
+ }, layerDeleteLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
11134
11189
  tooltipTitle: "Delete",
11135
11190
  onClick: function onClick() {
11136
11191
  onLayerDelete({
@@ -11138,13 +11193,13 @@ var LayerRow = function LayerRow(_ref) {
11138
11193
  layerId: layerId
11139
11194
  });
11140
11195
  },
11141
- icon: /*#__PURE__*/React__default.createElement(Delete, null),
11142
11196
  "data-testid": "deleteButton"
11143
- }))))), /*#__PURE__*/React__default.createElement(Grid, {
11197
+ }, /*#__PURE__*/React__default.createElement(Delete, null)))))), /*#__PURE__*/React__default.createElement(Grid, {
11144
11198
  item: true,
11145
- className: columnClasses.column1
11146
- }, dragHandle, layerEnableLayout || /*#__PURE__*/React__default.createElement(ManagerButton, {
11147
- isEnabled: layer.enabled,
11199
+ className: columnClasses.column1,
11200
+ alignItems: "center"
11201
+ }, dragHandle, layerEnableLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
11202
+ shouldShowAsDisabled: !layer.enabled,
11148
11203
  tooltipTitle: layer.name,
11149
11204
  onClick: function onClick(event) {
11150
11205
  event.stopPropagation();
@@ -11153,11 +11208,10 @@ var LayerRow = function LayerRow(_ref) {
11153
11208
  enabled: !layer.enabled
11154
11209
  });
11155
11210
  },
11156
- icon: layer.enabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null),
11157
11211
  "data-testid": "enableButton"
11158
- }), layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
11212
+ }, layer.enabled ? /*#__PURE__*/React__default.createElement(Visibility, null) : /*#__PURE__*/React__default.createElement(VisibilityOff, null)), layerActiveLayout || /*#__PURE__*/React__default.createElement(ActivateLayer, {
11159
11213
  onChange: onClickRow,
11160
- isActive: false,
11214
+ current: AutoOptions.BOTH,
11161
11215
  isEnabled: true
11162
11216
  })), /*#__PURE__*/React__default.createElement(Grid, {
11163
11217
  item: true,
@@ -11220,8 +11274,9 @@ var LayerRow = function LayerRow(_ref) {
11220
11274
  }
11221
11275
  }))), /*#__PURE__*/React__default.createElement(Grid, {
11222
11276
  item: true,
11223
- className: columnClasses.column6
11224
- }, layerDeleteLayout || /*#__PURE__*/React__default.createElement(ManagerButton, {
11277
+ className: columnClasses.column6,
11278
+ alignItems: "center"
11279
+ }, layerDeleteLayout || /*#__PURE__*/React__default.createElement(CustomIconButton, {
11225
11280
  tooltipTitle: "Delete",
11226
11281
  onClick: function onClick() {
11227
11282
  onLayerDelete({
@@ -11229,9 +11284,8 @@ var LayerRow = function LayerRow(_ref) {
11229
11284
  layerId: layerId
11230
11285
  });
11231
11286
  },
11232
- icon: /*#__PURE__*/React__default.createElement(Delete, null),
11233
11287
  "data-testid": "deleteButton"
11234
- }), layerMenuLayout || /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
11288
+ }, /*#__PURE__*/React__default.createElement(Delete, null)), layerMenuLayout || /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
11235
11289
  mapId: mapId,
11236
11290
  layerId: layerId,
11237
11291
  onLayerDuplicate: onLayerDuplicate
@@ -11251,8 +11305,8 @@ var LayerRow = function LayerRow(_ref) {
11251
11305
  * See the License for the specific language governing permissions and
11252
11306
  * limitations under the License.
11253
11307
  *
11254
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11255
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
11308
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11309
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
11256
11310
  * */
11257
11311
 
11258
11312
  var DeleteLayerConnect = function DeleteLayerConnect(_ref) {
@@ -11274,7 +11328,7 @@ var DeleteLayerConnect = function DeleteLayerConnect(_ref) {
11274
11328
  var isLayerEnabled = useSelector(function (store) {
11275
11329
  return getLayerEnabled(store, layerId);
11276
11330
  });
11277
- return /*#__PURE__*/React.createElement(ManagerButton, {
11331
+ return /*#__PURE__*/React.createElement(CustomIconButton, {
11278
11332
  tooltipTitle: "Delete",
11279
11333
  onClick: function onClick() {
11280
11334
  layerDelete({
@@ -11283,10 +11337,9 @@ var DeleteLayerConnect = function DeleteLayerConnect(_ref) {
11283
11337
  layerIndex: layerIndex
11284
11338
  });
11285
11339
  },
11286
- isEnabled: isLayerEnabled,
11287
- icon: /*#__PURE__*/React.createElement(Delete, null),
11340
+ shouldShowAsDisabled: !isLayerEnabled,
11288
11341
  "data-testid": "deleteButton"
11289
- });
11342
+ }, /*#__PURE__*/React.createElement(Delete, null));
11290
11343
  };
11291
11344
 
11292
11345
  /* *
@@ -11302,8 +11355,8 @@ var DeleteLayerConnect = function DeleteLayerConnect(_ref) {
11302
11355
  * See the License for the specific language governing permissions and
11303
11356
  * limitations under the License.
11304
11357
  *
11305
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11306
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
11358
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11359
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
11307
11360
  * */
11308
11361
 
11309
11362
  var EnableLayerConnect = function EnableLayerConnect(_ref) {
@@ -11324,8 +11377,8 @@ var EnableLayerConnect = function EnableLayerConnect(_ref) {
11324
11377
  origin: LayerActionOrigin.layerManager
11325
11378
  }));
11326
11379
  }, [dispatch, mapId]);
11327
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ManagerButton, {
11328
- isEnabled: isEnabled,
11380
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomIconButton, {
11381
+ shouldShowAsDisabled: !isEnabled,
11329
11382
  tooltipTitle: "Toggle visibility",
11330
11383
  onClick: function onClick(event) {
11331
11384
  event.stopPropagation();
@@ -11335,10 +11388,12 @@ var EnableLayerConnect = function EnableLayerConnect(_ref) {
11335
11388
  });
11336
11389
  },
11337
11390
  className: "enable-btn",
11338
- icon: isEnabled ? /*#__PURE__*/React.createElement(Visibility, null) : /*#__PURE__*/React.createElement(VisibilityOff, null),
11339
- "data-testid": "enableButton"
11340
- }), /*#__PURE__*/React.createElement(ManagerButton, {
11341
- isEnabled: isEnabled,
11391
+ "data-testid": "enableButton",
11392
+ sx: {
11393
+ margin: 'auto 0px'
11394
+ }
11395
+ }, isEnabled ? /*#__PURE__*/React.createElement(Visibility, null) : /*#__PURE__*/React.createElement(VisibilityOff, null)), /*#__PURE__*/React.createElement(CustomIconButton, {
11396
+ shouldShowAsDisabled: !isEnabled,
11342
11397
  tooltipTitle: layerName,
11343
11398
  onClick: function onClick(event) {
11344
11399
  event.stopPropagation();
@@ -11348,9 +11403,11 @@ var EnableLayerConnect = function EnableLayerConnect(_ref) {
11348
11403
  });
11349
11404
  },
11350
11405
  className: "enable-btn-mini",
11351
- icon: isEnabled ? /*#__PURE__*/React.createElement(Visibility, null) : /*#__PURE__*/React.createElement(VisibilityOff, null),
11352
- "data-testid": "enableButton"
11353
- }));
11406
+ "data-testid": "enableButton",
11407
+ sx: {
11408
+ margin: 'auto 0px'
11409
+ }
11410
+ }, isEnabled ? /*#__PURE__*/React.createElement(Visibility, null) : /*#__PURE__*/React.createElement(VisibilityOff, null)));
11354
11411
  };
11355
11412
 
11356
11413
  /* *
@@ -11676,49 +11733,127 @@ var ActivateLayerConnect = function ActivateLayerConnect(_ref) {
11676
11733
  var layerId = _ref.layerId,
11677
11734
  mapId = _ref.mapId;
11678
11735
  var dispatch = useDispatch();
11679
- var activeLayerId = useSelector(function (store) {
11680
- return getActiveLayerId(store, mapId);
11736
+ var autoUpdateLayerId = useSelector(function (store) {
11737
+ return getAutoUpdateLayerId(store, mapId);
11738
+ });
11739
+ var autoTimestepLayerId = useSelector(function (store) {
11740
+ return getAutoTimeStepLayerId(store, mapId);
11681
11741
  });
11682
11742
  var isLayerEnabled = useSelector(function (store) {
11683
11743
  return getLayerEnabled(store, layerId);
11684
11744
  });
11685
- var setActiveLayerId = React.useCallback(function (_ref2) {
11686
- var layerId = _ref2.layerId,
11687
- mapId = _ref2.mapId;
11688
- return dispatch(mapActions$1.setAutoLayerId({
11745
+ var isAutoUpdating$1 = useSelector(function (store) {
11746
+ return isAutoUpdating(store, mapId);
11747
+ });
11748
+
11749
+ var goToLastAvailableTimeForLayerIfAutoUpdateIsOn = function goToLastAvailableTimeForLayerIfAutoUpdateIsOn() {
11750
+ if (isAutoUpdating$1) {
11751
+ dispatch(mapActions$1.toggleAutoUpdate({
11752
+ mapId: mapId,
11753
+ shouldAutoUpdate: true
11754
+ }));
11755
+ }
11756
+ };
11757
+
11758
+ var thisLayerHasAutoUpdate = layerId === autoUpdateLayerId;
11759
+ var thisLayerHasAutoTimestep = layerId === autoTimestepLayerId;
11760
+ var thisLayerHasBoth = thisLayerHasAutoTimestep && thisLayerHasAutoUpdate;
11761
+
11762
+ function handleNoneClick() {
11763
+ if (thisLayerHasBoth) {
11764
+ dispatch(mapActions$1.setAutoLayerId({
11765
+ autoTimeStepLayerId: undefined,
11766
+ autoUpdateLayerId: undefined,
11767
+ mapId: mapId,
11768
+ origin: LayerActionOrigin.layerManager
11769
+ }));
11770
+ } else if (thisLayerHasAutoTimestep) {
11771
+ dispatch(mapActions$1.setAutoTimestepLayerId({
11772
+ mapId: mapId,
11773
+ autoTimestepLayerId: undefined
11774
+ }));
11775
+ } else if (thisLayerHasAutoUpdate) {
11776
+ dispatch(mapActions$1.setAutoUpdateLayerId({
11777
+ mapId: mapId,
11778
+ autoUpdateLayerId: undefined
11779
+ }));
11780
+ }
11781
+ }
11782
+
11783
+ function handleBothClick() {
11784
+ dispatch(mapActions$1.setAutoLayerId({
11689
11785
  autoTimeStepLayerId: layerId,
11690
11786
  autoUpdateLayerId: layerId,
11691
11787
  mapId: mapId,
11692
11788
  origin: LayerActionOrigin.layerManager
11693
11789
  }));
11694
- }, [dispatch]);
11695
- var isAutoUpdating$1 = useSelector(function (store) {
11696
- return isAutoUpdating(store, mapId);
11697
- });
11698
- var setAutoUpdateOn = React.useCallback(function (mapId) {
11699
- return dispatch(mapActions$1.toggleAutoUpdate({
11790
+ goToLastAvailableTimeForLayerIfAutoUpdateIsOn();
11791
+ }
11792
+
11793
+ function handleAutoUpdateClick() {
11794
+ dispatch(mapActions$1.setAutoUpdateLayerId({
11700
11795
  mapId: mapId,
11701
- shouldAutoUpdate: true
11796
+ autoUpdateLayerId: layerId
11702
11797
  }));
11703
- }, [dispatch]);
11704
- var isActive = activeLayerId === layerId;
11705
- return /*#__PURE__*/React.createElement(ActivateLayer, {
11706
- onChange: function onChange(isActive) {
11707
- setActiveLayerId({
11798
+
11799
+ if (thisLayerHasAutoTimestep) {
11800
+ dispatch(mapActions$1.setAutoTimestepLayerId({
11708
11801
  mapId: mapId,
11709
- layerId: isActive ? layerId : undefined
11710
- });
11802
+ autoTimestepLayerId: undefined
11803
+ }));
11804
+ }
11711
11805
 
11712
- if (isAutoUpdating$1) {
11713
- // Layer is now set active *and* autoupdate is currently on => autoupdate is desired to be set on.
11714
- setAutoUpdateOn(mapId);
11806
+ goToLastAvailableTimeForLayerIfAutoUpdateIsOn();
11807
+ }
11808
+
11809
+ function handleAutoTimestepClick() {
11810
+ dispatch(mapActions$1.setAutoTimestepLayerId({
11811
+ mapId: mapId,
11812
+ autoTimestepLayerId: layerId
11813
+ }));
11814
+
11815
+ if (thisLayerHasAutoUpdate) {
11816
+ dispatch(mapActions$1.setAutoUpdateLayerId({
11817
+ mapId: mapId,
11818
+ autoUpdateLayerId: undefined
11819
+ }));
11820
+ }
11821
+ }
11822
+
11823
+ var current = getCurrentOptionForLayer(thisLayerHasBoth, thisLayerHasAutoTimestep, thisLayerHasAutoUpdate);
11824
+ return /*#__PURE__*/React.createElement(ActivateLayer, {
11825
+ current: current,
11826
+ onChange: function onChange(autoOption) {
11827
+ if (autoOption === AutoOptions.BOTH) {
11828
+ handleBothClick();
11829
+ } else if (autoOption === AutoOptions.NONE) {
11830
+ handleNoneClick();
11831
+ } else if (autoOption === AutoOptions.TIMESTEP) {
11832
+ handleAutoTimestepClick();
11833
+ } else if (autoOption === AutoOptions.UPDATE) {
11834
+ handleAutoUpdateClick();
11715
11835
  }
11716
11836
  },
11717
- isActive: isActive,
11718
11837
  isEnabled: isLayerEnabled
11719
11838
  });
11720
11839
  };
11721
11840
 
11841
+ function getCurrentOptionForLayer(thisLayerHasBoth, thisLayerHasAutoTimestep, thisLayerHasAutoUpdate) {
11842
+ if (thisLayerHasBoth) {
11843
+ return AutoOptions.BOTH;
11844
+ }
11845
+
11846
+ if (thisLayerHasAutoTimestep) {
11847
+ return AutoOptions.TIMESTEP;
11848
+ }
11849
+
11850
+ if (thisLayerHasAutoUpdate) {
11851
+ return AutoOptions.UPDATE;
11852
+ }
11853
+
11854
+ return AutoOptions.NONE;
11855
+ }
11856
+
11722
11857
  /* *
11723
11858
  * Licensed under the Apache License, Version 2.0 (the "License");
11724
11859
  * you may not use this file except in compliance with the License.
@@ -11820,8 +11955,8 @@ var LayerRowConnect = function LayerRowConnect(_ref) {
11820
11955
  * See the License for the specific language governing permissions and
11821
11956
  * limitations under the License.
11822
11957
  *
11823
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11824
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
11958
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
11959
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
11825
11960
  * */
11826
11961
  var TOOLTIP_TITLE = 'Drag';
11827
11962
 
@@ -11831,20 +11966,17 @@ var DragHandle = function DragHandle(_ref) {
11831
11966
  _ref$index = _ref.index,
11832
11967
  index = _ref$index === void 0 ? undefined : _ref$index,
11833
11968
  _ref$hideTooltip = _ref.hideTooltip,
11834
- hideTooltip = _ref$hideTooltip === void 0 ? false : _ref$hideTooltip,
11969
+ hideTooltip = _ref$hideTooltip === void 0 ? true : _ref$hideTooltip,
11835
11970
  _ref$isSorting = _ref.isSorting,
11836
11971
  isSorting = _ref$isSorting === void 0 ? false : _ref$isSorting;
11837
11972
  var tooltipTitle = hideTooltip ? '' : TOOLTIP_TITLE;
11838
- return /*#__PURE__*/React__default.createElement(ManagerButton, {
11973
+ return /*#__PURE__*/React__default.createElement(CustomIconButton, {
11839
11974
  tooltipTitle: tooltipTitle,
11840
- icon: /*#__PURE__*/React__default.createElement(DragHandle$1, null),
11841
11975
  "data-testid": "dragHandle".concat(index !== undefined ? "-".concat(index) : ''),
11842
11976
  className: "handle",
11843
11977
  tabIndex: -1,
11844
- isEnabled: !isDisabled,
11845
11978
  disableTouchRipple: true,
11846
11979
  disabled: isDisabled,
11847
- isAccessible: true,
11848
11980
  sx: {
11849
11981
  cursor: isSorting ? 'grabbing' : 'grab',
11850
11982
  '&:hover': {
@@ -11853,9 +11985,12 @@ var DragHandle = function DragHandle(_ref) {
11853
11985
  marginLeft: '3px',
11854
11986
  marginRight: '3px',
11855
11987
  marginTop: 'auto',
11856
- marginBottom: 'auto'
11988
+ marginBottom: 'auto',
11989
+ '&.MuiIconButton-root': {
11990
+ color: 'geowebColors.greys.accessible'
11991
+ }
11857
11992
  }
11858
- });
11993
+ }, /*#__PURE__*/React__default.createElement(DragHandle$1, null));
11859
11994
  };
11860
11995
 
11861
11996
  var LayerContainerRow = function LayerContainerRow(_ref) {
@@ -12018,7 +12153,10 @@ var LayerContainerRow = function LayerContainerRow(_ref) {
12018
12153
  var BaseLayers = function BaseLayers(_ref) {
12019
12154
  var selectedBaseLayers = _ref.selectedBaseLayers,
12020
12155
  availableBaseLayers = _ref.availableBaseLayers,
12021
- onChangeBaseLayers = _ref.onChangeBaseLayers;
12156
+ onChangeBaseLayers = _ref.onChangeBaseLayers,
12157
+ icon = _ref.icon,
12158
+ _ref$tooltipPrefix = _ref.tooltipPrefix,
12159
+ tooltipPrefix = _ref$tooltipPrefix === void 0 ? 'Layer: ' : _ref$tooltipPrefix;
12022
12160
 
12023
12161
  var _a;
12024
12162
 
@@ -12041,7 +12179,7 @@ var BaseLayers = function BaseLayers(_ref) {
12041
12179
  }
12042
12180
  }, /*#__PURE__*/React.createElement(TooltipSelect, {
12043
12181
  disableUnderline: true,
12044
- tooltip: "Base layer: ".concat((_a = availableBaseLayers[currentIndex]) === null || _a === void 0 ? void 0 : _a.name),
12182
+ tooltip: "".concat(tooltipPrefix).concat((_a = availableBaseLayers[currentIndex]) === null || _a === void 0 ? void 0 : _a.name),
12045
12183
  inputProps: {
12046
12184
  SelectDisplayProps: {
12047
12185
  'data-testid': 'selectBaseLayer'
@@ -12059,7 +12197,8 @@ var BaseLayers = function BaseLayers(_ref) {
12059
12197
  },
12060
12198
  onChangeMouseWheel: function onChangeMouseWheel(e) {
12061
12199
  return onChangeBaseLayers(e.value);
12062
- }
12200
+ },
12201
+ IconComponent: icon
12063
12202
  }, /*#__PURE__*/React.createElement(MenuItem, {
12064
12203
  disabled: true
12065
12204
  }, "Base layer"), availableBaseLayers.map(function (baseLayer) {
@@ -12131,7 +12270,9 @@ var areAvailableBaseLayersSame = function areAvailableBaseLayersSame(availableBa
12131
12270
 
12132
12271
  var BaseLayersConnect = function BaseLayersConnect(_ref) {
12133
12272
  var mapId = _ref.mapId,
12134
- preloadedAvailableBaseLayers = _ref.preloadedAvailableBaseLayers;
12273
+ preloadedAvailableBaseLayers = _ref.preloadedAvailableBaseLayers,
12274
+ tooltipPrefix = _ref.tooltipPrefix,
12275
+ icon = _ref.icon;
12135
12276
  var dispatch = useDispatch();
12136
12277
  var selectedBaseLayers = useSelector(function (store) {
12137
12278
  return getMapBaseLayers(store, mapId);
@@ -12166,7 +12307,9 @@ var BaseLayersConnect = function BaseLayersConnect(_ref) {
12166
12307
  return /*#__PURE__*/React.createElement(BaseLayers, {
12167
12308
  selectedBaseLayers: selectedBaseLayers,
12168
12309
  availableBaseLayers: currentAvailableBaseLayers,
12169
- onChangeBaseLayers: onChangeBaseLayers
12310
+ onChangeBaseLayers: onChangeBaseLayers,
12311
+ tooltipPrefix: tooltipPrefix,
12312
+ icon: icon
12170
12313
  });
12171
12314
  };
12172
12315
 
@@ -12203,11 +12346,10 @@ var WMSServerList = function WMSServerList(_ref) {
12203
12346
  }, /*#__PURE__*/React.createElement(List, {
12204
12347
  dense: true
12205
12348
  }, sortedServices.map(function (service) {
12206
- return /*#__PURE__*/React.createElement(ListItem, {
12349
+ return /*#__PURE__*/React.createElement(ListItemButton, {
12207
12350
  "data-testid": "service-item",
12208
12351
  key: service.url,
12209
12352
  selected: service === activeService,
12210
- button: true,
12211
12353
  onClick: function onClick(event) {
12212
12354
  handleListItemClick(event, service);
12213
12355
  }
@@ -12230,8 +12372,8 @@ var WMSServerList = function WMSServerList(_ref) {
12230
12372
  * See the License for the specific language governing permissions and
12231
12373
  * limitations under the License.
12232
12374
  *
12233
- * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
12234
- * Copyright 2020 - Finnish Meteorological Institute (FMI)
12375
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
12376
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
12235
12377
  * */
12236
12378
 
12237
12379
  var WMSLayerTreeHeader = function WMSLayerTreeHeader(_ref) {
@@ -12249,18 +12391,11 @@ var WMSLayerTreeHeader = function WMSLayerTreeHeader(_ref) {
12249
12391
  htmlFor: "select-multiple-native"
12250
12392
  }, "Available layers for ", serviceName)), onClickReload && /*#__PURE__*/React.createElement(Grid, {
12251
12393
  item: true
12252
- }, /*#__PURE__*/React.createElement(CustomTooltip, {
12253
- title: "Reload layers from service",
12254
- placement: "top"
12255
- }, /*#__PURE__*/React.createElement(IconButton, {
12394
+ }, /*#__PURE__*/React.createElement(CustomIconButton, {
12395
+ tooltipTitle: "Reload layers from service",
12256
12396
  "data-testid": "reloadLayers",
12257
- color: "primary",
12258
- style: {
12259
- padding: 3
12260
- },
12261
- onClick: onClickReload,
12262
- size: "large"
12263
- }, /*#__PURE__*/React.createElement(Cached, null)))));
12397
+ onClick: onClickReload
12398
+ }, /*#__PURE__*/React.createElement(Cached, null))));
12264
12399
  };
12265
12400
 
12266
12401
  var WMSLayerTree = function WMSLayerTree(_ref) {
@@ -12396,10 +12531,9 @@ var WMSLayerTree = function WMSLayerTree(_ref) {
12396
12531
  textOverflow: 'ellipsis'
12397
12532
  }
12398
12533
  }, category)), layerMap[category].map(function (layer) {
12399
- return layer.leaf ? /*#__PURE__*/React.createElement(ListItem, {
12534
+ return layer.leaf ? /*#__PURE__*/React.createElement(ListItemButton, {
12400
12535
  "data-testid": "selectableLayer",
12401
12536
  key: layer.name,
12402
- button: true,
12403
12537
  selected: processedOK.indexOf(layer.name) !== -1 || layerExists(layer, highlightedLayers),
12404
12538
  onClick: function onClick() {
12405
12539
  return handleInternalSelect(layer.name);
@@ -12739,7 +12873,7 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
12739
12873
  alignItems: "center"
12740
12874
  }, /*#__PURE__*/React.createElement(Grid, {
12741
12875
  item: true,
12742
- xs: 10
12876
+ xs: 12
12743
12877
  }, /*#__PURE__*/React.createElement(TextField, {
12744
12878
  margin: "dense",
12745
12879
  id: "serviceurl",
@@ -12761,25 +12895,21 @@ var AddLayersPopup = function AddLayersPopup(_ref) {
12761
12895
  disabled: loading,
12762
12896
  error: urlError !== '',
12763
12897
  helperText: urlError,
12764
- variant: "standard"
12765
- })), /*#__PURE__*/React.createElement(Grid, {
12766
- item: true,
12767
- xs: 2,
12768
- sx: {
12769
- position: 'relative'
12770
- }
12771
- }, /*#__PURE__*/React.createElement(IconButton, {
12772
- "data-testid": "add-service",
12773
- onClick: handleAddServiceURL,
12774
- disabled: loading,
12775
- size: "large"
12776
- }, /*#__PURE__*/React.createElement(Add, null)), loading && /*#__PURE__*/React.createElement(CircularProgress, {
12777
- size: 35,
12778
- sx: {
12779
- position: 'absolute',
12780
- top: '7px',
12781
- left: '7px',
12782
- zIndex: 1
12898
+ variant: "filled",
12899
+ InputProps: {
12900
+ endAdornment: /*#__PURE__*/React.createElement(InputAdornment, {
12901
+ position: "end"
12902
+ }, loading ? /*#__PURE__*/React.createElement(CircularProgress, {
12903
+ size: 24,
12904
+ sx: {
12905
+ zIndex: 1
12906
+ }
12907
+ }) : /*#__PURE__*/React.createElement(CustomIconButton, {
12908
+ "data-testid": "add-service",
12909
+ onClick: handleAddServiceURL,
12910
+ disabled: loading,
12911
+ size: "large"
12912
+ }, /*#__PURE__*/React.createElement(Add, null)))
12783
12913
  }
12784
12914
  })))), /*#__PURE__*/React.createElement(Box, {
12785
12915
  m: 2
@@ -12819,10 +12949,7 @@ var styles$3 = {
12819
12949
  zIndex: 1
12820
12950
  },
12821
12951
  button: {
12822
- width: '24px',
12823
- height: '24px',
12824
- margin: 'auto 0px auto 32px',
12825
- borderRadius: '15%'
12952
+ margin: 'auto 0px auto 32px'
12826
12953
  }
12827
12954
  };
12828
12955
 
@@ -12843,40 +12970,24 @@ var AddLayersButton = function AddLayersButton(_ref) {
12843
12970
  open = _React$useState2[0],
12844
12971
  setOpen = _React$useState2[1];
12845
12972
 
12846
- var _React$useState3 = React.useState(shouldFocus),
12847
- _React$useState4 = _slicedToArray(_React$useState3, 2),
12848
- isTooltipDisabled = _React$useState4[0],
12849
- setTooltipDisabled = _React$useState4[1];
12850
-
12851
12973
  var handleClose = function handleClose() {
12852
12974
  setOpen(!open);
12853
12975
  };
12854
12976
 
12855
- var onBlurTooltip = function onBlurTooltip(event) {
12856
- // enable tooltip again after user blurs
12857
- if (event.relatedTarget) {
12858
- setTooltipDisabled(false);
12859
- }
12860
- };
12861
-
12862
12977
  React.useEffect(function () {
12863
12978
  if (shouldFocus && ref.current) {
12864
12979
  ref.current.focus();
12865
12980
  } // eslint-disable-next-line react-hooks/exhaustive-deps
12866
12981
 
12867
12982
  }, []);
12868
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomTooltip, {
12869
- title: tooltip,
12870
- disableFocusListener: isTooltipDisabled,
12871
- onBlur: onBlurTooltip
12872
- }, /*#__PURE__*/React.createElement(IconButton, {
12983
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(CustomIconButton, {
12873
12984
  onClick: handleClose,
12874
12985
  sx: styles$3.button,
12875
12986
  disableRipple: true,
12876
12987
  "data-testid": "addLayersButton",
12877
12988
  ref: ref,
12878
- size: "large"
12879
- }, /*#__PURE__*/React.createElement(Add, null))), /*#__PURE__*/React.createElement(AddLayersPopup, {
12989
+ tooltipTitle: tooltip
12990
+ }, /*#__PURE__*/React.createElement(Add, null)), /*#__PURE__*/React.createElement(AddLayersPopup, {
12880
12991
  open: open,
12881
12992
  handleClose: handleClose,
12882
12993
  onRenderTree: onRenderTree,
@@ -12909,7 +13020,11 @@ var BaseLayerRow = function BaseLayerRow(_ref) {
12909
13020
  _ref$preloadedService = _ref.preloadedServices,
12910
13021
  preloadedServices = _ref$preloadedService === void 0 ? preloadedDefaultBaseServices : _ref$preloadedService,
12911
13022
  _ref$tooltip = _ref.tooltip,
12912
- tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip;
13023
+ tooltip = _ref$tooltip === void 0 ? '' : _ref$tooltip,
13024
+ settings = _ref.settings;
13025
+
13026
+ var _a, _b, _c;
13027
+
12913
13028
  return /*#__PURE__*/React.createElement(Grid, {
12914
13029
  container: true,
12915
13030
  item: true,
@@ -12935,12 +13050,14 @@ var BaseLayerRow = function BaseLayerRow(_ref) {
12935
13050
  layerType: LayerType.baseLayer
12936
13051
  });
12937
13052
  }
12938
- })), /*#__PURE__*/React.createElement(Grid, {
13053
+ })), (_a = settings === null || settings === void 0 ? void 0 : settings.baseLayerRow) === null || _a === void 0 ? void 0 : _a.title, /*#__PURE__*/React.createElement(Grid, {
12939
13054
  item: true,
12940
13055
  className: columnClasses.column2
12941
13056
  }, /*#__PURE__*/React.createElement(BaseLayersConnect, {
12942
13057
  mapId: mapId,
12943
- preloadedAvailableBaseLayers: preloadedAvailableBaseLayers
13058
+ preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
13059
+ tooltipPrefix: (_b = settings === null || settings === void 0 ? void 0 : settings.baseLayerDropdown) === null || _b === void 0 ? void 0 : _b.tooltipPrefix,
13060
+ icon: (_c = settings === null || settings === void 0 ? void 0 : settings.baseLayerDropdown) === null || _c === void 0 ? void 0 : _c.icon
12944
13061
  })));
12945
13062
  };
12946
13063
 
@@ -13049,7 +13166,8 @@ var LayerManager = function LayerManager(_ref) {
13049
13166
  left: 50
13050
13167
  } : _ref$startPosition,
13051
13168
  _ref$setFocused = _ref.setFocused,
13052
- setFocused = _ref$setFocused === void 0 ? function () {} : _ref$setFocused;
13169
+ setFocused = _ref$setFocused === void 0 ? function () {} : _ref$setFocused,
13170
+ settings = _ref.settings;
13053
13171
  var minSize = {
13054
13172
  width: 100,
13055
13173
  height: 126
@@ -13141,14 +13259,16 @@ var LayerManager = function LayerManager(_ref) {
13141
13259
  }, /*#__PURE__*/React.createElement(DescriptionRow, {
13142
13260
  mapPresetsModule: leftHeaderComponent,
13143
13261
  mapId: mapId,
13144
- source: source
13262
+ source: source,
13263
+ settings: settings === null || settings === void 0 ? void 0 : settings.header
13145
13264
  }), /*#__PURE__*/React.createElement(LayerContainerRow, {
13146
13265
  mapId: mapId
13147
13266
  }), /*#__PURE__*/React.createElement(BaseLayerRow, {
13148
13267
  mapId: mapId,
13149
13268
  tooltip: "Add base layers",
13150
13269
  preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
13151
- preloadedServices: preloadedBaseServices
13270
+ preloadedServices: preloadedBaseServices,
13271
+ settings: settings === null || settings === void 0 ? void 0 : settings.footer
13152
13272
  })))));
13153
13273
  };
13154
13274
 
@@ -13522,12 +13642,19 @@ var KeywordFilterButtonConnect = function KeywordFilterButtonConnect(_ref) {
13522
13642
  * See the License for the specific language governing permissions and
13523
13643
  * limitations under the License.
13524
13644
  *
13525
- * Copyright 2021 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
13526
- * Copyright 2021 - Finnish Meteorological Institute (FMI)
13645
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
13646
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
13527
13647
  * */
13528
13648
  var isURL = function isURL(string) {
13529
13649
  return /^https?:\/\//.test(string);
13530
13650
  };
13651
+ var buttonStyle = {
13652
+ '&.MuiButtonBase-root.MuiIconButton-root': {
13653
+ width: 48,
13654
+ height: 48,
13655
+ marginRight: '-12px'
13656
+ }
13657
+ };
13531
13658
 
13532
13659
  var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
13533
13660
  var localSearchString = _ref.localSearchString,
@@ -13535,16 +13662,13 @@ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
13535
13662
  setPopupIsOpen = _ref.setPopupIsOpen;
13536
13663
 
13537
13664
  var ClearButton = function ClearButton() {
13538
- return /*#__PURE__*/React__default.createElement(CustomTooltip, {
13539
- title: "Clear",
13540
- placement: "top"
13541
- }, /*#__PURE__*/React__default.createElement(IconButton, {
13542
- edge: "end",
13665
+ return /*#__PURE__*/React__default.createElement(CustomIconButton, {
13666
+ tooltipTitle: "Clear",
13667
+ sx: buttonStyle,
13543
13668
  onClick: function onClick() {
13544
13669
  onClickClear();
13545
- },
13546
- size: "large"
13547
- }, /*#__PURE__*/React__default.createElement(Clear, null)));
13670
+ }
13671
+ }, /*#__PURE__*/React__default.createElement(Clear, null));
13548
13672
  };
13549
13673
 
13550
13674
  if (isURL(localSearchString)) {
@@ -13564,13 +13688,10 @@ var SearchFieldButtonContainer = function SearchFieldButtonContainer(_ref) {
13564
13688
  return /*#__PURE__*/React__default.createElement(ClearButton, null);
13565
13689
  }
13566
13690
 
13567
- return /*#__PURE__*/React__default.createElement(CustomTooltip, {
13568
- title: "Search",
13569
- placement: "top"
13570
- }, /*#__PURE__*/React__default.createElement(IconButton, {
13571
- edge: "end",
13572
- size: "large"
13573
- }, /*#__PURE__*/React__default.createElement(Search, null)));
13691
+ return /*#__PURE__*/React__default.createElement(CustomIconButton, {
13692
+ tooltipTitle: "Search",
13693
+ sx: buttonStyle
13694
+ }, /*#__PURE__*/React__default.createElement(Search, null));
13574
13695
  };
13575
13696
 
13576
13697
  var SearchField = function SearchField(_ref) {
@@ -14732,7 +14853,7 @@ var ServiceChipConnect = function ServiceChipConnect(_ref) {
14732
14853
  }));
14733
14854
  };
14734
14855
 
14735
- var hasSelectedStyle = !isAllSelected && isSelected || isAllSelected && service === 'all';
14856
+ var hasSelectedStyle = !isAllSelected && isSelected || isAllSelected && (service === null || service === void 0 ? void 0 : service.serviceName) === 'all';
14736
14857
 
14737
14858
  var toggleChip = function toggleChip(service) {
14738
14859
  if (service === 'all') {
@@ -14906,8 +15027,8 @@ var ServiceListConnect = function ServiceListConnect(_ref) {
14906
15027
  * See the License for the specific language governing permissions and
14907
15028
  * limitations under the License.
14908
15029
  *
14909
- * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
14910
- * Copyright 2022 - Finnish Meteorological Institute (FMI)
15030
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
15031
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
14911
15032
  * */
14912
15033
  var styles$1 = {
14913
15034
  servicesContainer: {
@@ -15073,39 +15194,35 @@ var Rows = function Rows(_ref2) {
15073
15194
  paddingRight: '70px'
15074
15195
  }
15075
15196
  }, serviceName)), /*#__PURE__*/React.createElement(ListItemSecondaryAction, {
15076
- style: {
15197
+ sx: {
15077
15198
  marginRight: '0px',
15078
- width: 100
15199
+ width: 96,
15200
+ button: {
15201
+ marginLeft: 1
15202
+ }
15079
15203
  }
15080
15204
  }, /*#__PURE__*/React.createElement(Grid, {
15081
- container: true
15082
- }, /*#__PURE__*/React.createElement(Grid, {
15083
- item: true,
15084
- xs: 4
15205
+ container: true,
15206
+ justifyContent: "left"
15085
15207
  }, /*#__PURE__*/React.createElement(CustomTooltip, {
15086
15208
  "data-testid": "updateServiceTooltip",
15087
15209
  title: updateServiceTitle,
15088
15210
  placement: tooltipPlacement(),
15089
15211
  PopperProps: tooltipPopperProps
15090
- }, /*#__PURE__*/React.createElement(IconButton, {
15212
+ }, /*#__PURE__*/React.createElement(CustomIconButton, {
15091
15213
  "data-testid": "updateServiceButton",
15092
15214
  "aria-label": "Update layers from WMS service",
15093
- size: "large",
15094
15215
  onKeyDown: stopTabPropagation,
15095
15216
  onClick: function onClick() {
15096
15217
  layerSelectReloadService(serviceUrl);
15097
15218
  }
15098
- }, /*#__PURE__*/React.createElement(Cached, null)))), /*#__PURE__*/React.createElement(Grid, {
15099
- item: true,
15100
- xs: 4
15101
- }, userAddedService ? /*#__PURE__*/React.createElement(CustomTooltip, {
15219
+ }, /*#__PURE__*/React.createElement(Cached, null))), userAddedService ? /*#__PURE__*/React.createElement(CustomTooltip, {
15102
15220
  title: editServiceTitle,
15103
15221
  placement: tooltipPlacement(),
15104
15222
  PopperProps: tooltipPopperProps
15105
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
15223
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(CustomIconButton, {
15106
15224
  "aria-label": "edit service",
15107
15225
  "data-testid": "openEditServiceButton",
15108
- size: "large",
15109
15226
  onKeyDown: stopTabPropagation,
15110
15227
  onClick: function onClick() {
15111
15228
  setServicePopupInfo({
@@ -15119,10 +15236,9 @@ var Rows = function Rows(_ref2) {
15119
15236
  title: showServiceTitle,
15120
15237
  placement: tooltipPlacement(),
15121
15238
  PopperProps: tooltipPopperProps
15122
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
15239
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(CustomIconButton, {
15123
15240
  "aria-label": "show service",
15124
15241
  "data-testid": "openShowServiceButton",
15125
- size: "large",
15126
15242
  onKeyDown: stopTabPropagation,
15127
15243
  onClick: function onClick() {
15128
15244
  setServicePopupInfo({
@@ -15132,24 +15248,20 @@ var Rows = function Rows(_ref2) {
15132
15248
  variant: 'show'
15133
15249
  });
15134
15250
  }
15135
- }, /*#__PURE__*/React.createElement(Visibility, null))))), /*#__PURE__*/React.createElement(Grid, {
15136
- item: true,
15137
- xs: 4
15138
- }, userAddedService && /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(CustomTooltip, {
15251
+ }, /*#__PURE__*/React.createElement(Visibility, null)))), userAddedService && /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(CustomTooltip, {
15139
15252
  title: deleteServiceTitle(serviceHasActiveLayers),
15140
15253
  PopperProps: tooltipPopperProps,
15141
15254
  placement: tooltipPlacement(),
15142
15255
  "data-testid": "removeServiceTooltip"
15143
- }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(IconButton, {
15256
+ }, /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement(CustomIconButton, {
15144
15257
  "data-testid": "removeServiceButton",
15145
15258
  "aria-label": "delete service",
15146
- size: "large",
15147
15259
  disabled: serviceHasActiveLayers,
15148
15260
  onKeyDown: stopTabPropagation,
15149
15261
  onClick: function onClick() {
15150
15262
  return layerSelectRemoveService(serviceId, serviceUrl, serviceName);
15151
15263
  }
15152
- }, /*#__PURE__*/React.createElement(Delete, null)))))))));
15264
+ }, /*#__PURE__*/React.createElement(Delete, null))))))));
15153
15265
  }));
15154
15266
  };
15155
15267
 
@@ -15609,12 +15721,12 @@ var FilterListItem = function FilterListItem(_ref) {
15609
15721
  whiteSpace: 'nowrap',
15610
15722
  overflow: 'hidden'
15611
15723
  }
15612
- }, filter.name, " (", filter.amountVisible, ")"), isHovering ? /*#__PURE__*/React.createElement(ListItemSecondaryAction, null, /*#__PURE__*/React.createElement(IconButton, {
15724
+ }, filter.name, " (", filter.amountVisible, ")"), isHovering ? /*#__PURE__*/React.createElement(ListItemSecondaryAction, null, /*#__PURE__*/React.createElement(CustomIconButton, {
15613
15725
  style: {
15614
- backgroundColor: 'transparent'
15726
+ backgroundColor: 'transparent',
15727
+ width: 'auto'
15615
15728
  },
15616
15729
  edge: "end",
15617
- size: "small",
15618
15730
  onClick: function onClick() {
15619
15731
  return selectOnlyOne(filter.id);
15620
15732
  },
@@ -16166,15 +16278,16 @@ var ServicePopup = function ServicePopup(_ref2) {
16166
16278
  }, /*#__PURE__*/React.createElement(Typography, {
16167
16279
  variant: "h5",
16168
16280
  component: "span"
16169
- }, getTitleForVariant(servicePopupVariant)), /*#__PURE__*/React.createElement(IconButton, {
16281
+ }, getTitleForVariant(servicePopupVariant)), /*#__PURE__*/React.createElement(CustomIconButton, {
16170
16282
  "aria-label": "close",
16171
- size: "small",
16172
16283
  onClick: closePopup,
16173
16284
  "data-testid": "closePopupButtonCross",
16174
16285
  sx: {
16175
- color: 'geowebColors.captions.captionDisabled.color',
16176
16286
  marginTop: 'auto',
16177
- marginBottom: 'auto'
16287
+ marginBottom: 'auto',
16288
+ '&.MuiButtonBase-root': {
16289
+ color: 'geowebColors.greys.accessible'
16290
+ }
16178
16291
  }
16179
16292
  }, /*#__PURE__*/React.createElement(Close, null))), isLoading && /*#__PURE__*/React.createElement(Box, {
16180
16293
  sx: {
@@ -16212,11 +16325,14 @@ var ServicePopup = function ServicePopup(_ref2) {
16212
16325
  disableUnderline: isShowPopup,
16213
16326
  endAdornment: isShowPopup && /*#__PURE__*/React.createElement(InputAdornment, {
16214
16327
  position: "end"
16215
- }, /*#__PURE__*/React.createElement(IconButton, {
16328
+ }, /*#__PURE__*/React.createElement(CustomIconButton, {
16216
16329
  "aria-label": "copy url",
16217
16330
  onClick: function onClick() {
16218
16331
  navigator.clipboard.writeText(serviceUrl);
16219
16332
  showSnackbar(COPY_URL_MESSAGE);
16333
+ },
16334
+ sx: {
16335
+ marginTop: 0.5
16220
16336
  }
16221
16337
  }, /*#__PURE__*/React.createElement(Copy, null)))
16222
16338
  },
@@ -16909,8 +17025,8 @@ var handleMomentISOString = function handleMomentISOString(dateIn) {
16909
17025
  * See the License for the specific language governing permissions and
16910
17026
  * limitations under the License.
16911
17027
  *
16912
- * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
16913
- * Copyright 2020 - Finnish Meteorological Institute (FMI)
17028
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
17029
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
16914
17030
  * */
16915
17031
 
16916
17032
  var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
@@ -16951,16 +17067,16 @@ var DimensionSelectSliderConnect = function DimensionSelectSliderConnect(_ref) {
16951
17067
  key: layerId,
16952
17068
  item: true,
16953
17069
  xs: "auto"
16954
- }, /*#__PURE__*/React.createElement(CustomTooltip, {
16955
- title: tooltipTitle,
16956
- placement: "top"
16957
- }, /*#__PURE__*/React.createElement(IconButton, {
17070
+ }, /*#__PURE__*/React.createElement(CustomIconButton, {
17071
+ tooltipTitle: tooltipTitle,
16958
17072
  "data-testid": "syncButton",
16959
- size: "small",
16960
17073
  onClick: function onClick() {
16961
17074
  return handleSyncChanged(layerId, dimensionName, layerDimension.currentValue, !layerDimension.synced);
17075
+ },
17076
+ sx: {
17077
+ margin: '5px'
16962
17078
  }
16963
- }, /*#__PURE__*/React.createElement(Icon, null))), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
17079
+ }, /*#__PURE__*/React.createElement(Icon, null)), /*#__PURE__*/React.createElement(DimensionSelectSlider, {
16964
17080
  marks: marks,
16965
17081
  layerTitle: layerTitle,
16966
17082
  reverse: dimConfig ? dimConfig.reversed : false,
@@ -21105,7 +21221,6 @@ var setServiceMetadata = function setServiceMetadata(wmLayer, mapId, mapProperti
21105
21221
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
21106
21222
  * */
21107
21223
  /* Function which calculates the distance between two points */
21108
- // eslint-disable-next-line class-methods-use-this
21109
21224
 
21110
21225
  var distance = function distance(a, b) {
21111
21226
  return Math.sqrt((a.x - b.x) * (a.x - b.x) + (a.y - b.y) * (a.y - b.y));
@@ -21184,9 +21299,10 @@ var checkHoverVertice = function checkHoverVertice(feature, mouseX, mouseY, conv
21184
21299
  return {
21185
21300
  coordinateIndexInFeature: _polygonIndex
21186
21301
  };
21187
- } // eslint-disable-next-line no-empty
21188
-
21189
- } catch (e) {}
21302
+ }
21303
+ } catch (e) {
21304
+ console.warn(e);
21305
+ }
21190
21306
  }
21191
21307
  }
21192
21308
 
@@ -21212,9 +21328,10 @@ var checkHoverVertice = function checkHoverVertice(feature, mouseX, mouseY, conv
21212
21328
  return {
21213
21329
  coordinateIndexInFeature: _polygonIndex2
21214
21330
  };
21215
- } // eslint-disable-next-line no-empty
21216
-
21217
- } catch (e) {}
21331
+ }
21332
+ } catch (e) {
21333
+ console.warn(e);
21334
+ }
21218
21335
  }
21219
21336
  }
21220
21337
 
@@ -21428,7 +21545,7 @@ var AdagucMapDraw = /*#__PURE__*/function (_React$PureComponent) {
21428
21545
  if (feature.geometry) {
21429
21546
  var coordinates = feature.geometry.coordinates;
21430
21547
 
21431
- if (_this.snappedPolygonIndex > coordinates.length - 1) {
21548
+ if (Number(_this.snappedPolygonIndex) > coordinates.length - 1) {
21432
21549
  _this.snappedPolygonIndex = coordinates.length - 1;
21433
21550
  }
21434
21551
  }
@@ -24655,7 +24772,26 @@ var MapView = function MapView(_a) {
24655
24772
 
24656
24773
  var dimensions = props.dimensions,
24657
24774
  mapId = props.mapId;
24775
+ var wmjsMapRef = React.useRef(null);
24776
+
24777
+ var _useResizeDetector = useResizeDetector(),
24778
+ ref = _useResizeDetector.ref,
24779
+ height = _useResizeDetector.height,
24780
+ width = _useResizeDetector.width;
24781
+
24782
+ React.useEffect(function () {
24783
+ if (wmjsMapRef.current && !!width && !!height) {
24784
+ var _wmjsMapRef$current$g = wmjsMapRef.current.getSize(),
24785
+ mapHeight = _wmjsMapRef$current$g.height,
24786
+ mapWidth = _wmjsMapRef$current$g.width;
24787
+
24788
+ if (width !== mapWidth || height !== mapHeight) {
24789
+ wmjsMapRef.current.setSize(Math.ceil(width), Math.ceil(height));
24790
+ }
24791
+ }
24792
+ }, [width, height]);
24658
24793
  return /*#__PURE__*/React.createElement(Box, {
24794
+ ref: ref,
24659
24795
  sx: {
24660
24796
  display: 'grid',
24661
24797
  width: '100%',
@@ -24688,7 +24824,10 @@ var MapView = function MapView(_a) {
24688
24824
  }
24689
24825
  }, /*#__PURE__*/React.createElement(ReactMapView, Object.assign({}, props, {
24690
24826
  showLegend: false,
24691
- displayTimeInMap: false
24827
+ displayTimeInMap: false,
24828
+ onWMJSMount: function onWMJSMount(id) {
24829
+ wmjsMapRef.current = getWMJSMapById(id);
24830
+ }
24692
24831
  }), children)), displayTimeInMap && dimensions && /*#__PURE__*/React.createElement(MapTime, {
24693
24832
  dimensions: dimensions
24694
24833
  }));
@@ -25939,11 +26078,10 @@ var GetFeatureInfoDialog = function GetFeatureInfoDialog(_ref) {
25939
26078
  }
25940
26079
  }, /*#__PURE__*/React__default.createElement(Typography, {
25941
26080
  variant: "subtitle1"
25942
- }, title, "\xA0", /*#__PURE__*/React__default.createElement(IconButton, {
26081
+ }, title, "\xA0", /*#__PURE__*/React__default.createElement(CustomIconButton, {
25943
26082
  sx: {
25944
26083
  "float": 'right'
25945
26084
  },
25946
- size: "small",
25947
26085
  "aria-label": "Open layer featureinfo in another page",
25948
26086
  onClick: function onClick() {
25949
26087
  window.open(url);
@@ -26324,8 +26462,7 @@ var MultiMapViewConnect = function MultiMapViewConnect(_ref) {
26324
26462
  syncGroupAddTarget({
26325
26463
  groupId: syncGroupsId,
26326
26464
  targetId: map.id,
26327
- linked: true,
26328
- origin: 'system'
26465
+ linked: true
26329
26466
  });
26330
26467
  });
26331
26468
  });
@@ -26735,10 +26872,9 @@ var SyncGroupListItem = function SyncGroupListItem(_ref) {
26735
26872
  var isNotCheckedElseWhere = viewStateData.groups.every(function (group) {
26736
26873
  return !(group.id !== groupId && group.selected.includes(source.id));
26737
26874
  });
26738
- return /*#__PURE__*/React.createElement(ListItem, {
26875
+ return /*#__PURE__*/React.createElement(ListItemButton, {
26739
26876
  key: source.id,
26740
26877
  dense: true,
26741
- button: true,
26742
26878
  onClick: function onClick() {
26743
26879
  return handleToggle(source.id);
26744
26880
  },
@@ -26772,8 +26908,8 @@ var SyncGroupListItem = function SyncGroupListItem(_ref) {
26772
26908
  * See the License for the specific language governing permissions and
26773
26909
  * limitations under the License.
26774
26910
  *
26775
- * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
26776
- * Copyright 2022 - Finnish Meteorological Institute (FMI)
26911
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
26912
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
26777
26913
  * */
26778
26914
  var SyncGroupList = function SyncGroupList(_ref) {
26779
26915
  var viewStateData = _ref.viewStateData,
@@ -26801,9 +26937,8 @@ var SyncGroupList = function SyncGroupList(_ref) {
26801
26937
  paddingLeft: '15px',
26802
26938
  paddingTop: '10px'
26803
26939
  }
26804
- }, /*#__PURE__*/React.createElement(Typography, null, title), /*#__PURE__*/React.createElement(CustomTooltip, {
26805
- title: index === 0 ? 'Add new group to list' : 'Remove group from list'
26806
- }, /*#__PURE__*/React.createElement(IconButton, {
26940
+ }, /*#__PURE__*/React.createElement(Typography, null, title), /*#__PURE__*/React.createElement(CustomIconButton, {
26941
+ tooltipTitle: index === 0 ? 'Add new group to list' : 'Remove group from list',
26807
26942
  style: {
26808
26943
  right: '10px'
26809
26944
  },
@@ -26812,9 +26947,8 @@ var SyncGroupList = function SyncGroupList(_ref) {
26812
26947
  return addNewGroup(groupObject.id);
26813
26948
  } : function () {
26814
26949
  return removeGroup(groupObject.id);
26815
- },
26816
- size: "large"
26817
- }, index === 0 ? /*#__PURE__*/React.createElement(Add, null) : /*#__PURE__*/React.createElement(Delete, null)))), /*#__PURE__*/React.createElement(SyncGroupListItem, {
26950
+ }
26951
+ }, index === 0 ? /*#__PURE__*/React.createElement(Add, null) : /*#__PURE__*/React.createElement(Delete, null))), /*#__PURE__*/React.createElement(SyncGroupListItem, {
26818
26952
  viewStateData: viewStateData,
26819
26953
  groupId: groupObject.id,
26820
26954
  selected: groupObject.selected,
@@ -26904,7 +27038,8 @@ var SyncGroupViewer = function SyncGroupViewer(_ref) {
26904
27038
  syncGroupAddGroup({
26905
27039
  groupId: String(groupId + Math.floor(Math.random() * 1000)),
26906
27040
  title: title,
26907
- type: syncType
27041
+ type: syncType,
27042
+ origin: 'user'
26908
27043
  });
26909
27044
  }
26910
27045
  });
@@ -27182,8 +27317,8 @@ var testLayers = /*#__PURE__*/Object.freeze({
27182
27317
  * See the License for the specific language governing permissions and
27183
27318
  * limitations under the License.
27184
27319
  *
27185
- * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
27186
- * Copyright 2022 - Finnish Meteorological Institute (FMI)
27320
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
27321
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
27187
27322
  * */
27188
27323
  var SnackbarWrapper = function SnackbarWrapper(_a) {
27189
27324
  var children = _a.children,
@@ -27201,14 +27336,19 @@ var SnackbarWrapper = function SnackbarWrapper(_a) {
27201
27336
  ClickAwayListenerProps: {
27202
27337
  mouseEvent: false
27203
27338
  },
27204
- action: /*#__PURE__*/React.createElement(IconButton, {
27339
+ action: /*#__PURE__*/React.createElement(CustomIconButton, {
27205
27340
  "aria-label": "close",
27206
27341
  "data-testid": "snackbarCloseButton",
27207
27342
  onClick: onCloseSnackbar,
27343
+ size: "large",
27208
27344
  sx: {
27209
- color: 'geowebColors.snackbar.action',
27210
- '&:hover': {
27211
- backgroundColor: 'geowebColors.snackbar.actionHover.rgba'
27345
+ '&.MuiButtonBase-root': {
27346
+ borderRadius: 20,
27347
+ color: 'geowebColors.snackbar.action',
27348
+ '&:hover': {
27349
+ color: 'geowebColors.snackbar.action',
27350
+ backgroundColor: 'geowebColors.snackbar.actionHover.rgba'
27351
+ }
27212
27352
  }
27213
27353
  }
27214
27354
  }, /*#__PURE__*/React.createElement(Close, null))
@@ -27323,6 +27463,7 @@ var CoreThemeStoreProvider = function CoreThemeStoreProvider(_ref3) {
27323
27463
  * */
27324
27464
  // stores navigate hook method to object, so it can be used outside components
27325
27465
  var historyDict = {
27466
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
27326
27467
  navigate: null
27327
27468
  };
27328
27469
 
@@ -27403,8 +27544,6 @@ var routerModuleConfig = {
27403
27544
  * */
27404
27545
  var NavigateSetter = function NavigateSetter() {
27405
27546
  // stores navigate hook method to historyDict, so it can be used outside components
27406
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
27407
- // @ts-ignore
27408
27547
  historyDict.navigate = useNavigate();
27409
27548
  return null;
27410
27549
  };