@opengeoweb/core 9.14.0 → 9.16.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 (43) hide show
  1. package/index.esm.js +545 -404
  2. package/package.json +1 -2
  3. package/src/index.d.ts +2 -0
  4. package/src/lib/components/ConfigurableMapConnect/ConfigurableMapConnect.d.ts +1 -1
  5. package/src/lib/components/LayerManager/AddLayersButton/AddLayersButton.d.ts +3 -3
  6. package/src/lib/components/LayerManager/AddLayersPopup/AddLayersPopup.d.ts +3 -3
  7. package/src/lib/components/LayerManager/BaseLayerRow/BaseLayerRow.d.ts +2 -3
  8. package/src/lib/components/LayerManager/DescriptionRow/DescriptionRow.d.ts +1 -2
  9. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/AcceptanceTime/AcceptanceTime.d.ts +1 -0
  10. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/AcceptanceTime/AcceptanceTimeConnect.d.ts +1 -0
  11. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelect.d.ts +1 -0
  12. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectConnect.d.ts +1 -0
  13. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectName.d.ts +1 -0
  14. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectValue.d.ts +1 -0
  15. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/LayerRow.d.ts +7 -3
  16. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayers.d.ts +1 -0
  17. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayersConnect.d.ts +1 -0
  18. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderStyles/RenderStyles.d.ts +1 -0
  19. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderStyles/RenderStylesConnect.d.ts +1 -0
  20. package/src/lib/components/LayerManager/LayerManager.d.ts +3 -4
  21. package/src/lib/components/LayerManager/LayerManager.stories.d.ts +10 -10
  22. package/src/lib/components/LayerManager/LayerManagerConnect.d.ts +5 -6
  23. package/src/lib/components/LayerManager/LayerManagerUtils.d.ts +1 -1
  24. package/src/lib/components/LayerManager/LayerSelect/LayerSelectButton.d.ts +8 -0
  25. package/src/lib/components/LayerManager/useFetchServices.d.ts +3 -4
  26. package/src/lib/components/MapViewConnect/MapViewConnect.MapPin.stories.d.ts +2 -2
  27. package/src/lib/components/Providers/Providers.d.ts +2 -0
  28. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/ControlButtonsConnect.d.ts +1 -0
  29. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/OptionsMenuButtonConnect.d.ts +0 -1
  30. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/OptionsMenuConnect.d.ts +0 -1
  31. package/src/lib/components/WMSLoader/WMSLayerTree/WMSLayerTree.d.ts +2 -3
  32. package/src/lib/components/WMSLoader/WMSLayerTree/WMSLayerTreeConnect.d.ts +3 -4
  33. package/src/lib/components/WMSLoader/WMSLoader.d.ts +3 -3
  34. package/src/lib/components/WMSLoader/WMSLoaderConnect.d.ts +2 -2
  35. package/src/lib/components/WMSLoader/WMSServerList/WMSServerList.d.ts +4 -4
  36. package/src/lib/utils/defaultConfigurations.d.ts +2 -2
  37. package/src/lib/utils/defaultTestSettings.d.ts +2 -3
  38. package/src/lib/utils/i18n.d.ts +2 -0
  39. package/src/lib/utils/jsonPresetFilter.d.ts +6 -7
  40. package/src/lib/utils/languageTranslation.d.ts +20 -28
  41. package/src/lib/utils/languagesService.d.ts +25 -0
  42. package/src/lib/storyshots/Storyshots.spec.d.ts +0 -1
  43. package/src/lib/utils/translationUpdater.d.ts +0 -7
package/index.esm.js CHANGED
@@ -1,24 +1,44 @@
1
1
  import * as React from 'react';
2
2
  import React__default, { useState, useCallback, useRef } from 'react';
3
- import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, Button, ListItemIcon, Checkbox } from '@mui/material';
4
- import { CustomIconButton, TooltipSelect, AlertIcon, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomTooltip, renderCounter, AlertBanner, CustomAccordion, calculateStartSize, ToolContainerDraggable, dateUtils, withEggs } from '@opengeoweb/shared';
5
- import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, CloudLoading, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, List as List$1, ExitDomain, Info, Search, MyLocation, Close, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
6
- import { LayerSelectButtonConnect, getUserAddedServices, layerSelectConfig } from '@opengeoweb/layer-select';
3
+ import { Grid, Box, MenuItem, Typography, useTheme, Popper, Fade, Tooltip, styled, LinearProgress, FormControl, InputLabel, Paper, List, ListItemButton, ListItemText, CircularProgress, ListSubheader, Dialog, DialogTitle, DialogContent, DialogContentText, TextField, InputAdornment, DialogActions, Button, ListItemIcon, Checkbox } from '@mui/material';
4
+ import { CustomIconButton, TooltipSelect, AlertIcon, sliderHeaderStyle, CustomSlider, ToggleMenu, CustomTooltip, tooltipContainerStyles, renderCounter, AlertBanner, CustomAccordion, calculateStartSize, ToolContainerDraggable, useDebounce, dateUtils, withEggs } from '@opengeoweb/shared';
5
+ import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, LayersAdd, CloudLoading, Copy, None, FastForward, AutoUpdateActive, Both, Visibility, VisibilityOff, Delete, DragHandle as DragHandle$1, Cached, Add, MapAdd, WorldMapProjection, Layers, List as List$1, ExitDomain, Info, Search, MyLocation, Close, ThemeWrapper, lightTheme } from '@opengeoweb/theme';
7
6
  import { useDispatch, useSelector, connect, useStore, Provider } from 'react-redux';
8
7
  import { ReactSortable } from 'react-sortablejs';
9
8
  import Sortable from 'sortablejs';
10
- import { layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, uiSelectors, uiTypes, useSetupDialog, filterLayers, uiActions, genericActions, drawtoolSelectors, syncConstants, loadingIndicatorActions, IS_LEGEND_OPEN_BY_DEFAULT, defaultLayers, mapStoreActions, getSingularDrawtoolDrawLayerId, syncGroupsSelectors, syncGroupsSelector, coreModuleConfig, routerUtils, routerModuleConfig } from '@opengeoweb/store';
11
- import { LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
9
+ import { layerTypes, layerUtils, layerActions, layerSelectors, serviceSelectors, serviceActions, mapSelectors, mapActions, mapEnums, uiSelectors, uiTypes, useSetupDialog, filterLayers, getUserAddedServices, uiActions, genericActions, drawtoolSelectors, syncConstants, loadingIndicatorActions, IS_LEGEND_OPEN_BY_DEFAULT, defaultLayers, mapStoreActions, getSingularDrawtoolDrawLayerId, syncGroupsSelectors, syncGroupsSelector, coreModuleConfig, routerUtils, routerModuleConfig } from '@opengeoweb/store';
10
+ import { LayerInfoButton, LayerInfoDialog, MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers, WEBMAP_REACT_NAMESPACE, webmapReactTranslations } from '@opengeoweb/webmap-react';
12
11
  import { webmapUtils, getCapabilities, WMGetServiceFromStore, LayerType, handleDateUtilsISOString, wmServiceListener, EVENT_GETCAPABILITIES_START, EVENT_GETCAPABILITIES_READY, WMLayer } from '@opengeoweb/webmap';
13
12
  import { Box as Box$1 } from '@mui/system';
14
- import { defaultTimeSpan, TIME_SLIDER_LEGEND_HEIGHT, SpeedButton, TimeStepButton, NowButton, handleSetNowEvent, AnimationLengthButton, AnimationLength, TimeSpanButton, marks as marks$1, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, AutoUpdateButton, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, TimeSlider, onsetNewDateDebounced, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
13
+ import { defaultTimeSpan, TIME_SLIDER_LEGEND_HEIGHT, SpeedButton, TimeStepButton, AnimationLengthButton, AnimationLength, TimeSpanButton, marks as marks$1, secondsPerPxFromCanvasWidth, getNewCenterOfFixedPointZoom, OptionsMenuButton, PlayButton, defaultTimeStep, BackwardForwardStepButton, AutoUpdateButton, NowButton, handleSetNowEvent, TimeSliderButtons, TimeSliderCurrentTimeBox, TimeSliderLegend, TimeSlider, onsetNewDateDebounced, getFilteredTime, ControlButtons, OptionsMenu, TimeSliderClock } from '@opengeoweb/timeslider';
15
14
  import _, { isEqual, range } from 'lodash';
15
+ import { LayerSelectButtonConnect, LayerSelectConnect, layerSelectConfig } from '@opengeoweb/layer-select';
16
16
  import axios from 'axios';
17
- import { useDebounce } from '@opengeoweb/api';
18
17
  import * as DOMPurify from 'dompurify';
18
+ import i18n from 'i18next';
19
+ import { initReactI18next, I18nextProvider } from 'react-i18next';
19
20
  import { SnackbarWrapperConnect } from '@opengeoweb/snackbar';
20
21
  import { useNavigate } from 'react-router-dom';
21
22
 
23
+ var en = {
24
+ core: "Core"
25
+ };
26
+ var fi = {
27
+ core: "Core"
28
+ };
29
+ var no = {
30
+ core: "Core"
31
+ };
32
+ var nl = {
33
+ core: "Core"
34
+ };
35
+ var coreTranslations = {
36
+ en: en,
37
+ fi: fi,
38
+ no: no,
39
+ nl: nl
40
+ };
41
+
22
42
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
23
43
 
24
44
  var fails$n = function (exec) {
@@ -87,17 +107,17 @@ var $TypeError$c = TypeError;
87
107
 
88
108
  // `RequireObjectCoercible` abstract operation
89
109
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
90
- var requireObjectCoercible$7 = function (it) {
110
+ var requireObjectCoercible$8 = function (it) {
91
111
  if (isNullOrUndefined$3(it)) throw new $TypeError$c("Can't call method on " + it);
92
112
  return it;
93
113
  };
94
114
 
95
115
  // toObject with fallback for non-array-like ES3 strings
96
116
  var IndexedObject$2 = indexedObject;
97
- var requireObjectCoercible$6 = requireObjectCoercible$7;
117
+ var requireObjectCoercible$7 = requireObjectCoercible$8;
98
118
 
99
119
  var toIndexedObject$5 = function (it) {
100
- return IndexedObject$2(requireObjectCoercible$6(it));
120
+ return IndexedObject$2(requireObjectCoercible$7(it));
101
121
  };
102
122
 
103
123
  var check = function (it) {
@@ -105,7 +125,7 @@ var check = function (it) {
105
125
  };
106
126
 
107
127
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
108
- var global$h =
128
+ var global$g =
109
129
  // eslint-disable-next-line es/no-global-this -- safe
110
130
  check(typeof globalThis == 'object' && globalThis) ||
111
131
  check(typeof window == 'object' && window) ||
@@ -116,49 +136,49 @@ var global$h =
116
136
  // eslint-disable-next-line no-new-func -- fallback
117
137
  (function () { return this; })() || Function('return this')();
118
138
 
119
- var shared$4 = {exports: {}};
139
+ var sharedStore = {exports: {}};
120
140
 
121
- var global$g = global$h;
141
+ var global$f = global$g;
122
142
 
123
143
  // eslint-disable-next-line es/no-object-defineproperty -- safe
124
144
  var defineProperty$6 = Object.defineProperty;
125
145
 
126
146
  var defineGlobalProperty$3 = function (key, value) {
127
147
  try {
128
- defineProperty$6(global$g, key, { value: value, configurable: true, writable: true });
148
+ defineProperty$6(global$f, key, { value: value, configurable: true, writable: true });
129
149
  } catch (error) {
130
- global$g[key] = value;
150
+ global$f[key] = value;
131
151
  } return value;
132
152
  };
133
153
 
134
- var global$f = global$h;
154
+ var globalThis$1 = global$g;
135
155
  var defineGlobalProperty$2 = defineGlobalProperty$3;
136
156
 
137
157
  var SHARED = '__core-js_shared__';
138
- var store$3 = global$f[SHARED] || defineGlobalProperty$2(SHARED, {});
158
+ var store$3 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty$2(SHARED, {});
139
159
 
140
- var sharedStore = store$3;
141
-
142
- var store$2 = sharedStore;
143
-
144
- (shared$4.exports = function (key, value) {
145
- return store$2[key] || (store$2[key] = value !== undefined ? value : {});
146
- })('versions', []).push({
147
- version: '3.35.1',
160
+ (store$3.versions || (store$3.versions = [])).push({
161
+ version: '3.36.1',
148
162
  mode: 'global',
149
163
  copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
150
- license: 'https://github.com/zloirock/core-js/blob/v3.35.1/LICENSE',
164
+ license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',
151
165
  source: 'https://github.com/zloirock/core-js'
152
166
  });
153
167
 
154
- var requireObjectCoercible$5 = requireObjectCoercible$7;
168
+ var store$2 = sharedStore.exports;
169
+
170
+ var shared$4 = function (key, value) {
171
+ return store$2[key] || (store$2[key] = value || {});
172
+ };
173
+
174
+ var requireObjectCoercible$6 = requireObjectCoercible$8;
155
175
 
156
176
  var $Object$3 = Object;
157
177
 
158
178
  // `ToObject` abstract operation
159
179
  // https://tc39.es/ecma262/#sec-toobject
160
180
  var toObject$7 = function (argument) {
161
- return $Object$3(requireObjectCoercible$5(argument));
181
+ return $Object$3(requireObjectCoercible$6(argument));
162
182
  };
163
183
 
164
184
  var uncurryThis$i = functionUncurryThis;
@@ -185,7 +205,7 @@ var uid$2 = function (key) {
185
205
 
186
206
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
187
207
 
188
- var global$e = global$h;
208
+ var global$e = global$g;
189
209
  var userAgent$2 = engineUserAgent;
190
210
 
191
211
  var process = global$e.process;
@@ -216,7 +236,7 @@ var engineV8Version = version;
216
236
  /* eslint-disable es/no-symbol -- required for testing */
217
237
  var V8_VERSION = engineV8Version;
218
238
  var fails$k = fails$n;
219
- var global$d = global$h;
239
+ var global$d = global$g;
220
240
 
221
241
  var $String$5 = global$d.String;
222
242
 
@@ -239,8 +259,8 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
239
259
  && !Symbol.sham
240
260
  && typeof Symbol.iterator == 'symbol';
241
261
 
242
- var global$c = global$h;
243
- var shared$3 = shared$4.exports;
262
+ var global$c = global$g;
263
+ var shared$3 = shared$4;
244
264
  var hasOwn$a = hasOwnProperty_1;
245
265
  var uid$1 = uid$2;
246
266
  var NATIVE_SYMBOL = symbolConstructorDetection;
@@ -272,18 +292,18 @@ var isCallable$i = typeof documentAll == 'undefined' && documentAll !== undefine
272
292
 
273
293
  var isCallable$h = isCallable$i;
274
294
 
275
- var isObject$a = function (it) {
295
+ var isObject$b = function (it) {
276
296
  return typeof it == 'object' ? it !== null : isCallable$h(it);
277
297
  };
278
298
 
279
- var isObject$9 = isObject$a;
299
+ var isObject$a = isObject$b;
280
300
 
281
301
  var $String$4 = String;
282
302
  var $TypeError$b = TypeError;
283
303
 
284
304
  // `Assert: Type(argument) is Object`
285
- var anObject$b = function (argument) {
286
- if (isObject$9(argument)) return argument;
305
+ var anObject$a = function (argument) {
306
+ if (isObject$a(argument)) return argument;
287
307
  throw new $TypeError$b($String$4(argument) + ' is not an object');
288
308
  };
289
309
 
@@ -312,12 +332,12 @@ var v8PrototypeDefineBug = DESCRIPTORS$b && fails$i(function () {
312
332
 
313
333
  var objectDefineProperty = {};
314
334
 
315
- var global$b = global$h;
316
- var isObject$8 = isObject$a;
335
+ var global$b = global$g;
336
+ var isObject$9 = isObject$b;
317
337
 
318
338
  var document$1 = global$b.document;
319
339
  // typeof document.createElement is 'object' in old IE
320
- var EXISTS$1 = isObject$8(document$1) && isObject$8(document$1.createElement);
340
+ var EXISTS$1 = isObject$9(document$1) && isObject$9(document$1.createElement);
321
341
 
322
342
  var documentCreateElement$2 = function (it) {
323
343
  return EXISTS$1 ? document$1.createElement(it) : {};
@@ -343,7 +363,7 @@ var functionCall = NATIVE_BIND$1 ? call$d.bind(call$d) : function () {
343
363
  return call$d.apply(call$d, arguments);
344
364
  };
345
365
 
346
- var global$a = global$h;
366
+ var global$a = global$g;
347
367
  var isCallable$g = isCallable$i;
348
368
 
349
369
  var aFunction = function (argument) {
@@ -405,7 +425,7 @@ var getMethod$3 = function (V, P) {
405
425
 
406
426
  var call$c = functionCall;
407
427
  var isCallable$d = isCallable$i;
408
- var isObject$7 = isObject$a;
428
+ var isObject$8 = isObject$b;
409
429
 
410
430
  var $TypeError$9 = TypeError;
411
431
 
@@ -413,14 +433,14 @@ var $TypeError$9 = TypeError;
413
433
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
414
434
  var ordinaryToPrimitive$1 = function (input, pref) {
415
435
  var fn, val;
416
- if (pref === 'string' && isCallable$d(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
417
- if (isCallable$d(fn = input.valueOf) && !isObject$7(val = call$c(fn, input))) return val;
418
- if (pref !== 'string' && isCallable$d(fn = input.toString) && !isObject$7(val = call$c(fn, input))) return val;
436
+ if (pref === 'string' && isCallable$d(fn = input.toString) && !isObject$8(val = call$c(fn, input))) return val;
437
+ if (isCallable$d(fn = input.valueOf) && !isObject$8(val = call$c(fn, input))) return val;
438
+ if (pref !== 'string' && isCallable$d(fn = input.toString) && !isObject$8(val = call$c(fn, input))) return val;
419
439
  throw new $TypeError$9("Can't convert object to primitive value");
420
440
  };
421
441
 
422
442
  var call$b = functionCall;
423
- var isObject$6 = isObject$a;
443
+ var isObject$7 = isObject$b;
424
444
  var isSymbol$1 = isSymbol$2;
425
445
  var getMethod$2 = getMethod$3;
426
446
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
@@ -432,13 +452,13 @@ var TO_PRIMITIVE = wellKnownSymbol$b('toPrimitive');
432
452
  // `ToPrimitive` abstract operation
433
453
  // https://tc39.es/ecma262/#sec-toprimitive
434
454
  var toPrimitive$1 = function (input, pref) {
435
- if (!isObject$6(input) || isSymbol$1(input)) return input;
455
+ if (!isObject$7(input) || isSymbol$1(input)) return input;
436
456
  var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
437
457
  var result;
438
458
  if (exoticToPrim) {
439
459
  if (pref === undefined) pref = 'default';
440
460
  result = call$b(exoticToPrim, input, pref);
441
- if (!isObject$6(result) || isSymbol$1(result)) return result;
461
+ if (!isObject$7(result) || isSymbol$1(result)) return result;
442
462
  throw new $TypeError$8("Can't convert object to primitive value");
443
463
  }
444
464
  if (pref === undefined) pref = 'number';
@@ -458,7 +478,7 @@ var toPropertyKey$2 = function (argument) {
458
478
  var DESCRIPTORS$9 = descriptors;
459
479
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
460
480
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
461
- var anObject$a = anObject$b;
481
+ var anObject$9 = anObject$a;
462
482
  var toPropertyKey$1 = toPropertyKey$2;
463
483
 
464
484
  var $TypeError$7 = TypeError;
@@ -473,9 +493,9 @@ var WRITABLE = 'writable';
473
493
  // `Object.defineProperty` method
474
494
  // https://tc39.es/ecma262/#sec-object.defineproperty
475
495
  objectDefineProperty.f = DESCRIPTORS$9 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
476
- anObject$a(O);
496
+ anObject$9(O);
477
497
  P = toPropertyKey$1(P);
478
- anObject$a(Attributes);
498
+ anObject$9(Attributes);
479
499
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
480
500
  var current = $getOwnPropertyDescriptor$1(O, P);
481
501
  if (current && current[WRITABLE]) {
@@ -488,9 +508,9 @@ objectDefineProperty.f = DESCRIPTORS$9 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
488
508
  }
489
509
  } return $defineProperty(O, P, Attributes);
490
510
  } : $defineProperty : function defineProperty(O, P, Attributes) {
491
- anObject$a(O);
511
+ anObject$9(O);
492
512
  P = toPropertyKey$1(P);
493
- anObject$a(Attributes);
513
+ anObject$9(Attributes);
494
514
  if (IE8_DOM_DEFINE$1) try {
495
515
  return $defineProperty(O, P, Attributes);
496
516
  } catch (error) { /* empty */ }
@@ -561,6 +581,7 @@ var createMethod$3 = function (IS_INCLUDES) {
561
581
  return function ($this, el, fromIndex) {
562
582
  var O = toIndexedObject$4($this);
563
583
  var length = lengthOfArrayLike$3(O);
584
+ if (length === 0) return !IS_INCLUDES && -1;
564
585
  var index = toAbsoluteIndex(fromIndex, length);
565
586
  var value;
566
587
  // Array#includes uses SameValueZero equality algorithm
@@ -632,7 +653,7 @@ var objectKeys$2 = Object.keys || function keys(O) {
632
653
  var DESCRIPTORS$8 = descriptors;
633
654
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
634
655
  var definePropertyModule$3 = objectDefineProperty;
635
- var anObject$9 = anObject$b;
656
+ var anObject$8 = anObject$a;
636
657
  var toIndexedObject$2 = toIndexedObject$5;
637
658
  var objectKeys$1 = objectKeys$2;
638
659
 
@@ -640,7 +661,7 @@ var objectKeys$1 = objectKeys$2;
640
661
  // https://tc39.es/ecma262/#sec-object.defineproperties
641
662
  // eslint-disable-next-line es/no-object-defineproperties -- safe
642
663
  objectDefineProperties.f = DESCRIPTORS$8 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
643
- anObject$9(O);
664
+ anObject$8(O);
644
665
  var props = toIndexedObject$2(Properties);
645
666
  var keys = objectKeys$1(Properties);
646
667
  var length = keys.length;
@@ -654,7 +675,7 @@ var getBuiltIn$2 = getBuiltIn$4;
654
675
 
655
676
  var html$1 = getBuiltIn$2('document', 'documentElement');
656
677
 
657
- var shared$2 = shared$4.exports;
678
+ var shared$2 = shared$4;
658
679
  var uid = uid$2;
659
680
 
660
681
  var keys = shared$2('keys');
@@ -664,7 +685,7 @@ var sharedKey$3 = function (key) {
664
685
  };
665
686
 
666
687
  /* global ActiveXObject -- old IE, WSH */
667
- var anObject$8 = anObject$b;
688
+ var anObject$7 = anObject$a;
668
689
  var definePropertiesModule = objectDefineProperties;
669
690
  var enumBugKeys$1 = enumBugKeys$3;
670
691
  var hiddenKeys$2 = hiddenKeys$4;
@@ -738,7 +759,7 @@ hiddenKeys$2[IE_PROTO$1] = true;
738
759
  var objectCreate = Object.create || function create(O, Properties) {
739
760
  var result;
740
761
  if (O !== null) {
741
- EmptyConstructor[PROTOTYPE] = anObject$8(O);
762
+ EmptyConstructor[PROTOTYPE] = anObject$7(O);
742
763
  result = new EmptyConstructor();
743
764
  EmptyConstructor[PROTOTYPE] = null;
744
765
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -770,7 +791,7 @@ var addToUnscopables$2 = function (key) {
770
791
 
771
792
  var iterators = {};
772
793
 
773
- var global$9 = global$h;
794
+ var global$9 = global$g;
774
795
  var isCallable$c = isCallable$i;
775
796
 
776
797
  var WeakMap$1 = global$9.WeakMap;
@@ -798,11 +819,11 @@ var createNonEnumerableProperty$8 = DESCRIPTORS$7 ? function (object, key, value
798
819
  };
799
820
 
800
821
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
801
- var global$8 = global$h;
802
- var isObject$5 = isObject$a;
822
+ var global$8 = global$g;
823
+ var isObject$6 = isObject$b;
803
824
  var createNonEnumerableProperty$7 = createNonEnumerableProperty$8;
804
825
  var hasOwn$8 = hasOwnProperty_1;
805
- var shared$1 = sharedStore;
826
+ var shared$1 = sharedStore.exports;
806
827
  var sharedKey$1 = sharedKey$3;
807
828
  var hiddenKeys$1 = hiddenKeys$4;
808
829
 
@@ -818,7 +839,7 @@ var enforce = function (it) {
818
839
  var getterFor = function (TYPE) {
819
840
  return function (it) {
820
841
  var state;
821
- if (!isObject$5(it) || (state = get(it)).type !== TYPE) {
842
+ if (!isObject$6(it) || (state = get(it)).type !== TYPE) {
822
843
  throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required');
823
844
  } return state;
824
845
  };
@@ -931,7 +952,7 @@ var functionName = {
931
952
 
932
953
  var uncurryThis$e = functionUncurryThis;
933
954
  var isCallable$b = isCallable$i;
934
- var store = sharedStore;
955
+ var store = sharedStore.exports;
935
956
 
936
957
  var functionToString = uncurryThis$e(Function.toString);
937
958
 
@@ -1050,13 +1071,13 @@ var getBuiltIn$1 = getBuiltIn$4;
1050
1071
  var uncurryThis$c = functionUncurryThis;
1051
1072
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1052
1073
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1053
- var anObject$7 = anObject$b;
1074
+ var anObject$6 = anObject$a;
1054
1075
 
1055
1076
  var concat$2 = uncurryThis$c([].concat);
1056
1077
 
1057
1078
  // all object keys, includes non-enumerable and symbols
1058
1079
  var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) {
1059
- var keys = getOwnPropertyNamesModule.f(anObject$7(it));
1080
+ var keys = getOwnPropertyNamesModule.f(anObject$6(it));
1060
1081
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1061
1082
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
1062
1083
  };
@@ -1101,7 +1122,7 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
1101
1122
 
1102
1123
  var isForced_1 = isForced$1;
1103
1124
 
1104
- var global$7 = global$h;
1125
+ var global$7 = global$g;
1105
1126
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1106
1127
  var createNonEnumerableProperty$6 = createNonEnumerableProperty$8;
1107
1128
  var defineBuiltIn$4 = defineBuiltIn$5;
@@ -1189,7 +1210,7 @@ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf :
1189
1210
 
1190
1211
  var fails$d = fails$n;
1191
1212
  var isCallable$6 = isCallable$i;
1192
- var isObject$4 = isObject$a;
1213
+ var isObject$5 = isObject$b;
1193
1214
  var getPrototypeOf$1 = objectGetPrototypeOf;
1194
1215
  var defineBuiltIn$3 = defineBuiltIn$5;
1195
1216
  var wellKnownSymbol$9 = wellKnownSymbol$c;
@@ -1212,7 +1233,7 @@ if ([].keys) {
1212
1233
  }
1213
1234
  }
1214
1235
 
1215
- var NEW_ITERATOR_PROTOTYPE = !isObject$4(IteratorPrototype$2) || fails$d(function () {
1236
+ var NEW_ITERATOR_PROTOTYPE = !isObject$5(IteratorPrototype$2) || fails$d(function () {
1216
1237
  var test = {};
1217
1238
  // FF44- legacy iterators case
1218
1239
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -1272,10 +1293,10 @@ var functionUncurryThisAccessor = function (object, key, method) {
1272
1293
  } catch (error) { /* empty */ }
1273
1294
  };
1274
1295
 
1275
- var isObject$3 = isObject$a;
1296
+ var isObject$4 = isObject$b;
1276
1297
 
1277
1298
  var isPossiblePrototype$1 = function (argument) {
1278
- return isObject$3(argument) || argument === null;
1299
+ return isObject$4(argument) || argument === null;
1279
1300
  };
1280
1301
 
1281
1302
  var isPossiblePrototype = isPossiblePrototype$1;
@@ -1290,7 +1311,8 @@ var aPossiblePrototype$1 = function (argument) {
1290
1311
 
1291
1312
  /* eslint-disable no-proto -- safe */
1292
1313
  var uncurryThisAccessor = functionUncurryThisAccessor;
1293
- var anObject$6 = anObject$b;
1314
+ var isObject$3 = isObject$b;
1315
+ var requireObjectCoercible$5 = requireObjectCoercible$8;
1294
1316
  var aPossiblePrototype = aPossiblePrototype$1;
1295
1317
 
1296
1318
  // `Object.setPrototypeOf` method
@@ -1307,8 +1329,9 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1307
1329
  CORRECT_SETTER = test instanceof Array;
1308
1330
  } catch (error) { /* empty */ }
1309
1331
  return function setPrototypeOf(O, proto) {
1310
- anObject$6(O);
1332
+ requireObjectCoercible$5(O);
1311
1333
  aPossiblePrototype(proto);
1334
+ if (!isObject$3(O)) return O;
1312
1335
  if (CORRECT_SETTER) setter(O, proto);
1313
1336
  else O.__proto__ = proto;
1314
1337
  return O;
@@ -1593,7 +1616,7 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
1593
1616
 
1594
1617
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
1595
1618
 
1596
- var global$6 = global$h;
1619
+ var global$6 = global$g;
1597
1620
  var DOMIterables = domIterables;
1598
1621
  var DOMTokenListPrototype = domTokenListPrototype;
1599
1622
  var ArrayIteratorMethods = es_array_iterator;
@@ -1892,7 +1915,7 @@ const layerManagerStyle = {
1892
1915
  }
1893
1916
  },
1894
1917
  '.header-layermanager': {
1895
- '.header-left, .header-title': {
1918
+ '.header-left': {
1896
1919
  display: 'none'
1897
1920
  },
1898
1921
  '&>div': {
@@ -1982,6 +2005,43 @@ const returnCorrectSize = sizeResult => {
1982
2005
  return sizeSmall;
1983
2006
  };
1984
2007
 
2008
+ /* *
2009
+ * Licensed under the Apache License, Version 2.0 (the "License");
2010
+ * you may not use this file except in compliance with the License.
2011
+ * You may obtain a copy of the License at
2012
+ *
2013
+ * http://www.apache.org/licenses/LICENSE-2.0
2014
+ *
2015
+ * Unless required by applicable law or agreed to in writing, software
2016
+ * distributed under the License is distributed on an "AS IS" BASIS,
2017
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2018
+ * See the License for the specific language governing permissions and
2019
+ * limitations under the License.
2020
+ *
2021
+ * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2022
+ * Copyright 2024 - Finnish Meteorological Institute (FMI)
2023
+ * */
2024
+ const style = {
2025
+ width: 'auto !important',
2026
+ height: 'auto !important',
2027
+ padding: 0
2028
+ };
2029
+ const LayerSelectButton = ({
2030
+ tooltipTitle: _tooltipTitle = 'Open the layer selector',
2031
+ icon: _icon = /*#__PURE__*/React.createElement(LayersAdd, {
2032
+ "data-testid": "layerSelectButtonConnectIcon"
2033
+ }),
2034
+ onClick: _onClick = () => {}
2035
+ }) => {
2036
+ return /*#__PURE__*/React.createElement(CustomIconButton, {
2037
+ onClick: _onClick,
2038
+ sx: style,
2039
+ id: "layerSelectButton",
2040
+ "data-testid": "layerSelectButton",
2041
+ tooltipTitle: _tooltipTitle
2042
+ }, _icon);
2043
+ };
2044
+
1985
2045
  const styles$3 = {
1986
2046
  text: theme => Object.assign({
1987
2047
  paddingLeft: '10px',
@@ -1993,13 +2053,11 @@ const styles$3 = {
1993
2053
  const DescriptionRow = _a => {
1994
2054
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
1995
2055
  var {
1996
- mapId,
1997
2056
  mapPresetsModule,
1998
- source = 'app',
1999
2057
  settings,
2000
- isMultiMap
2058
+ addLayerComponent
2001
2059
  } = _a,
2002
- gridProps = __rest(_a, ["mapId", "mapPresetsModule", "source", "settings", "isMultiMap"]);
2060
+ gridProps = __rest(_a, ["mapPresetsModule", "settings", "addLayerComponent"]);
2003
2061
  const [mapPresetsModuleInline] = React.useState(mapPresetsModule ? Object.assign(Object.assign({}, mapPresetsModule), {
2004
2062
  props: Object.assign(Object.assign({}, mapPresetsModule.props), {
2005
2063
  id: 'mappresets-menubuttonInline'
@@ -2022,13 +2080,10 @@ const DescriptionRow = _a => {
2022
2080
  justifyContent: 'center',
2023
2081
  paddingRight: '6px'
2024
2082
  })
2025
- }, /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
2026
- mapId: mapId,
2027
- source: source,
2083
+ }, addLayerComponent || ( /*#__PURE__*/React.createElement(LayerSelectButton, {
2028
2084
  tooltipTitle: (_b = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _b === void 0 ? void 0 : _b.tooltipTitle,
2029
- icon: (_c = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _c === void 0 ? void 0 : _c.icon,
2030
- isMultiMap: isMultiMap
2031
- })), /*#__PURE__*/React.createElement(Grid, {
2085
+ icon: (_c = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _c === void 0 ? void 0 : _c.icon
2086
+ }))), /*#__PURE__*/React.createElement(Grid, {
2032
2087
  className: columnClasses.column2
2033
2088
  }, /*#__PURE__*/React.createElement(Box, {
2034
2089
  className: `header-layer ${hasMapPresetsModule ? 'mappresetsModule-enabled' : ''}`,
@@ -2090,7 +2145,7 @@ $$9({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
2090
2145
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2091
2146
  addToUnscopables('includes');
2092
2147
 
2093
- var isObject$2 = isObject$a;
2148
+ var isObject$2 = isObject$b;
2094
2149
  var classof$5 = classofRaw$1;
2095
2150
  var wellKnownSymbol$5 = wellKnownSymbol$c;
2096
2151
 
@@ -2180,7 +2235,7 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
2180
2235
  var $$8 = _export;
2181
2236
  var uncurryThis$9 = functionUncurryThis;
2182
2237
  var notARegExp = notARegexp;
2183
- var requireObjectCoercible$4 = requireObjectCoercible$7;
2238
+ var requireObjectCoercible$4 = requireObjectCoercible$8;
2184
2239
  var toString$8 = toString$9;
2185
2240
  var correctIsRegExpLogic = correctIsRegexpLogic;
2186
2241
 
@@ -2235,7 +2290,8 @@ const DimensionSelectValue = ({
2235
2290
  valueMappings,
2236
2291
  hideLatestDuplicate,
2237
2292
  setUseLatestReferenceTime,
2238
- useLatestReferenceTime
2293
+ useLatestReferenceTime,
2294
+ skipLocalStyling
2239
2295
  }) => {
2240
2296
  var _a;
2241
2297
  const dimensionValuesRaw = (_a = selectedDimension === null || selectedDimension === void 0 ? void 0 : selectedDimension.values) === null || _a === void 0 ? void 0 : _a.split(',').slice(0, 100).reverse();
@@ -2281,7 +2337,8 @@ const DimensionSelectValue = ({
2281
2337
  style: {
2282
2338
  maxWidth: '50%'
2283
2339
  },
2284
- IconComponent: icon
2340
+ IconComponent: icon,
2341
+ skipLocalStyling: skipLocalStyling
2285
2342
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
2286
2343
  disabled: true
2287
2344
  }, "Dimension value (", dimensionValues.length, " options)"), dimensionValues.map(dimensionValue => {
@@ -2320,7 +2377,8 @@ const DimensionSelectName = ({
2320
2377
  nameMappings,
2321
2378
  tooltip,
2322
2379
  isEnabled,
2323
- dimensionNames
2380
+ dimensionNames,
2381
+ skipLocalStyling
2324
2382
  }) => {
2325
2383
  return /*#__PURE__*/React__default.createElement(TooltipSelect, {
2326
2384
  disableUnderline: true,
@@ -2344,7 +2402,8 @@ const DimensionSelectName = ({
2344
2402
  style: {
2345
2403
  maxWidth: '50%'
2346
2404
  },
2347
- IconComponent: icon
2405
+ IconComponent: icon,
2406
+ skipLocalStyling: skipLocalStyling
2348
2407
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
2349
2408
  disabled: true
2350
2409
  }, "Dimension"), dimensionNames.map(name => ( /*#__PURE__*/React__default.createElement(MenuItem, {
@@ -2366,7 +2425,8 @@ const DimensionSelect = ({
2366
2425
  setUseLatestReferenceTime,
2367
2426
  useLatestReferenceTime,
2368
2427
  SingleValueComponent,
2369
- hideLatestDuplicate
2428
+ hideLatestDuplicate,
2429
+ skipLocalStyling
2370
2430
  }) => {
2371
2431
  var _a, _b, _c, _d, _e, _f;
2372
2432
  const [selectedDimensionName, setSelectedDimensionName] = useState((_a = _layerDimensions === null || _layerDimensions === void 0 ? void 0 : _layerDimensions[0]) === null || _a === void 0 ? void 0 : _a.name);
@@ -2407,7 +2467,8 @@ const DimensionSelect = ({
2407
2467
  tooltip: nameTooltip,
2408
2468
  isEnabled: _isEnabled,
2409
2469
  icon: icon,
2410
- nameMappings: nameMappings
2470
+ nameMappings: nameMappings,
2471
+ skipLocalStyling: skipLocalStyling
2411
2472
  })), collapseValueDropdown ? ( /*#__PURE__*/React.createElement(SingleValueComponent, Object.assign({}, _layerDimensions[0], {
2412
2473
  nameMappings: nameMappings,
2413
2474
  valueMappings: valueMappings,
@@ -2421,7 +2482,8 @@ const DimensionSelect = ({
2421
2482
  icon: icon,
2422
2483
  valueMappings: valueMappings,
2423
2484
  setUseLatestReferenceTime: setUseLatestReferenceTime,
2424
- useLatestReferenceTime: useLatestReferenceTime
2485
+ useLatestReferenceTime: useLatestReferenceTime,
2486
+ skipLocalStyling: skipLocalStyling
2425
2487
  }))));
2426
2488
  };
2427
2489
 
@@ -2450,7 +2512,8 @@ const RenderLayers = ({
2450
2512
  layerName,
2451
2513
  layers: _layers = [],
2452
2514
  isEnabled: _isEnabled = true,
2453
- tooltipPrefix: _tooltipPrefix = 'Layer: '
2515
+ tooltipPrefix: _tooltipPrefix = 'Layer: ',
2516
+ skipLocalStyling
2454
2517
  }) => {
2455
2518
  var _a;
2456
2519
  if (!_layers || !_layers.length) {
@@ -2497,6 +2560,7 @@ const RenderLayers = ({
2497
2560
  onChange: selectLayer,
2498
2561
  onChangeMouseWheel: e => onChangeLayerName(e.value),
2499
2562
  requiresCtrlToChange: true,
2563
+ skipLocalStyling: skipLocalStyling,
2500
2564
  renderValue: value => extendedLayers.find(layer => layer.name === value).title
2501
2565
  }, /*#__PURE__*/React.createElement(MenuItem, {
2502
2566
  disabled: true
@@ -2785,7 +2849,8 @@ const RenderStyles = ({
2785
2849
  onChangeLayerStyle,
2786
2850
  isEnabled: _isEnabled = true,
2787
2851
  icon,
2788
- tooltipPrefix: _tooltipPrefix = 'Style: '
2852
+ tooltipPrefix: _tooltipPrefix = 'Style: ',
2853
+ skipLocalStyling
2789
2854
  }) => {
2790
2855
  var _a;
2791
2856
  const styles = [{
@@ -2822,7 +2887,8 @@ const RenderStyles = ({
2822
2887
  onChange: selectStyle,
2823
2888
  onChangeMouseWheel: e => onChangeLayerStyle(e.value),
2824
2889
  requiresCtrlToChange: true,
2825
- IconComponent: icon
2890
+ IconComponent: icon,
2891
+ skipLocalStyling: skipLocalStyling
2826
2892
  }, /*#__PURE__*/React.createElement(MenuItem, {
2827
2893
  disabled: true
2828
2894
  }, "Style"), styles.map(styleFromlayer => ( /*#__PURE__*/React.createElement(MenuItem, {
@@ -2951,7 +3017,7 @@ function getIcon(isActive, isEnabled, current) {
2951
3017
  });
2952
3018
  }
2953
3019
 
2954
- var anObject$5 = anObject$b;
3020
+ var anObject$5 = anObject$a;
2955
3021
 
2956
3022
  // `RegExp.prototype.flags` getter implementation
2957
3023
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
@@ -2984,7 +3050,7 @@ var regexpGetFlags = function (R) {
2984
3050
 
2985
3051
  var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
2986
3052
  var defineBuiltIn$1 = defineBuiltIn$5;
2987
- var anObject$4 = anObject$b;
3053
+ var anObject$4 = anObject$a;
2988
3054
  var $toString = toString$9;
2989
3055
  var fails$9 = fails$n;
2990
3056
  var getRegExpFlags = regexpGetFlags;
@@ -3044,7 +3110,8 @@ const AcceptanceTime = ({
3044
3110
  isEnabled: _isEnabled = true,
3045
3111
  acceptanceTimeInMinutes,
3046
3112
  icon,
3047
- tooltipTitle
3113
+ tooltipTitle,
3114
+ skipLocalStyling
3048
3115
  }) => {
3049
3116
  const onChange = acceptanceTimeRaw => {
3050
3117
  const acceptanceTime = acceptanceTimeRaw === 'off' ? undefined : Number(acceptanceTimeRaw);
@@ -3065,7 +3132,8 @@ const AcceptanceTime = ({
3065
3132
  list: acceptanceTimesValues,
3066
3133
  currentIndex: acceptanceTimes.findIndex(time => layerAcceptanceTime === time.value),
3067
3134
  IconComponent: icon,
3068
- "data-testid": "acceptanceTimeButton"
3135
+ "data-testid": "acceptanceTimeButton",
3136
+ skipLocalStyling: skipLocalStyling
3069
3137
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
3070
3138
  disabled: true
3071
3139
  }, "Acc Time"), acceptanceTimes.map(accTime => ( /*#__PURE__*/React__default.createElement(MenuItem, {
@@ -3242,22 +3310,6 @@ const useLoadDurationLabel = (mapId, layerId) => {
3242
3310
  return React.useSyncExternalStore(subscribe, getSnapshot);
3243
3311
  };
3244
3312
 
3245
- /* *
3246
- * Licensed under the Apache License, Version 2.0 (the "License");
3247
- * you may not use this file except in compliance with the License.
3248
- * You may obtain a copy of the License at
3249
- *
3250
- * http://www.apache.org/licenses/LICENSE-2.0
3251
- *
3252
- * Unless required by applicable law or agreed to in writing, software
3253
- * distributed under the License is distributed on an "AS IS" BASIS,
3254
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3255
- * See the License for the specific language governing permissions and
3256
- * limitations under the License.
3257
- *
3258
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3259
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
3260
- * */
3261
3313
  const LeftButtons = ({
3262
3314
  size,
3263
3315
  dragHandle,
@@ -3319,7 +3371,7 @@ const Acceptance = ({
3319
3371
  acceptanceTimeInMinutes: acceptanceTime,
3320
3372
  onChangeAcceptanceTime: onChangeAcceptanceTime
3321
3373
  }));
3322
- const LayerRow = ({
3374
+ const LayerRowUnstyled = ({
3323
3375
  layerId,
3324
3376
  layer,
3325
3377
  layerName,
@@ -3350,7 +3402,8 @@ const LayerRow = ({
3350
3402
  dragHandle,
3351
3403
  layerAcceptanceTimeLayout,
3352
3404
  layerMissingDataLayout,
3353
- layerLoadDurationLayout
3405
+ layerLoadDurationLayout,
3406
+ className
3354
3407
  }) => {
3355
3408
  const onClickRow = () => _onLayerRowClick(layerId);
3356
3409
  const changeEnable = event => {
@@ -3382,31 +3435,60 @@ const LayerRow = ({
3382
3435
  mapId,
3383
3436
  layerId: layerId
3384
3437
  });
3385
- renderCounter.count(LayerRow.name);
3386
- return /*#__PURE__*/React__default.createElement(Grid, {
3387
- item: true,
3388
- container: true,
3389
- "data-testid": `layerRow-${layerId}`,
3390
- className: "layerRow",
3391
- sx: {
3392
- backgroundColor: _isEnabled ? 'geowebColors.layerManager.tableRowDefaultCardContainer.fill' : 'geowebColors.layerManager.tableRowDisabledCardContainer.fill',
3393
- border: 1,
3394
- borderColor: _isEnabled ? 'geowebColors.layerManager.tableRowDefaultCardContainer.borderColor' : 'geowebColors.layerManager.tableRowDisabledCardContainer.borderColor',
3395
- borderRadius: 1,
3396
- marginBottom: 0.5,
3397
- minHeight: '34px',
3398
- '&.sortable-chosen': {
3399
- boxShadow: 1
3400
- },
3401
- '&.sortable-ghost': {
3402
- opacity: 0.5
3403
- }
3404
- },
3405
- alignItems: "center",
3406
- role: "listitem"
3407
- }, /*#__PURE__*/React__default.createElement(Accordion, {
3408
- LeftButtons: /*#__PURE__*/React__default.createElement(LeftButtons, {
3409
- size: "-medium",
3438
+ renderCounter.count(LayerRowUnstyled.name);
3439
+ return (
3440
+ /*#__PURE__*/
3441
+ // className needed for styled() utility
3442
+ React__default.createElement("div", {
3443
+ className: className
3444
+ }, /*#__PURE__*/React__default.createElement(Grid, {
3445
+ item: true,
3446
+ container: true,
3447
+ "data-testid": `layerRow-${layerId}`,
3448
+ className: "layerRow",
3449
+ alignItems: "center",
3450
+ role: "listitem"
3451
+ }, /*#__PURE__*/React__default.createElement(Accordion, {
3452
+ LeftButtons: /*#__PURE__*/React__default.createElement(LeftButtons, {
3453
+ size: "-medium",
3454
+ dragHandle: dragHandle,
3455
+ layer: layer,
3456
+ layerMissingDataLayout: layerMissingDataLayout,
3457
+ layerEnableLayout: layerEnableLayout,
3458
+ isEnabled: _isEnabled,
3459
+ disableActivateLayer: disableActivateLayer,
3460
+ layerActiveLayout: layerActiveLayout,
3461
+ onChangeEnable: changeEnable,
3462
+ onChangeActive: onClickRow
3463
+ }),
3464
+ layerName: layerName,
3465
+ Styles: layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3466
+ style: layer.style,
3467
+ onChangeStyle: changeStyle
3468
+ })),
3469
+ Opacity: layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3470
+ opacity: layer.opacity,
3471
+ onChangeOpacity: changeOpacity
3472
+ })),
3473
+ Acceptance: layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3474
+ acceptanceTime: layer.acceptanceTimeInMinutes,
3475
+ onChangeAcceptanceTime: changeAcceptanceTime
3476
+ })),
3477
+ LoadDuration: layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3478
+ layerId: layerId,
3479
+ mapId: mapId
3480
+ })),
3481
+ ShowLayerInfo: layerShowLayerInfoLayout || ( /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3482
+ onClick: () => {}
3483
+ })),
3484
+ DeleteLayer: layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3485
+ onClick: deleteLayer
3486
+ })
3487
+ }), /*#__PURE__*/React__default.createElement(Grid, {
3488
+ item: true,
3489
+ className: columnClasses.column1,
3490
+ alignItems: "center"
3491
+ }, /*#__PURE__*/React__default.createElement(LeftButtons, {
3410
3492
  dragHandle: dragHandle,
3411
3493
  layer: layer,
3412
3494
  layerMissingDataLayout: layerMissingDataLayout,
@@ -3416,118 +3498,97 @@ const LayerRow = ({
3416
3498
  layerActiveLayout: layerActiveLayout,
3417
3499
  onChangeEnable: changeEnable,
3418
3500
  onChangeActive: onClickRow
3419
- }),
3420
- layerName: layerName,
3421
- Styles: layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3501
+ })), /*#__PURE__*/React__default.createElement(Grid, {
3502
+ item: true,
3503
+ className: columnClasses.column2
3504
+ }, layerServicesLayout || ( /*#__PURE__*/React__default.createElement(RenderLayers, {
3505
+ layerName: layer.name,
3506
+ layers: services && layer.service && services[layer.service] && services[layer.service].layers || [],
3507
+ onChangeLayerName: name => {
3508
+ onLayerChangeName({
3509
+ layerId: layer.id,
3510
+ name
3511
+ });
3512
+ }
3513
+ }))), _isLayerMissing ? ( /*#__PURE__*/React__default.createElement(Grid, {
3514
+ item: true,
3515
+ className: columnClasses.column7
3516
+ }, /*#__PURE__*/React__default.createElement(AlertBanner, {
3517
+ title: "This layer could not be loaded: does not exist on the server.",
3518
+ isCompact: true
3519
+ }))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
3520
+ item: true,
3521
+ className: columnClasses.column3
3522
+ }, layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3422
3523
  style: layer.style,
3423
3524
  onChangeStyle: changeStyle
3424
- })),
3425
- Opacity: layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3525
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3526
+ item: true,
3527
+ className: columnClasses.column4
3528
+ }, layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3426
3529
  opacity: layer.opacity,
3427
3530
  onChangeOpacity: changeOpacity
3428
- })),
3429
- Acceptance: layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3531
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3532
+ item: true,
3533
+ className: columnClasses.column5
3534
+ }, layerDimensionLayout || ( /*#__PURE__*/React__default.createElement(DimensionSelect, {
3535
+ layerDimensions: layerUtils.filterNonTimeDimensions(layer.dimensions),
3536
+ onLayerChangeDimension: (dimensionName, dimensionValue) => {
3537
+ const dimension = {
3538
+ name: dimensionName,
3539
+ currentValue: dimensionValue
3540
+ };
3541
+ onLayerChangeDimension({
3542
+ origin: 'layerrow',
3543
+ layerId: layerId,
3544
+ dimension
3545
+ });
3546
+ }
3547
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3548
+ item: true,
3549
+ className: columnClasses.acceptanceTime
3550
+ }, layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3430
3551
  acceptanceTime: layer.acceptanceTimeInMinutes,
3431
3552
  onChangeAcceptanceTime: changeAcceptanceTime
3432
- })),
3433
- LoadDuration: layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3553
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3554
+ item: true,
3555
+ display: "flex",
3556
+ justifyContent: "flex-end",
3557
+ className: columnClasses.loadDuration
3558
+ }, layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3434
3559
  layerId: layerId,
3435
3560
  mapId: mapId
3436
- })),
3437
- ShowLayerInfo: layerShowLayerInfoLayout || /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3561
+ }))))), /*#__PURE__*/React__default.createElement(Grid, {
3562
+ item: true,
3563
+ className: columnClasses.column6,
3564
+ alignItems: "center"
3565
+ }, layerShowLayerInfoLayout || ( /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3438
3566
  onClick: () => {}
3439
- }),
3440
- DeleteLayer: layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3567
+ })), layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3441
3568
  onClick: deleteLayer
3442
- })
3443
- }), /*#__PURE__*/React__default.createElement(Grid, {
3444
- item: true,
3445
- className: columnClasses.column1,
3446
- alignItems: "center"
3447
- }, /*#__PURE__*/React__default.createElement(LeftButtons, {
3448
- dragHandle: dragHandle,
3449
- layer: layer,
3450
- layerMissingDataLayout: layerMissingDataLayout,
3451
- layerEnableLayout: layerEnableLayout,
3452
- isEnabled: _isEnabled,
3453
- disableActivateLayer: disableActivateLayer,
3454
- layerActiveLayout: layerActiveLayout,
3455
- onChangeEnable: changeEnable,
3456
- onChangeActive: onClickRow
3457
- })), /*#__PURE__*/React__default.createElement(Grid, {
3458
- item: true,
3459
- className: columnClasses.column2
3460
- }, layerServicesLayout || ( /*#__PURE__*/React__default.createElement(RenderLayers, {
3461
- layerName: layer.name,
3462
- layers: services && layer.service && services[layer.service] && services[layer.service].layers || [],
3463
- onChangeLayerName: name => {
3464
- onLayerChangeName({
3465
- layerId: layer.id,
3466
- name
3467
- });
3468
- }
3469
- }))), _isLayerMissing ? ( /*#__PURE__*/React__default.createElement(Grid, {
3470
- item: true,
3471
- className: columnClasses.column7
3472
- }, /*#__PURE__*/React__default.createElement(AlertBanner, {
3473
- title: "This layer could not be loaded: does not exist on the server.",
3474
- isCompact: true
3475
- }))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
3476
- item: true,
3477
- className: columnClasses.column3
3478
- }, layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3479
- style: layer.style,
3480
- onChangeStyle: changeStyle
3481
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3482
- item: true,
3483
- className: columnClasses.column4
3484
- }, layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3485
- opacity: layer.opacity,
3486
- onChangeOpacity: changeOpacity
3487
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3488
- item: true,
3489
- className: columnClasses.column5
3490
- }, layerDimensionLayout || ( /*#__PURE__*/React__default.createElement(DimensionSelect, {
3491
- layerDimensions: layerUtils.filterNonTimeDimensions(layer.dimensions),
3492
- onLayerChangeDimension: (dimensionName, dimensionValue) => {
3493
- const dimension = {
3494
- name: dimensionName,
3495
- currentValue: dimensionValue
3496
- };
3497
- onLayerChangeDimension({
3498
- origin: 'layerrow',
3499
- layerId: layerId,
3500
- dimension
3501
- });
3502
- }
3503
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3504
- item: true,
3505
- className: columnClasses.acceptanceTime
3506
- }, layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3507
- acceptanceTime: layer.acceptanceTimeInMinutes,
3508
- onChangeAcceptanceTime: changeAcceptanceTime
3509
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3510
- item: true,
3511
- display: "flex",
3512
- justifyContent: "flex-end",
3513
- className: columnClasses.loadDuration
3514
- }, layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3515
- layerId: layerId,
3516
- mapId: mapId
3517
- }))))), /*#__PURE__*/React__default.createElement(Grid, {
3518
- item: true,
3519
- className: columnClasses.column6,
3520
- alignItems: "center"
3521
- }, layerShowLayerInfoLayout || /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3522
- onClick: () => {}
3523
- }), layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3524
- onClick: deleteLayer
3525
- }), layerMenuLayout || ( /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
3526
- mapId: mapId,
3527
- layerId: layerId,
3528
- onLayerDuplicate: onLayerDuplicate
3529
- }))));
3569
+ }), layerMenuLayout || ( /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
3570
+ mapId: mapId,
3571
+ layerId: layerId,
3572
+ onLayerDuplicate: onLayerDuplicate
3573
+ })))))
3574
+ );
3530
3575
  };
3576
+ const LayerRow = styled(LayerRowUnstyled)(({
3577
+ theme,
3578
+ isEnabled: _isEnabled2 = true
3579
+ }) => {
3580
+ return {
3581
+ '& .MuiInputBase-root': Object.assign({}, tooltipContainerStyles(theme, _isEnabled2)),
3582
+ '& .layerRow': {
3583
+ backgroundColor: _isEnabled2 ? theme.palette.geowebColors.layerManager.tableRowDefaultCardContainer.fill : theme.palette.geowebColors.layerManager.tableRowDisabledCardContainer.fill,
3584
+ border: '1px solid',
3585
+ borderColor: _isEnabled2 ? theme.palette.geowebColors.layerManager.tableRowDefaultCardContainer.borderColor : theme.palette.geowebColors.layerManager.tableRowDisabledCardContainer.borderColor,
3586
+ borderRadius: 1 * theme.shape.borderRadius,
3587
+ marginBottom: theme.spacing(0.5),
3588
+ minHeight: '34px'
3589
+ }
3590
+ };
3591
+ });
3531
3592
  const Accordion = ({
3532
3593
  Styles,
3533
3594
  Acceptance,
@@ -3827,7 +3888,8 @@ const useReferenceTimeWithLatestOption = layerId => {
3827
3888
  * */
3828
3889
  const DimensionSelectConnect = ({
3829
3890
  layerId,
3830
- mapId
3891
+ mapId,
3892
+ skipLocalStyling
3831
3893
  }) => {
3832
3894
  const {
3833
3895
  layerDimensions,
@@ -3855,7 +3917,8 @@ const DimensionSelectConnect = ({
3855
3917
  },
3856
3918
  isEnabled: isLayerEnabled,
3857
3919
  useLatestReferenceTime: useLatestReferenceTime,
3858
- setUseLatestReferenceTime: setUseLatestReferenceTime
3920
+ setUseLatestReferenceTime: setUseLatestReferenceTime,
3921
+ skipLocalStyling: skipLocalStyling
3859
3922
  });
3860
3923
  };
3861
3924
 
@@ -3879,7 +3942,8 @@ const RenderStylesConnect = ({
3879
3942
  layerId,
3880
3943
  mapId,
3881
3944
  icon,
3882
- tooltipPrefix
3945
+ tooltipPrefix,
3946
+ skipLocalStyling
3883
3947
  }) => {
3884
3948
  const dispatch = useDispatch();
3885
3949
  const layerService = useSelector(store => layerSelectors.getLayerService(store, layerId));
@@ -3901,7 +3965,8 @@ const RenderStylesConnect = ({
3901
3965
  onChangeLayerStyle: layerChangeStyle,
3902
3966
  isEnabled: isLayerEnabled,
3903
3967
  icon: icon,
3904
- tooltipPrefix: tooltipPrefix
3968
+ tooltipPrefix: tooltipPrefix,
3969
+ skipLocalStyling: skipLocalStyling
3905
3970
  });
3906
3971
  };
3907
3972
 
@@ -3924,7 +3989,8 @@ const RenderStylesConnect = ({
3924
3989
  const RenderLayersConnect = ({
3925
3990
  layerId,
3926
3991
  mapId,
3927
- tooltipPrefix
3992
+ tooltipPrefix,
3993
+ skipLocalStyling
3928
3994
  }) => {
3929
3995
  const dispatch = useDispatch();
3930
3996
  const layerName = useSelector(store => layerSelectors.getLayerName(store, layerId));
@@ -3977,7 +4043,8 @@ const RenderLayersConnect = ({
3977
4043
  });
3978
4044
  },
3979
4045
  isEnabled: isLayerEnabled,
3980
- tooltipPrefix: tooltipPrefix
4046
+ tooltipPrefix: tooltipPrefix,
4047
+ skipLocalStyling: skipLocalStyling
3981
4048
  });
3982
4049
  };
3983
4050
 
@@ -4235,7 +4302,8 @@ function getCurrentOptionForLayer(thisLayerHasBoth, thisLayerHasAutoTimestep, th
4235
4302
  const AcceptanceTimeConnect = ({
4236
4303
  layerId,
4237
4304
  icon,
4238
- tooltipTitle
4305
+ tooltipTitle,
4306
+ skipLocalStyling
4239
4307
  }) => {
4240
4308
  const isEnabled = useSelector(store => layerSelectors.getLayerEnabled(store, layerId));
4241
4309
  const dispatch = useDispatch();
@@ -4266,7 +4334,8 @@ const AcceptanceTimeConnect = ({
4266
4334
  acceptanceTimeInMinutes: acceptanceTimeInMinutes,
4267
4335
  onChangeAcceptanceTime: onChangeAcceptanceTime,
4268
4336
  icon: icon,
4269
- tooltipTitle: tooltipTitle
4337
+ tooltipTitle: tooltipTitle,
4338
+ skipLocalStyling: skipLocalStyling
4270
4339
  });
4271
4340
  };
4272
4341
 
@@ -4476,21 +4545,25 @@ const LayerRowConnect = /*#__PURE__*/React.memo(({
4476
4545
  })) : ( /*#__PURE__*/React.createElement(RenderLayersConnect, {
4477
4546
  layerId: layerId,
4478
4547
  mapId: mapId,
4479
- tooltipPrefix: (_g = settings === null || settings === void 0 ? void 0 : settings.renderLayer) === null || _g === void 0 ? void 0 : _g.tooltipPrefix
4548
+ tooltipPrefix: (_g = settings === null || settings === void 0 ? void 0 : settings.renderLayer) === null || _g === void 0 ? void 0 : _g.tooltipPrefix,
4549
+ skipLocalStyling: true
4480
4550
  })),
4481
4551
  layerDimensionLayout: (settings === null || settings === void 0 ? void 0 : settings.dimensions) ? ( /*#__PURE__*/React.createElement(CustomDimensionSelectConnect, Object.assign({
4482
4552
  layerId: layerId,
4483
4553
  mapId: mapId
4484
4554
  }, settings === null || settings === void 0 ? void 0 : settings.dimensions))) : ( /*#__PURE__*/React.createElement(DimensionSelectConnect, {
4485
4555
  layerId: layerId,
4486
- mapId: mapId
4556
+ mapId: mapId,
4557
+ skipLocalStyling: true
4487
4558
  })),
4488
4559
  layerStylesLayout: /*#__PURE__*/React.createElement(RenderStylesConnect, Object.assign({
4489
4560
  layerId: layerId,
4490
- mapId: mapId
4561
+ mapId: mapId,
4562
+ skipLocalStyling: true
4491
4563
  }, settings === null || settings === void 0 ? void 0 : settings.layerStyle)),
4492
4564
  layerAcceptanceTimeLayout: /*#__PURE__*/React.createElement(AcceptanceTimeConnect, Object.assign({
4493
- layerId: layerId
4565
+ layerId: layerId,
4566
+ skipLocalStyling: true
4494
4567
  }, settings === null || settings === void 0 ? void 0 : settings.acceptanceTime)),
4495
4568
  layerMissingDataLayout: /*#__PURE__*/React.createElement(MissingDataConnect, {
4496
4569
  mapId: mapId,
@@ -4664,7 +4737,13 @@ const LayerContainerRow = /*#__PURE__*/React.memo(_a => {
4664
4737
  sx: {
4665
4738
  width: '100%',
4666
4739
  maxHeight: 'calc(100% - 10px)',
4667
- overflow: 'auto'
4740
+ overflow: 'auto',
4741
+ '& .sortable-chosen': {
4742
+ boxShadow: 1
4743
+ },
4744
+ '& .sortable-ghost': {
4745
+ opacity: '0.5 !important'
4746
+ }
4668
4747
  }
4669
4748
  }, gridProps), /*#__PURE__*/React.createElement(ReactSortable, {
4670
4749
  tag: "div",
@@ -4695,6 +4774,8 @@ var lengthOfArrayLike$1 = lengthOfArrayLike$4;
4695
4774
 
4696
4775
  var $TypeError$2 = TypeError;
4697
4776
 
4777
+ var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
4778
+
4698
4779
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
4699
4780
  var createMethod$2 = function (IS_RIGHT) {
4700
4781
  return function (that, callbackfn, argumentsLength, memo) {
@@ -4702,6 +4783,7 @@ var createMethod$2 = function (IS_RIGHT) {
4702
4783
  var self = IndexedObject(O);
4703
4784
  var length = lengthOfArrayLike$1(O);
4704
4785
  aCallable$1(callbackfn);
4786
+ if (length === 0 && argumentsLength < 2) throw new $TypeError$2(REDUCE_EMPTY);
4705
4787
  var index = IS_RIGHT ? length - 1 : 0;
4706
4788
  var i = IS_RIGHT ? -1 : 1;
4707
4789
  if (argumentsLength < 2) while (true) {
@@ -4712,7 +4794,7 @@ var createMethod$2 = function (IS_RIGHT) {
4712
4794
  }
4713
4795
  index += i;
4714
4796
  if (IS_RIGHT ? index < 0 : length <= index) {
4715
- throw new $TypeError$2('Reduce of empty array with no initial value');
4797
+ throw new $TypeError$2(REDUCE_EMPTY);
4716
4798
  }
4717
4799
  }
4718
4800
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -4741,7 +4823,7 @@ var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) {
4741
4823
  });
4742
4824
  };
4743
4825
 
4744
- var global$5 = global$h;
4826
+ var global$5 = global$g;
4745
4827
  var classof$1 = classofRaw$1;
4746
4828
 
4747
4829
  var engineIsNode = classof$1(global$5.process) === 'process';
@@ -4900,7 +4982,7 @@ const BaseLayersConnect = ({
4900
4982
  };
4901
4983
 
4902
4984
  var fails$7 = fails$n;
4903
- var global$4 = global$h;
4985
+ var global$4 = global$g;
4904
4986
 
4905
4987
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
4906
4988
  var $RegExp$2 = global$4.RegExp;
@@ -4931,7 +5013,7 @@ var regexpStickyHelpers = {
4931
5013
  };
4932
5014
 
4933
5015
  var fails$6 = fails$n;
4934
- var global$3 = global$h;
5016
+ var global$3 = global$g;
4935
5017
 
4936
5018
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
4937
5019
  var $RegExp$1 = global$3.RegExp;
@@ -4942,7 +5024,7 @@ var regexpUnsupportedDotAll = fails$6(function () {
4942
5024
  });
4943
5025
 
4944
5026
  var fails$5 = fails$n;
4945
- var global$2 = global$h;
5027
+ var global$2 = global$g;
4946
5028
 
4947
5029
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
4948
5030
  var $RegExp = global$2.RegExp;
@@ -4960,7 +5042,7 @@ var uncurryThis$7 = functionUncurryThis;
4960
5042
  var toString$7 = toString$9;
4961
5043
  var regexpFlags = regexpFlags$1;
4962
5044
  var stickyHelpers = regexpStickyHelpers;
4963
- var shared = shared$4.exports;
5045
+ var shared = shared$4;
4964
5046
  var create = objectCreate;
4965
5047
  var getInternalState = internalState.get;
4966
5048
  var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
@@ -5084,7 +5166,7 @@ $$4({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
5084
5166
  var $$3 = _export;
5085
5167
  var call$5 = functionCall;
5086
5168
  var isCallable$3 = isCallable$i;
5087
- var anObject$3 = anObject$b;
5169
+ var anObject$3 = anObject$a;
5088
5170
  var toString$6 = toString$9;
5089
5171
 
5090
5172
  var DELEGATES_TO_EXEC = function () {
@@ -5119,7 +5201,7 @@ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u200
5119
5201
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
5120
5202
 
5121
5203
  var uncurryThis$6 = functionUncurryThis;
5122
- var requireObjectCoercible$3 = requireObjectCoercible$7;
5204
+ var requireObjectCoercible$3 = requireObjectCoercible$8;
5123
5205
  var toString$5 = toString$9;
5124
5206
  var whitespaces$1 = whitespaces$2;
5125
5207
 
@@ -5820,10 +5902,10 @@ const preloadedDefaultBaseServices = baseServices;
5820
5902
  const preloadedDefaultMapServices = services;
5821
5903
 
5822
5904
  var defaultConfigurations = /*#__PURE__*/Object.freeze({
5823
- __proto__: null,
5824
- availableDefaultBaseLayers: availableDefaultBaseLayers,
5825
- preloadedDefaultBaseServices: preloadedDefaultBaseServices,
5826
- preloadedDefaultMapServices: preloadedDefaultMapServices
5905
+ __proto__: null,
5906
+ availableDefaultBaseLayers: availableDefaultBaseLayers,
5907
+ preloadedDefaultBaseServices: preloadedDefaultBaseServices,
5908
+ preloadedDefaultMapServices: preloadedDefaultMapServices
5827
5909
  });
5828
5910
 
5829
5911
  const validateServiceUrl = url => {
@@ -6349,8 +6431,8 @@ const LayerManager = ({
6349
6431
  setFocused: _setFocused = () => {},
6350
6432
  settings,
6351
6433
  headerSize: _headerSize = 'medium',
6352
- isMultiMap,
6353
- mapWidthRef
6434
+ mapWidthRef,
6435
+ addLayerComponent
6354
6436
  }) => {
6355
6437
  var _a, _b, _c, _d, _e, _f, _g;
6356
6438
  const minSize = {
@@ -6466,10 +6548,9 @@ const LayerManager = ({
6466
6548
  sx: styles$1.layerRowContainer
6467
6549
  }, /*#__PURE__*/React.createElement(DescriptionRow, {
6468
6550
  mapPresetsModule: _leftHeaderComponent,
6469
- mapId: mapId,
6470
6551
  source: _source,
6471
6552
  settings: settings === null || settings === void 0 ? void 0 : settings.header,
6472
- isMultiMap: isMultiMap
6553
+ addLayerComponent: addLayerComponent
6473
6554
  }), /*#__PURE__*/React.createElement(LayerContainerRow, {
6474
6555
  mapId: mapId,
6475
6556
  settings: settings === null || settings === void 0 ? void 0 : settings.content
@@ -6490,7 +6571,7 @@ const getServicesToLoad = services => services.map(service => {
6490
6571
  return {
6491
6572
  id: wmService.id,
6492
6573
  name: service.name,
6493
- serviceUrl: service.url,
6574
+ url: service.url,
6494
6575
  scope,
6495
6576
  abstract: service.abstract || wmService.abstract
6496
6577
  };
@@ -6547,8 +6628,8 @@ const getDialogType = (mapId, isMultiMap, isDocked) => {
6547
6628
  * a dialog should have the <LayerManagerMapButtonConnect/> which is used to focus the correct map and open the dialog
6548
6629
  *
6549
6630
  * Expects the following props:
6550
- * @param {layerSelectTypes.LayerSelectService[]} preloadedMapServices preloadedMapServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader for maplayers
6551
- * @param {layerSelectTypes.LayerSelectService[]} preloadedBaseServices preloadedBaseServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader fpr baselayers
6631
+ * @param {serviceTypes.InitialService[]} preloadedMapServices preloadedMapServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader for maplayers
6632
+ * @param {serviceTypes.InitialService[]} preloadedBaseServices preloadedBaseServices: array of Service objects - contains an array of Service objects that are preloaded into in the WMS Loader fpr baselayers
6552
6633
  * @param {Layer[]} preloadedAvailableBaseLayers preloadedAvailableBaseLayers: array of Layer objects - contains an array of Layer objects (consisting solely of type baseLayer) that are available to be shown as basemaps
6553
6634
  * ``` <LayerManagerConnect />```
6554
6635
  */
@@ -6605,7 +6686,7 @@ const LayerManagerConnect = ({
6605
6686
  }, [dispatch, _isDocked, mapId, onCloseDialog, _source]);
6606
6687
  return React.useMemo(() => {
6607
6688
  const shownTitle = _showMapIdInTitle ? `${_title} ${mapId}` : _title;
6608
- return /*#__PURE__*/React.createElement(LayerManager, {
6689
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LayerManager, {
6609
6690
  mapId: mapId || initialMapId,
6610
6691
  preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
6611
6692
  preloadedBaseServices: preloadedBaseServices,
@@ -6623,7 +6704,6 @@ const LayerManagerConnect = ({
6623
6704
  onToggleDock: onToggleDock,
6624
6705
  setFocused: setFocused,
6625
6706
  headerSize: "xs",
6626
- isMultiMap: _isMultiMap,
6627
6707
  isDockedLayerManager: _isDocked,
6628
6708
  startPosition: _isDocked ? {
6629
6709
  top: 60,
@@ -6632,9 +6712,14 @@ const LayerManagerConnect = ({
6632
6712
  top: 85,
6633
6713
  left: 50
6634
6714
  },
6635
- mapWidthRef: mapWidthRef
6636
- });
6637
- }, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, _isDocked, _isMultiMap, _leftHeaderComponent, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, setFocused, _showMapIdInTitle, _title, uiError, uiIsLoading, uiSource, mapWidthRef]);
6715
+ mapWidthRef: mapWidthRef,
6716
+ addLayerComponent: /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
6717
+ mapId: mapId,
6718
+ source: _source,
6719
+ isMultiMap: _isMultiMap
6720
+ })
6721
+ }), !_isDocked && /*#__PURE__*/React.createElement(LayerInfoDialogConnect, null), !_isDocked && /*#__PURE__*/React.createElement(LayerSelectConnect, null));
6722
+ }, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, _isDocked, _isMultiMap, _leftHeaderComponent, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, setFocused, _showMapIdInTitle, _title, uiError, uiIsLoading, uiSource, mapWidthRef, _source]);
6638
6723
  };
6639
6724
 
6640
6725
  /* *
@@ -6967,7 +7052,7 @@ var proxyAccessor$1 = function (Target, Source, key) {
6967
7052
  };
6968
7053
 
6969
7054
  var isCallable$2 = isCallable$i;
6970
- var isObject$1 = isObject$a;
7055
+ var isObject$1 = isObject$b;
6971
7056
  var setPrototypeOf$1 = objectSetPrototypeOf;
6972
7057
 
6973
7058
  // makes subclassing work correct for wrapped built-ins
@@ -6991,7 +7076,7 @@ var normalizeStringArgument$1 = function (argument, $default) {
6991
7076
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString$3(argument);
6992
7077
  };
6993
7078
 
6994
- var isObject = isObject$a;
7079
+ var isObject = isObject$b;
6995
7080
  var createNonEnumerableProperty$3 = createNonEnumerableProperty$8;
6996
7081
 
6997
7082
  // `InstallErrorCause` abstract operation
@@ -7109,7 +7194,7 @@ var wrapErrorConstructorWithCause$1 = function (FULL_NAME, wrapper, FORCED, IS_A
7109
7194
 
7110
7195
  /* eslint-disable no-unused-vars -- required for functions `.length` */
7111
7196
  var $ = _export;
7112
- var global$1 = global$h;
7197
+ var global$1 = global$g;
7113
7198
  var apply$1 = functionApply;
7114
7199
  var wrapErrorConstructorWithCause = wrapErrorConstructorWithCause$1;
7115
7200
 
@@ -7244,7 +7329,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
7244
7329
  var uncurryThis$2 = functionUncurryThis;
7245
7330
  var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
7246
7331
  var toString$2 = toString$9;
7247
- var requireObjectCoercible$2 = requireObjectCoercible$7;
7332
+ var requireObjectCoercible$2 = requireObjectCoercible$8;
7248
7333
 
7249
7334
  var charAt$2 = uncurryThis$2(''.charAt);
7250
7335
  var charCodeAt = uncurryThis$2(''.charCodeAt);
@@ -7287,7 +7372,7 @@ var advanceStringIndex$2 = function (S, index, unicode) {
7287
7372
  };
7288
7373
 
7289
7374
  var call$2 = functionCall;
7290
- var anObject$2 = anObject$b;
7375
+ var anObject$2 = anObject$a;
7291
7376
  var isCallable$1 = isCallable$i;
7292
7377
  var classof = classofRaw$1;
7293
7378
  var regexpExec = regexpExec$2;
@@ -7309,11 +7394,11 @@ var regexpExecAbstract = function (R, S) {
7309
7394
 
7310
7395
  var call$1 = functionCall;
7311
7396
  var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
7312
- var anObject$1 = anObject$b;
7397
+ var anObject$1 = anObject$a;
7313
7398
  var isNullOrUndefined$1 = isNullOrUndefined$4;
7314
7399
  var toLength$1 = toLength$3;
7315
7400
  var toString$1 = toString$9;
7316
- var requireObjectCoercible$1 = requireObjectCoercible$7;
7401
+ var requireObjectCoercible$1 = requireObjectCoercible$8;
7317
7402
  var getMethod$1 = getMethod$3;
7318
7403
  var advanceStringIndex$1 = advanceStringIndex$2;
7319
7404
  var regExpExec$1 = regexpExecAbstract;
@@ -8663,42 +8748,6 @@ const TimeStepButtonConnect = ({
8663
8748
  });
8664
8749
  };
8665
8750
 
8666
- const NowButtonConnect = ({
8667
- sourceId,
8668
- mapId,
8669
- isDisabled
8670
- }) => {
8671
- const dispatch = useDispatch();
8672
- const currentTime = dateUtils.unix(dateUtils.utc());
8673
- const timeStep = useSelector(store => mapSelectors.getMapTimeStep(store, mapId));
8674
- const [dataStartTime, dataEndTime] = useSelector(store => mapSelectors.getDataLimitsFromLayers(store, mapId));
8675
- const isAnimating = useSelector(store => mapSelectors.isAnimating(store, mapId));
8676
- const turnOffAutoUpdateIfItsOn = useTurnOffAutoUpdateIfItsOn(mapId);
8677
- const onSetNewDate = newDate => {
8678
- turnOffAutoUpdateIfItsOn();
8679
- if (isAnimating) {
8680
- dispatch(mapActions.mapStopAnimation({
8681
- mapId
8682
- }));
8683
- }
8684
- dispatch(genericActions.setTime({
8685
- sourceId,
8686
- origin: 'NowButtonConnect, 140',
8687
- value: handleDateUtilsISOString(newDate)
8688
- }));
8689
- };
8690
- const onSetCenterTime = newTime => {
8691
- dispatch(mapActions.setTimeSliderCenterTime({
8692
- mapId,
8693
- timeSliderCenterTime: newTime
8694
- }));
8695
- };
8696
- return /*#__PURE__*/React.createElement(NowButton, {
8697
- disabled: isDisabled,
8698
- onSetNow: () => handleSetNowEvent(timeStep, dataStartTime, dataEndTime, currentTime, onSetNewDate, onSetCenterTime)
8699
- });
8700
- };
8701
-
8702
8751
  /* *
8703
8752
  * Licensed under the Apache License, Version 2.0 (the "License");
8704
8753
  * you may not use this file except in compliance with the License.
@@ -8820,47 +8869,6 @@ const TimeSpanButtonConnect = ({
8820
8869
  });
8821
8870
  };
8822
8871
 
8823
- /* *
8824
- * Licensed under the Apache License, Version 2.0 (the "License");
8825
- * you may not use this file except in compliance with the License.
8826
- * You may obtain a copy of the License at
8827
- *
8828
- * http://www.apache.org/licenses/LICENSE-2.0
8829
- *
8830
- * Unless required by applicable law or agreed to in writing, software
8831
- * distributed under the License is distributed on an "AS IS" BASIS,
8832
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8833
- * See the License for the specific language governing permissions and
8834
- * limitations under the License.
8835
- *
8836
- * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8837
- * Copyright 2020 - Finnish Meteorological Institute (FMI)
8838
- * */
8839
- const connectRedux$2 = connect((store, props) => ({
8840
- isAutoUpdating: mapSelectors.isAutoUpdating(store, props.mapId)
8841
- }), {
8842
- toggleAutoUpdate: mapActions.toggleAutoUpdate
8843
- });
8844
- const AutoUpdateButtonConnectComponent = connectRedux$2(({
8845
- mapId,
8846
- isAutoUpdating,
8847
- toggleAutoUpdate
8848
- }) => {
8849
- const onClick = () => {
8850
- toggleAutoUpdate({
8851
- mapId,
8852
- shouldAutoUpdate: !isAutoUpdating,
8853
- origin: mapEnums.MapActionOrigin.map
8854
- });
8855
- };
8856
- return /*#__PURE__*/React.createElement(AutoUpdateButton, {
8857
- isAutoUpdating: isAutoUpdating,
8858
- toggleAutoUpdate: onClick,
8859
- disabled: false
8860
- });
8861
- });
8862
- const AutoUpdateButtonConnect = connectRedux$2(AutoUpdateButtonConnectComponent);
8863
-
8864
8872
  /* *
8865
8873
  * Licensed under the Apache License, Version 2.0 (the "License");
8866
8874
  * you may not use this file except in compliance with the License.
@@ -8886,20 +8894,12 @@ const AutoUpdateButtonConnect = connectRedux$2(AutoUpdateButtonConnectComponent)
8886
8894
  * ``` <OptionsMenuButtonConnect mapId={mapId} />```
8887
8895
  */
8888
8896
  const OptionsMenuButtonConnect = ({
8889
- sourceId,
8890
8897
  mapId
8891
8898
  }) => {
8892
8899
  return /*#__PURE__*/React.createElement(OptionsMenuButton, {
8893
- nowBtn: /*#__PURE__*/React.createElement(NowButtonConnect, {
8894
- mapId: mapId,
8895
- sourceId: sourceId
8896
- }),
8897
8900
  animationLengthBtn: /*#__PURE__*/React.createElement(AnimationLengthButtonConnect, {
8898
8901
  mapId: mapId
8899
8902
  }),
8900
- autoUpdateBtn: /*#__PURE__*/React.createElement(AutoUpdateButtonConnect, {
8901
- mapId: mapId
8902
- }),
8903
8903
  speedBtn: /*#__PURE__*/React.createElement(SpeedButtonConnect, {
8904
8904
  mapId: mapId
8905
8905
  }),
@@ -8928,7 +8928,7 @@ const OptionsMenuButtonConnect = ({
8928
8928
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8929
8929
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
8930
8930
  * */
8931
- const connectRedux$1 = connect((store, props) => ({
8931
+ const connectRedux$2 = connect((store, props) => ({
8932
8932
  animationStartTime: mapSelectors.getAnimationStartTime(store, props.mapId),
8933
8933
  animationEndTime: mapSelectors.getAnimationEndTime(store, props.mapId),
8934
8934
  timeStep: mapSelectors.getMapTimeStep(store, props.mapId),
@@ -8937,7 +8937,7 @@ const connectRedux$1 = connect((store, props) => ({
8937
8937
  mapStartAnimation: mapActions.mapStartAnimation,
8938
8938
  mapStopAnimation: mapActions.mapStopAnimation
8939
8939
  });
8940
- const PlayButtonConnect = connectRedux$1(({
8940
+ const PlayButtonConnect = connectRedux$2(({
8941
8941
  mapId,
8942
8942
  animationStartTime,
8943
8943
  animationEndTime,
@@ -9007,6 +9007,83 @@ const BackwardForwardStepButtonConnect = ({
9007
9007
  });
9008
9008
  };
9009
9009
 
9010
+ /* *
9011
+ * Licensed under the Apache License, Version 2.0 (the "License");
9012
+ * you may not use this file except in compliance with the License.
9013
+ * You may obtain a copy of the License at
9014
+ *
9015
+ * http://www.apache.org/licenses/LICENSE-2.0
9016
+ *
9017
+ * Unless required by applicable law or agreed to in writing, software
9018
+ * distributed under the License is distributed on an "AS IS" BASIS,
9019
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9020
+ * See the License for the specific language governing permissions and
9021
+ * limitations under the License.
9022
+ *
9023
+ * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9024
+ * Copyright 2020 - Finnish Meteorological Institute (FMI)
9025
+ * */
9026
+ const connectRedux$1 = connect((store, props) => ({
9027
+ isAutoUpdating: mapSelectors.isAutoUpdating(store, props.mapId)
9028
+ }), {
9029
+ toggleAutoUpdate: mapActions.toggleAutoUpdate
9030
+ });
9031
+ const AutoUpdateButtonConnectComponent = connectRedux$1(({
9032
+ mapId,
9033
+ isAutoUpdating,
9034
+ toggleAutoUpdate
9035
+ }) => {
9036
+ const onClick = () => {
9037
+ toggleAutoUpdate({
9038
+ mapId,
9039
+ shouldAutoUpdate: !isAutoUpdating,
9040
+ origin: mapEnums.MapActionOrigin.map
9041
+ });
9042
+ };
9043
+ return /*#__PURE__*/React.createElement(AutoUpdateButton, {
9044
+ isAutoUpdating: isAutoUpdating,
9045
+ toggleAutoUpdate: onClick,
9046
+ disabled: false
9047
+ });
9048
+ });
9049
+ const AutoUpdateButtonConnect = connectRedux$1(AutoUpdateButtonConnectComponent);
9050
+
9051
+ const NowButtonConnect = ({
9052
+ sourceId,
9053
+ mapId,
9054
+ isDisabled
9055
+ }) => {
9056
+ const dispatch = useDispatch();
9057
+ const currentTime = dateUtils.unix(dateUtils.utc());
9058
+ const timeStep = useSelector(store => mapSelectors.getMapTimeStep(store, mapId));
9059
+ const [dataStartTime, dataEndTime] = useSelector(store => mapSelectors.getDataLimitsFromLayers(store, mapId));
9060
+ const isAnimating = useSelector(store => mapSelectors.isAnimating(store, mapId));
9061
+ const turnOffAutoUpdateIfItsOn = useTurnOffAutoUpdateIfItsOn(mapId);
9062
+ const onSetNewDate = newDate => {
9063
+ turnOffAutoUpdateIfItsOn();
9064
+ if (isAnimating) {
9065
+ dispatch(mapActions.mapStopAnimation({
9066
+ mapId
9067
+ }));
9068
+ }
9069
+ dispatch(genericActions.setTime({
9070
+ sourceId,
9071
+ origin: 'NowButtonConnect, 140',
9072
+ value: handleDateUtilsISOString(newDate)
9073
+ }));
9074
+ };
9075
+ const onSetCenterTime = newTime => {
9076
+ dispatch(mapActions.setTimeSliderCenterTime({
9077
+ mapId,
9078
+ timeSliderCenterTime: newTime
9079
+ }));
9080
+ };
9081
+ return /*#__PURE__*/React.createElement(NowButton, {
9082
+ disabled: isDisabled,
9083
+ onSetNow: () => handleSetNowEvent(timeStep, dataStartTime, dataEndTime, currentTime, onSetNewDate, onSetCenterTime)
9084
+ });
9085
+ };
9086
+
9010
9087
  /* *
9011
9088
  * Licensed under the Apache License, Version 2.0 (the "License");
9012
9089
  * you may not use this file except in compliance with the License.
@@ -9028,17 +9105,24 @@ const BackwardForwardStepButtonConnect = ({
9028
9105
  *
9029
9106
  * Expects the following props:
9030
9107
  * @param {string} mapId mapId: string - Id of the map
9108
+ * @param {string} sourceId mapId: string - Id of the source
9031
9109
  * @example
9032
- * ``` <TimeSliderButtonsConnect mapId={mapId} />```
9110
+ * ``` <TimeSliderButtonsConnect mapId={mapId} sourceId={sourceId} />```
9033
9111
  */
9034
9112
  const TimeSliderButtonsConnectComponent = ({
9035
9113
  sourceId,
9036
9114
  mapId
9037
9115
  }) => ( /*#__PURE__*/React.createElement(TimeSliderButtons, {
9038
- optionsMenuBtn: /*#__PURE__*/React.createElement(OptionsMenuButtonConnect, {
9116
+ nowBtn: /*#__PURE__*/React.createElement(NowButtonConnect, {
9039
9117
  mapId: mapId,
9040
9118
  sourceId: sourceId
9041
9119
  }),
9120
+ autoUpdateBtn: /*#__PURE__*/React.createElement(AutoUpdateButtonConnect, {
9121
+ mapId: mapId
9122
+ }),
9123
+ optionsMenuBtn: /*#__PURE__*/React.createElement(OptionsMenuButtonConnect, {
9124
+ mapId: mapId
9125
+ }),
9042
9126
  playBtn: /*#__PURE__*/React.createElement(PlayButtonConnect, {
9043
9127
  mapId: mapId
9044
9128
  }),
@@ -9415,9 +9499,17 @@ const TimeSliderConnect = ({
9415
9499
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
9416
9500
  * */
9417
9501
  const ControlButtonsConnect = ({
9502
+ sourceId,
9418
9503
  mapId
9419
9504
  }) => {
9420
9505
  return /*#__PURE__*/React__default.createElement(ControlButtons, {
9506
+ nowBtn: /*#__PURE__*/React__default.createElement(NowButtonConnect, {
9507
+ mapId: mapId,
9508
+ sourceId: sourceId
9509
+ }),
9510
+ autoUpdateBtn: /*#__PURE__*/React__default.createElement(AutoUpdateButtonConnect, {
9511
+ mapId: mapId
9512
+ }),
9421
9513
  playBtn: /*#__PURE__*/React__default.createElement(PlayButtonConnect, {
9422
9514
  mapId: mapId
9423
9515
  }),
@@ -9449,19 +9541,11 @@ const ControlButtonsConnect = ({
9449
9541
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
9450
9542
  * */
9451
9543
  const OptionsMenuConnect = ({
9452
- sourceId,
9453
9544
  mapId
9454
9545
  }) => ( /*#__PURE__*/React__default.createElement(OptionsMenu, {
9455
- nowBtn: /*#__PURE__*/React__default.createElement(NowButtonConnect, {
9456
- mapId: mapId,
9457
- sourceId: sourceId
9458
- }),
9459
9546
  animationLengthBtn: /*#__PURE__*/React__default.createElement(AnimationLengthButtonConnect, {
9460
9547
  mapId: mapId
9461
9548
  }),
9462
- autoUpdateBtn: /*#__PURE__*/React__default.createElement(AutoUpdateButtonConnect, {
9463
- mapId: mapId
9464
- }),
9465
9549
  speedBtn: /*#__PURE__*/React__default.createElement(SpeedButtonConnect, {
9466
9550
  mapId: mapId
9467
9551
  }),
@@ -9497,12 +9581,12 @@ const TimeSliderClockConnect = ({
9497
9581
  return /*#__PURE__*/React__default.createElement(TimeSliderClock, {
9498
9582
  hideButton: isTimeSliderVisible,
9499
9583
  controls: /*#__PURE__*/React__default.createElement(ControlButtonsConnect, {
9500
- mapId: mapId
9501
- }),
9502
- options: /*#__PURE__*/React__default.createElement(OptionsMenuConnect, {
9503
9584
  mapId: mapId,
9504
9585
  sourceId: mapId
9505
9586
  }),
9587
+ options: /*#__PURE__*/React__default.createElement(OptionsMenuConnect, {
9588
+ mapId: mapId
9589
+ }),
9506
9590
  time: selectedTime
9507
9591
  });
9508
9592
  };
@@ -9735,13 +9819,13 @@ var call = functionCall;
9735
9819
  var uncurryThis = functionUncurryThis;
9736
9820
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
9737
9821
  var fails = fails$n;
9738
- var anObject = anObject$b;
9822
+ var anObject = anObject$a;
9739
9823
  var isCallable = isCallable$i;
9740
9824
  var isNullOrUndefined = isNullOrUndefined$4;
9741
9825
  var toIntegerOrInfinity = toIntegerOrInfinity$4;
9742
9826
  var toLength = toLength$3;
9743
9827
  var toString = toString$9;
9744
- var requireObjectCoercible = requireObjectCoercible$7;
9828
+ var requireObjectCoercible = requireObjectCoercible$8;
9745
9829
  var advanceStringIndex = advanceStringIndex$2;
9746
9830
  var getMethod = getMethod$3;
9747
9831
  var getSubstitution = getSubstitution$1;
@@ -10615,19 +10699,64 @@ const simplePolygonGeoJSON = {
10615
10699
  };
10616
10700
 
10617
10701
  var testLayers = /*#__PURE__*/Object.freeze({
10618
- __proto__: null,
10619
- baseLayer: baseLayer,
10620
- baseLayerGrey: baseLayerGrey,
10621
- baseLayerOpenStreetMapNL: baseLayerOpenStreetMapNL,
10622
- baseLayerArcGisCanvas: baseLayerArcGisCanvas,
10623
- baseLayerWorldMap: baseLayerWorldMap,
10624
- baseLayerArcGisSat: baseLayerArcGisSat,
10625
- overLayer: overLayer,
10626
- overLayer2: overLayer2,
10627
- radarLayer: radarLayer,
10628
- simplePolygonGeoJSON: simplePolygonGeoJSON
10702
+ __proto__: null,
10703
+ baseLayer: baseLayer,
10704
+ baseLayerGrey: baseLayerGrey,
10705
+ baseLayerOpenStreetMapNL: baseLayerOpenStreetMapNL,
10706
+ baseLayerArcGisCanvas: baseLayerArcGisCanvas,
10707
+ baseLayerWorldMap: baseLayerWorldMap,
10708
+ baseLayerArcGisSat: baseLayerArcGisSat,
10709
+ overLayer: overLayer,
10710
+ overLayer2: overLayer2,
10711
+ radarLayer: radarLayer,
10712
+ simplePolygonGeoJSON: simplePolygonGeoJSON
10629
10713
  });
10630
10714
 
10715
+ /* *
10716
+ * Licensed under the Apache License, Version 2.0 (the "License");
10717
+ * you may not use this file except in compliance with the License.
10718
+ * You may obtain a copy of the License at
10719
+ *
10720
+ * http://www.apache.org/licenses/LICENSE-2.0
10721
+ *
10722
+ * Unless required by applicable law or agreed to in writing, software
10723
+ * distributed under the License is distributed on an "AS IS" BASIS,
10724
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10725
+ * See the License for the specific language governing permissions and
10726
+ * limitations under the License.
10727
+ *
10728
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
10729
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
10730
+ * */
10731
+ const CORE_NAMESPACE = 'core';
10732
+ const initCoreReactI18n = () => {
10733
+ i18n.use(initReactI18next).init({
10734
+ lng: 'en',
10735
+ ns: CORE_NAMESPACE,
10736
+ interpolation: {
10737
+ escapeValue: false
10738
+ },
10739
+ resources: {
10740
+ en: {
10741
+ [CORE_NAMESPACE]: coreTranslations.en,
10742
+ [WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.en
10743
+ },
10744
+ fi: {
10745
+ [CORE_NAMESPACE]: coreTranslations.fi,
10746
+ [WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.fi
10747
+ },
10748
+ no: {
10749
+ [CORE_NAMESPACE]: coreTranslations.no,
10750
+ [WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.no
10751
+ },
10752
+ nl: {
10753
+ [CORE_NAMESPACE]: coreTranslations.nl,
10754
+ [WEBMAP_REACT_NAMESPACE]: webmapReactTranslations.nl
10755
+ }
10756
+ }
10757
+ });
10758
+ };
10759
+
10631
10760
  /**
10632
10761
  * A Provider component which provides the GeoWeb theme
10633
10762
  * @param children
@@ -10644,7 +10773,7 @@ const ThemeWrapperWithModules = withEggs([...coreModuleConfig, layerSelectConfig
10644
10773
  children
10645
10774
  }) => ( /*#__PURE__*/React__default.createElement(CoreThemeProvider, {
10646
10775
  theme: theme
10647
- }, children, " ")));
10776
+ }, children)));
10648
10777
  /**
10649
10778
  * A Provider component which provides the GeoWeb theme and store for the core.
10650
10779
  * Note: Should only be used with core components, as the provided store is only for core.
@@ -10660,6 +10789,18 @@ const CoreThemeStoreProvider = ({
10660
10789
  }, /*#__PURE__*/React__default.createElement(ThemeWrapperWithModules, {
10661
10790
  theme: _theme2
10662
10791
  }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children))));
10792
+ const CoreI18nProvider = ({
10793
+ children
10794
+ }) => {
10795
+ initCoreReactI18n();
10796
+ return /*#__PURE__*/React__default.createElement(I18nextProvider, {
10797
+ i18n: i18n
10798
+ }, children);
10799
+ };
10800
+ // used for react stories/tests
10801
+ const DemoWrapper = props => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(CoreThemeProvider, Object.assign({}, props))));
10802
+ // used for redux stories/tests
10803
+ const DemoWrapperConnect = props => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(CoreThemeStoreProvider, Object.assign({}, props))));
10663
10804
 
10664
10805
  /* *
10665
10806
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -10703,4 +10844,4 @@ const RouterWrapperConnect = withEggs([routerModuleConfig])(props => {
10703
10844
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavigateSetter, null), props.children);
10704
10845
  });
10705
10846
 
10706
- export { ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmonieTempAndPrecipPreset, LayerInfoButtonConnect, LayerInfoDialogConnect, LayerManager, BaseLayerRow as LayerManagerBaseLayerRow, LayerManagerConnect, DescriptionRow as LayerManagerDescriptionRow, HeaderOptions as LayerManagerHeaderOptions, LayerContainerRow as LayerManagerLayerContainerRow, LayerManagerMapButtonConnect, LegendConnect, LegendMapButtonConnect, MapViewConnect, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, MyMapLocation, RouterWrapperConnect, SearchControlButtonConnect, SearchControlConnect, SearchDialog, SyncGroupViewerConnect, TimeSliderConnect, ZoomControlConnect, componentsLookUp, defaultBbox, defaultConfigurations, filterMapPresets, filterServices, filterTimeSeriesServices, testLayers, useFetchServices, useUpdateTimeSpan, useUpdateTimestep };
10847
+ export { ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, DemoWrapper, DemoWrapperConnect, HarmonieTempAndPrecipPreset, LayerInfoButtonConnect, LayerInfoDialogConnect, LayerManager, BaseLayerRow as LayerManagerBaseLayerRow, LayerManagerConnect, DescriptionRow as LayerManagerDescriptionRow, HeaderOptions as LayerManagerHeaderOptions, LayerContainerRow as LayerManagerLayerContainerRow, LayerManagerMapButtonConnect, LegendConnect, LegendMapButtonConnect, MapViewConnect, MultiDimensionSelectMapButtonsConnect, MultiMapMultiDimensionSelectConnect as MultiMapDimensionSelectConnect, MultiMapViewConnect, MyMapLocation, RouterWrapperConnect, SearchControlButtonConnect, SearchControlConnect, SearchDialog, SyncGroupViewerConnect, TimeSliderConnect, ZoomControlConnect, componentsLookUp, coreTranslations, defaultBbox, defaultConfigurations, filterMapPresets, filterServices, filterTimeSeriesServices, testLayers, useFetchServices, useUpdateTimeSpan, useUpdateTimestep };