@opengeoweb/core 9.13.0 → 9.15.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 (47) hide show
  1. package/index.esm.js +1411 -729
  2. package/package.json +1 -3
  3. package/src/lib/components/ConfigurableMapConnect/ConfigurableMapConnect.d.ts +1 -1
  4. package/src/lib/components/LayerInfoConnect/LayerInfoButtonConnect.d.ts +11 -0
  5. package/src/lib/components/LayerInfoConnect/LayerInfoButtonConnect.spec.d.ts +1 -0
  6. package/src/lib/components/LayerInfoConnect/LayerInfoDialogConnect.d.ts +2 -0
  7. package/src/lib/components/LayerInfoConnect/index.d.ts +2 -0
  8. package/src/lib/components/LayerManager/AddLayersButton/AddLayersButton.d.ts +3 -3
  9. package/src/lib/components/LayerManager/AddLayersPopup/AddLayersPopup.d.ts +3 -3
  10. package/src/lib/components/LayerManager/BaseLayerRow/BaseLayerRow.d.ts +2 -3
  11. package/src/lib/components/LayerManager/DescriptionRow/DescriptionRow.d.ts +1 -2
  12. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/AcceptanceTime/AcceptanceTime.d.ts +1 -0
  13. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/AcceptanceTime/AcceptanceTimeConnect.d.ts +1 -0
  14. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelect.d.ts +1 -0
  15. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectConnect.d.ts +1 -0
  16. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectName.d.ts +1 -0
  17. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/DimensionSelect/DimensionSelectValue.d.ts +1 -0
  18. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/LayerRow.d.ts +8 -3
  19. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/LoadDuration/LoadDuration.d.ts +10 -0
  20. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/LoadDuration/LoadDuration.spec.d.ts +1 -0
  21. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayers.d.ts +3 -2
  22. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderLayers/RenderLayersConnect.d.ts +1 -0
  23. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderStyles/RenderStyles.d.ts +1 -0
  24. package/src/lib/components/LayerManager/LayerContainerRow/LayerRow/RenderStyles/RenderStylesConnect.d.ts +1 -0
  25. package/src/lib/components/LayerManager/LayerManager.d.ts +3 -4
  26. package/src/lib/components/LayerManager/LayerManagerConnect.d.ts +5 -6
  27. package/src/lib/components/LayerManager/LayerManagerUtils.d.ts +8 -2
  28. package/src/lib/components/LayerManager/LayerSelect/LayerSelectButton.d.ts +8 -0
  29. package/src/lib/components/LayerManager/useFetchServices.d.ts +3 -4
  30. package/src/lib/components/Providers/Providers.d.ts +5 -0
  31. package/src/lib/components/SyncGroups/SimpleTimeSlider.d.ts +2 -3
  32. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/ControlButtonsConnect.d.ts +1 -0
  33. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/OptionsMenuButtonConnect.d.ts +0 -1
  34. package/src/lib/components/TimeSliderConnect/TimeSliderButtonsConnect/OptionsMenuConnect.d.ts +0 -1
  35. package/src/lib/components/WMSLoader/WMSLayerTree/WMSLayerTree.d.ts +2 -3
  36. package/src/lib/components/WMSLoader/WMSLayerTree/WMSLayerTreeConnect.d.ts +3 -4
  37. package/src/lib/components/WMSLoader/WMSLoader.d.ts +3 -3
  38. package/src/lib/components/WMSLoader/WMSLoaderConnect.d.ts +2 -2
  39. package/src/lib/components/WMSLoader/WMSServerList/WMSServerList.d.ts +4 -4
  40. package/src/lib/index.d.ts +1 -0
  41. package/src/lib/utils/defaultConfigurations.d.ts +2 -2
  42. package/src/lib/utils/defaultTestSettings.d.ts +2 -3
  43. package/src/lib/utils/i18n.d.ts +2 -0
  44. package/src/lib/utils/jsonPresetFilter.d.ts +6 -7
  45. package/src/lib/utils/languageTranslation.d.ts +20 -28
  46. package/src/lib/utils/languagesService.d.ts +25 -0
  47. package/src/lib/utils/translationUpdater.d.ts +0 -7
package/index.esm.js CHANGED
@@ -1,28 +1,28 @@
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, 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 { LayerSelectButtonConnect, LayerInfoButton, LayerInfoButtonConnect, getUserAddedServices, layerSelectConfig } from '@opengeoweb/layer-select';
6
- import { CollapseSmall, CollapseMedium, CollapseLarge, CollapseWindow, ExpandWindow, 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';
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, filterLayers, uiSelectors, uiTypes, useSetupDialog, uiActions, genericActions, drawtoolSelectors, syncConstants, loadingIndicatorActions, IS_LEGEND_OPEN_BY_DEFAULT, defaultLayers, mapStoreActions, getSingularDrawtoolDrawLayerId, syncGroupsSelectors, syncGroupsSelector, coreModuleConfig, routerUtils, routerModuleConfig } from '@opengeoweb/store';
11
- import { getCapabilities, WMGetServiceFromStore, webmapUtils, LayerType, handleMomentISOString, wmServiceListener, EVENT_GETCAPABILITIES_START, EVENT_GETCAPABILITIES_READY, WMLayer } from '@opengeoweb/webmap';
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 } from '@opengeoweb/webmap-react';
11
+ import { webmapUtils, getCapabilities, WMGetServiceFromStore, LayerType, handleDateUtilsISOString, wmServiceListener, EVENT_GETCAPABILITIES_START, EVENT_GETCAPABILITIES_READY, WMLayer } from '@opengeoweb/webmap';
12
12
  import { Box as Box$1 } from '@mui/system';
13
- 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';
14
14
  import _, { isEqual, range } from 'lodash';
15
- import { MapControlButton, MapDimensionSelect, dimensionConfig, DimensionSelectDialog, DimensionSelectButton, ZoomControls, MapView, MapViewLayer, LegendDialog, registerDrawFunction, emptyGeoJSON, MapControls, publicLayers } from '@opengeoweb/webmap-react';
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';
19
- import moment from 'moment';
18
+ import i18n from 'i18next';
19
+ import { initReactI18next, I18nextProvider, useTranslation } from 'react-i18next';
20
20
  import { SnackbarWrapperConnect } from '@opengeoweb/snackbar';
21
21
  import { useNavigate } from 'react-router-dom';
22
22
 
23
23
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
24
24
 
25
- var fails$l = function (exec) {
25
+ var fails$n = function (exec) {
26
26
  try {
27
27
  return !!exec();
28
28
  } catch (error) {
@@ -30,9 +30,9 @@ var fails$l = function (exec) {
30
30
  }
31
31
  };
32
32
 
33
- var fails$k = fails$l;
33
+ var fails$m = fails$n;
34
34
 
35
- var functionBindNative = !fails$k(function () {
35
+ var functionBindNative = !fails$m(function () {
36
36
  // eslint-disable-next-line es/no-function-prototype-bind -- safe
37
37
  var test = (function () { /* empty */ }).bind();
38
38
  // eslint-disable-next-line no-prototype-builtins -- safe
@@ -42,33 +42,33 @@ var functionBindNative = !fails$k(function () {
42
42
  var NATIVE_BIND$2 = functionBindNative;
43
43
 
44
44
  var FunctionPrototype$2 = Function.prototype;
45
- var call$d = FunctionPrototype$2.call;
46
- var uncurryThisWithBind = NATIVE_BIND$2 && FunctionPrototype$2.bind.bind(call$d, call$d);
45
+ var call$e = FunctionPrototype$2.call;
46
+ var uncurryThisWithBind = NATIVE_BIND$2 && FunctionPrototype$2.bind.bind(call$e, call$e);
47
47
 
48
48
  var functionUncurryThis = NATIVE_BIND$2 ? uncurryThisWithBind : function (fn) {
49
49
  return function () {
50
- return call$d.apply(fn, arguments);
50
+ return call$e.apply(fn, arguments);
51
51
  };
52
52
  };
53
53
 
54
- var uncurryThis$j = functionUncurryThis;
54
+ var uncurryThis$k = functionUncurryThis;
55
55
 
56
- var toString$9 = uncurryThis$j({}.toString);
57
- var stringSlice$5 = uncurryThis$j(''.slice);
56
+ var toString$b = uncurryThis$k({}.toString);
57
+ var stringSlice$5 = uncurryThis$k(''.slice);
58
58
 
59
59
  var classofRaw$1 = function (it) {
60
- return stringSlice$5(toString$9(it), 8, -1);
60
+ return stringSlice$5(toString$b(it), 8, -1);
61
61
  };
62
62
 
63
- var uncurryThis$i = functionUncurryThis;
64
- var fails$j = fails$l;
63
+ var uncurryThis$j = functionUncurryThis;
64
+ var fails$l = fails$n;
65
65
  var classof$6 = classofRaw$1;
66
66
 
67
67
  var $Object$4 = Object;
68
- var split = uncurryThis$i(''.split);
68
+ var split = uncurryThis$j(''.split);
69
69
 
70
70
  // fallback for non-array-like ES3 and non-enumerable old V8 strings
71
- var indexedObject = fails$j(function () {
71
+ var indexedObject = fails$l(function () {
72
72
  // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346
73
73
  // eslint-disable-next-line no-prototype-builtins -- safe
74
74
  return !$Object$4('z').propertyIsEnumerable(0);
@@ -84,21 +84,21 @@ var isNullOrUndefined$4 = function (it) {
84
84
 
85
85
  var isNullOrUndefined$3 = isNullOrUndefined$4;
86
86
 
87
- var $TypeError$a = TypeError;
87
+ var $TypeError$c = TypeError;
88
88
 
89
89
  // `RequireObjectCoercible` abstract operation
90
90
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
91
- var requireObjectCoercible$7 = function (it) {
92
- if (isNullOrUndefined$3(it)) throw new $TypeError$a("Can't call method on " + it);
91
+ var requireObjectCoercible$8 = function (it) {
92
+ if (isNullOrUndefined$3(it)) throw new $TypeError$c("Can't call method on " + it);
93
93
  return it;
94
94
  };
95
95
 
96
96
  // toObject with fallback for non-array-like ES3 strings
97
97
  var IndexedObject$2 = indexedObject;
98
- var requireObjectCoercible$6 = requireObjectCoercible$7;
98
+ var requireObjectCoercible$7 = requireObjectCoercible$8;
99
99
 
100
100
  var toIndexedObject$5 = function (it) {
101
- return IndexedObject$2(requireObjectCoercible$6(it));
101
+ return IndexedObject$2(requireObjectCoercible$7(it));
102
102
  };
103
103
 
104
104
  var check = function (it) {
@@ -117,80 +117,80 @@ var global$g =
117
117
  // eslint-disable-next-line no-new-func -- fallback
118
118
  (function () { return this; })() || Function('return this')();
119
119
 
120
- var shared$4 = {exports: {}};
120
+ var sharedStore = {exports: {}};
121
121
 
122
122
  var global$f = global$g;
123
123
 
124
124
  // eslint-disable-next-line es/no-object-defineproperty -- safe
125
- var defineProperty$5 = Object.defineProperty;
125
+ var defineProperty$6 = Object.defineProperty;
126
126
 
127
127
  var defineGlobalProperty$3 = function (key, value) {
128
128
  try {
129
- defineProperty$5(global$f, key, { value: value, configurable: true, writable: true });
129
+ defineProperty$6(global$f, key, { value: value, configurable: true, writable: true });
130
130
  } catch (error) {
131
131
  global$f[key] = value;
132
132
  } return value;
133
133
  };
134
134
 
135
- var global$e = global$g;
135
+ var globalThis$1 = global$g;
136
136
  var defineGlobalProperty$2 = defineGlobalProperty$3;
137
137
 
138
138
  var SHARED = '__core-js_shared__';
139
- var store$3 = global$e[SHARED] || defineGlobalProperty$2(SHARED, {});
139
+ var store$3 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty$2(SHARED, {});
140
140
 
141
- var sharedStore = store$3;
142
-
143
- var store$2 = sharedStore;
144
-
145
- (shared$4.exports = function (key, value) {
146
- return store$2[key] || (store$2[key] = value !== undefined ? value : {});
147
- })('versions', []).push({
148
- version: '3.35.1',
141
+ (store$3.versions || (store$3.versions = [])).push({
142
+ version: '3.36.1',
149
143
  mode: 'global',
150
144
  copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
151
- license: 'https://github.com/zloirock/core-js/blob/v3.35.1/LICENSE',
145
+ license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',
152
146
  source: 'https://github.com/zloirock/core-js'
153
147
  });
154
148
 
155
- var requireObjectCoercible$5 = requireObjectCoercible$7;
149
+ var store$2 = sharedStore.exports;
150
+
151
+ var shared$4 = function (key, value) {
152
+ return store$2[key] || (store$2[key] = value || {});
153
+ };
154
+
155
+ var requireObjectCoercible$6 = requireObjectCoercible$8;
156
156
 
157
157
  var $Object$3 = Object;
158
158
 
159
159
  // `ToObject` abstract operation
160
160
  // https://tc39.es/ecma262/#sec-toobject
161
- var toObject$6 = function (argument) {
162
- return $Object$3(requireObjectCoercible$5(argument));
161
+ var toObject$7 = function (argument) {
162
+ return $Object$3(requireObjectCoercible$6(argument));
163
163
  };
164
164
 
165
- var uncurryThis$h = functionUncurryThis;
166
- var toObject$5 = toObject$6;
165
+ var uncurryThis$i = functionUncurryThis;
166
+ var toObject$6 = toObject$7;
167
167
 
168
- var hasOwnProperty = uncurryThis$h({}.hasOwnProperty);
168
+ var hasOwnProperty = uncurryThis$i({}.hasOwnProperty);
169
169
 
170
170
  // `HasOwnProperty` abstract operation
171
171
  // https://tc39.es/ecma262/#sec-hasownproperty
172
172
  // eslint-disable-next-line es/no-object-hasown -- safe
173
173
  var hasOwnProperty_1 = Object.hasOwn || function hasOwn(it, key) {
174
- return hasOwnProperty(toObject$5(it), key);
174
+ return hasOwnProperty(toObject$6(it), key);
175
175
  };
176
176
 
177
- var uncurryThis$g = functionUncurryThis;
177
+ var uncurryThis$h = functionUncurryThis;
178
178
 
179
179
  var id = 0;
180
180
  var postfix = Math.random();
181
- var toString$8 = uncurryThis$g(1.0.toString);
181
+ var toString$a = uncurryThis$h(1.0.toString);
182
182
 
183
183
  var uid$2 = function (key) {
184
- return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$8(++id + postfix, 36);
184
+ return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$a(++id + postfix, 36);
185
185
  };
186
186
 
187
187
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
188
188
 
189
- var global$d = global$g;
189
+ var global$e = global$g;
190
190
  var userAgent$2 = engineUserAgent;
191
191
 
192
- var process = global$d.process;
193
- var Deno = global$d.Deno;
192
+ var process = global$e.process;
193
+ var Deno = global$e.Deno;
194
194
  var versions = process && process.versions || Deno && Deno.version;
195
195
  var v8 = versions && versions.v8;
196
196
  var match, version;
@@ -216,13 +216,13 @@ var engineV8Version = version;
216
216
 
217
217
  /* eslint-disable es/no-symbol -- required for testing */
218
218
  var V8_VERSION = engineV8Version;
219
- var fails$i = fails$l;
220
- var global$c = global$g;
219
+ var fails$k = fails$n;
220
+ var global$d = global$g;
221
221
 
222
- var $String$5 = global$c.String;
222
+ var $String$5 = global$d.String;
223
223
 
224
224
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
225
- var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$i(function () {
225
+ var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$k(function () {
226
226
  var symbol = Symbol('symbol detection');
227
227
  // Chrome 38 Symbol has incorrect toString conversion
228
228
  // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances
@@ -240,20 +240,20 @@ var useSymbolAsUid = NATIVE_SYMBOL$1
240
240
  && !Symbol.sham
241
241
  && typeof Symbol.iterator == 'symbol';
242
242
 
243
- var global$b = global$g;
244
- var shared$3 = shared$4.exports;
245
- var hasOwn$9 = hasOwnProperty_1;
243
+ var global$c = global$g;
244
+ var shared$3 = shared$4;
245
+ var hasOwn$a = hasOwnProperty_1;
246
246
  var uid$1 = uid$2;
247
247
  var NATIVE_SYMBOL = symbolConstructorDetection;
248
248
  var USE_SYMBOL_AS_UID$1 = useSymbolAsUid;
249
249
 
250
- var Symbol$1 = global$b.Symbol;
250
+ var Symbol$1 = global$c.Symbol;
251
251
  var WellKnownSymbolsStore = shared$3('wks');
252
252
  var createWellKnownSymbol = USE_SYMBOL_AS_UID$1 ? Symbol$1['for'] || Symbol$1 : Symbol$1 && Symbol$1.withoutSetter || uid$1;
253
253
 
254
254
  var wellKnownSymbol$c = function (name) {
255
- if (!hasOwn$9(WellKnownSymbolsStore, name)) {
256
- WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$9(Symbol$1, name)
255
+ if (!hasOwn$a(WellKnownSymbolsStore, name)) {
256
+ WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn$a(Symbol$1, name)
257
257
  ? Symbol$1[name]
258
258
  : createWellKnownSymbol('Symbol.' + name);
259
259
  } return WellKnownSymbolsStore[name];
@@ -265,45 +265,45 @@ var documentAll = typeof document == 'object' && document.all;
265
265
  // `IsCallable` abstract operation
266
266
  // https://tc39.es/ecma262/#sec-iscallable
267
267
  // eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing
268
- var isCallable$g = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
268
+ var isCallable$i = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {
269
269
  return typeof argument == 'function' || argument === documentAll;
270
270
  } : function (argument) {
271
271
  return typeof argument == 'function';
272
272
  };
273
273
 
274
- var isCallable$f = isCallable$g;
274
+ var isCallable$h = isCallable$i;
275
275
 
276
- var isObject$8 = function (it) {
277
- return typeof it == 'object' ? it !== null : isCallable$f(it);
276
+ var isObject$b = function (it) {
277
+ return typeof it == 'object' ? it !== null : isCallable$h(it);
278
278
  };
279
279
 
280
- var isObject$7 = isObject$8;
280
+ var isObject$a = isObject$b;
281
281
 
282
282
  var $String$4 = String;
283
- var $TypeError$9 = TypeError;
283
+ var $TypeError$b = TypeError;
284
284
 
285
285
  // `Assert: Type(argument) is Object`
286
286
  var anObject$a = function (argument) {
287
- if (isObject$7(argument)) return argument;
288
- throw new $TypeError$9($String$4(argument) + ' is not an object');
287
+ if (isObject$a(argument)) return argument;
288
+ throw new $TypeError$b($String$4(argument) + ' is not an object');
289
289
  };
290
290
 
291
291
  var objectDefineProperties = {};
292
292
 
293
- var fails$h = fails$l;
293
+ var fails$j = fails$n;
294
294
 
295
295
  // Detect IE8's incomplete defineProperty implementation
296
- var descriptors = !fails$h(function () {
296
+ var descriptors = !fails$j(function () {
297
297
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
298
298
  return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;
299
299
  });
300
300
 
301
- var DESCRIPTORS$9 = descriptors;
302
- var fails$g = fails$l;
301
+ var DESCRIPTORS$b = descriptors;
302
+ var fails$i = fails$n;
303
303
 
304
304
  // V8 ~ Chrome 36-
305
305
  // https://bugs.chromium.org/p/v8/issues/detail?id=3334
306
- var v8PrototypeDefineBug = DESCRIPTORS$9 && fails$g(function () {
306
+ var v8PrototypeDefineBug = DESCRIPTORS$b && fails$i(function () {
307
307
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
308
308
  return Object.defineProperty(function () { /* empty */ }, 'prototype', {
309
309
  value: 42,
@@ -313,23 +313,23 @@ var v8PrototypeDefineBug = DESCRIPTORS$9 && fails$g(function () {
313
313
 
314
314
  var objectDefineProperty = {};
315
315
 
316
- var global$a = global$g;
317
- var isObject$6 = isObject$8;
316
+ var global$b = global$g;
317
+ var isObject$9 = isObject$b;
318
318
 
319
- var document$1 = global$a.document;
319
+ var document$1 = global$b.document;
320
320
  // typeof document.createElement is 'object' in old IE
321
- var EXISTS$1 = isObject$6(document$1) && isObject$6(document$1.createElement);
321
+ var EXISTS$1 = isObject$9(document$1) && isObject$9(document$1.createElement);
322
322
 
323
323
  var documentCreateElement$2 = function (it) {
324
324
  return EXISTS$1 ? document$1.createElement(it) : {};
325
325
  };
326
326
 
327
- var DESCRIPTORS$8 = descriptors;
328
- var fails$f = fails$l;
327
+ var DESCRIPTORS$a = descriptors;
328
+ var fails$h = fails$n;
329
329
  var createElement = documentCreateElement$2;
330
330
 
331
331
  // Thanks to IE8 for its funny defineProperty
332
- var ie8DomDefine = !DESCRIPTORS$8 && !fails$f(function () {
332
+ var ie8DomDefine = !DESCRIPTORS$a && !fails$h(function () {
333
333
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
334
334
  return Object.defineProperty(createElement('div'), 'a', {
335
335
  get: function () { return 7; }
@@ -338,30 +338,30 @@ var ie8DomDefine = !DESCRIPTORS$8 && !fails$f(function () {
338
338
 
339
339
  var NATIVE_BIND$1 = functionBindNative;
340
340
 
341
- var call$c = Function.prototype.call;
341
+ var call$d = Function.prototype.call;
342
342
 
343
- var functionCall = NATIVE_BIND$1 ? call$c.bind(call$c) : function () {
344
- return call$c.apply(call$c, arguments);
343
+ var functionCall = NATIVE_BIND$1 ? call$d.bind(call$d) : function () {
344
+ return call$d.apply(call$d, arguments);
345
345
  };
346
346
 
347
- var global$9 = global$g;
348
- var isCallable$e = isCallable$g;
347
+ var global$a = global$g;
348
+ var isCallable$g = isCallable$i;
349
349
 
350
350
  var aFunction = function (argument) {
351
- return isCallable$e(argument) ? argument : undefined;
351
+ return isCallable$g(argument) ? argument : undefined;
352
352
  };
353
353
 
354
- var getBuiltIn$3 = function (namespace, method) {
355
- return arguments.length < 2 ? aFunction(global$9[namespace]) : global$9[namespace] && global$9[namespace][method];
354
+ var getBuiltIn$4 = function (namespace, method) {
355
+ return arguments.length < 2 ? aFunction(global$a[namespace]) : global$a[namespace] && global$a[namespace][method];
356
356
  };
357
357
 
358
- var uncurryThis$f = functionUncurryThis;
358
+ var uncurryThis$g = functionUncurryThis;
359
359
 
360
- var objectIsPrototypeOf = uncurryThis$f({}.isPrototypeOf);
360
+ var objectIsPrototypeOf = uncurryThis$g({}.isPrototypeOf);
361
361
 
362
- var getBuiltIn$2 = getBuiltIn$3;
363
- var isCallable$d = isCallable$g;
364
- var isPrototypeOf$1 = objectIsPrototypeOf;
362
+ var getBuiltIn$3 = getBuiltIn$4;
363
+ var isCallable$f = isCallable$i;
364
+ var isPrototypeOf$2 = objectIsPrototypeOf;
365
365
  var USE_SYMBOL_AS_UID = useSymbolAsUid;
366
366
 
367
367
  var $Object$2 = Object;
@@ -369,8 +369,8 @@ var $Object$2 = Object;
369
369
  var isSymbol$2 = USE_SYMBOL_AS_UID ? function (it) {
370
370
  return typeof it == 'symbol';
371
371
  } : function (it) {
372
- var $Symbol = getBuiltIn$2('Symbol');
373
- return isCallable$d($Symbol) && isPrototypeOf$1($Symbol.prototype, $Object$2(it));
372
+ var $Symbol = getBuiltIn$3('Symbol');
373
+ return isCallable$f($Symbol) && isPrototypeOf$2($Symbol.prototype, $Object$2(it));
374
374
  };
375
375
 
376
376
  var $String$3 = String;
@@ -383,15 +383,15 @@ var tryToString$2 = function (argument) {
383
383
  }
384
384
  };
385
385
 
386
- var isCallable$c = isCallable$g;
386
+ var isCallable$e = isCallable$i;
387
387
  var tryToString$1 = tryToString$2;
388
388
 
389
- var $TypeError$8 = TypeError;
389
+ var $TypeError$a = TypeError;
390
390
 
391
391
  // `Assert: IsCallable(argument) is true`
392
392
  var aCallable$4 = function (argument) {
393
- if (isCallable$c(argument)) return argument;
394
- throw new $TypeError$8(tryToString$1(argument) + ' is not a function');
393
+ if (isCallable$e(argument)) return argument;
394
+ throw new $TypeError$a(tryToString$1(argument) + ' is not a function');
395
395
  };
396
396
 
397
397
  var aCallable$3 = aCallable$4;
@@ -404,43 +404,43 @@ var getMethod$3 = function (V, P) {
404
404
  return isNullOrUndefined$2(func) ? undefined : aCallable$3(func);
405
405
  };
406
406
 
407
- var call$b = functionCall;
408
- var isCallable$b = isCallable$g;
409
- var isObject$5 = isObject$8;
407
+ var call$c = functionCall;
408
+ var isCallable$d = isCallable$i;
409
+ var isObject$8 = isObject$b;
410
410
 
411
- var $TypeError$7 = TypeError;
411
+ var $TypeError$9 = TypeError;
412
412
 
413
413
  // `OrdinaryToPrimitive` abstract operation
414
414
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
415
415
  var ordinaryToPrimitive$1 = function (input, pref) {
416
416
  var fn, val;
417
- if (pref === 'string' && isCallable$b(fn = input.toString) && !isObject$5(val = call$b(fn, input))) return val;
418
- if (isCallable$b(fn = input.valueOf) && !isObject$5(val = call$b(fn, input))) return val;
419
- if (pref !== 'string' && isCallable$b(fn = input.toString) && !isObject$5(val = call$b(fn, input))) return val;
420
- throw new $TypeError$7("Can't convert object to primitive value");
417
+ if (pref === 'string' && isCallable$d(fn = input.toString) && !isObject$8(val = call$c(fn, input))) return val;
418
+ if (isCallable$d(fn = input.valueOf) && !isObject$8(val = call$c(fn, input))) return val;
419
+ if (pref !== 'string' && isCallable$d(fn = input.toString) && !isObject$8(val = call$c(fn, input))) return val;
420
+ throw new $TypeError$9("Can't convert object to primitive value");
421
421
  };
422
422
 
423
- var call$a = functionCall;
424
- var isObject$4 = isObject$8;
423
+ var call$b = functionCall;
424
+ var isObject$7 = isObject$b;
425
425
  var isSymbol$1 = isSymbol$2;
426
426
  var getMethod$2 = getMethod$3;
427
427
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
428
428
  var wellKnownSymbol$b = wellKnownSymbol$c;
429
429
 
430
- var $TypeError$6 = TypeError;
430
+ var $TypeError$8 = TypeError;
431
431
  var TO_PRIMITIVE = wellKnownSymbol$b('toPrimitive');
432
432
 
433
433
  // `ToPrimitive` abstract operation
434
434
  // https://tc39.es/ecma262/#sec-toprimitive
435
435
  var toPrimitive$1 = function (input, pref) {
436
- if (!isObject$4(input) || isSymbol$1(input)) return input;
436
+ if (!isObject$7(input) || isSymbol$1(input)) return input;
437
437
  var exoticToPrim = getMethod$2(input, TO_PRIMITIVE);
438
438
  var result;
439
439
  if (exoticToPrim) {
440
440
  if (pref === undefined) pref = 'default';
441
- result = call$a(exoticToPrim, input, pref);
442
- if (!isObject$4(result) || isSymbol$1(result)) return result;
443
- throw new $TypeError$6("Can't convert object to primitive value");
441
+ result = call$b(exoticToPrim, input, pref);
442
+ if (!isObject$7(result) || isSymbol$1(result)) return result;
443
+ throw new $TypeError$8("Can't convert object to primitive value");
444
444
  }
445
445
  if (pref === undefined) pref = 'number';
446
446
  return ordinaryToPrimitive(input, pref);
@@ -456,13 +456,13 @@ var toPropertyKey$2 = function (argument) {
456
456
  return isSymbol(key) ? key : key + '';
457
457
  };
458
458
 
459
- var DESCRIPTORS$7 = descriptors;
459
+ var DESCRIPTORS$9 = descriptors;
460
460
  var IE8_DOM_DEFINE$1 = ie8DomDefine;
461
461
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
462
462
  var anObject$9 = anObject$a;
463
463
  var toPropertyKey$1 = toPropertyKey$2;
464
464
 
465
- var $TypeError$5 = TypeError;
465
+ var $TypeError$7 = TypeError;
466
466
  // eslint-disable-next-line es/no-object-defineproperty -- safe
467
467
  var $defineProperty = Object.defineProperty;
468
468
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -473,7 +473,7 @@ var WRITABLE = 'writable';
473
473
 
474
474
  // `Object.defineProperty` method
475
475
  // https://tc39.es/ecma262/#sec-object.defineproperty
476
- objectDefineProperty.f = DESCRIPTORS$7 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
476
+ objectDefineProperty.f = DESCRIPTORS$9 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
477
477
  anObject$9(O);
478
478
  P = toPropertyKey$1(P);
479
479
  anObject$9(Attributes);
@@ -495,7 +495,7 @@ objectDefineProperty.f = DESCRIPTORS$7 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
495
495
  if (IE8_DOM_DEFINE$1) try {
496
496
  return $defineProperty(O, P, Attributes);
497
497
  } catch (error) { /* empty */ }
498
- if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$5('Accessors not supported');
498
+ if ('get' in Attributes || 'set' in Attributes) throw new $TypeError$7('Accessors not supported');
499
499
  if ('value' in Attributes) O[P] = Attributes.value;
500
500
  return O;
501
501
  };
@@ -549,19 +549,20 @@ var toLength$2 = toLength$3;
549
549
 
550
550
  // `LengthOfArrayLike` abstract operation
551
551
  // https://tc39.es/ecma262/#sec-lengthofarraylike
552
- var lengthOfArrayLike$3 = function (obj) {
552
+ var lengthOfArrayLike$4 = function (obj) {
553
553
  return toLength$2(obj.length);
554
554
  };
555
555
 
556
556
  var toIndexedObject$4 = toIndexedObject$5;
557
557
  var toAbsoluteIndex = toAbsoluteIndex$1;
558
- var lengthOfArrayLike$2 = lengthOfArrayLike$3;
558
+ var lengthOfArrayLike$3 = lengthOfArrayLike$4;
559
559
 
560
560
  // `Array.prototype.{ indexOf, includes }` methods implementation
561
561
  var createMethod$3 = function (IS_INCLUDES) {
562
562
  return function ($this, el, fromIndex) {
563
563
  var O = toIndexedObject$4($this);
564
- var length = lengthOfArrayLike$2(O);
564
+ var length = lengthOfArrayLike$3(O);
565
+ if (length === 0) return !IS_INCLUDES && -1;
565
566
  var index = toAbsoluteIndex(fromIndex, length);
566
567
  var value;
567
568
  // Array#includes uses SameValueZero equality algorithm
@@ -588,22 +589,22 @@ var arrayIncludes = {
588
589
 
589
590
  var hiddenKeys$4 = {};
590
591
 
591
- var uncurryThis$e = functionUncurryThis;
592
- var hasOwn$8 = hasOwnProperty_1;
592
+ var uncurryThis$f = functionUncurryThis;
593
+ var hasOwn$9 = hasOwnProperty_1;
593
594
  var toIndexedObject$3 = toIndexedObject$5;
594
595
  var indexOf$1 = arrayIncludes.indexOf;
595
596
  var hiddenKeys$3 = hiddenKeys$4;
596
597
 
597
- var push$2 = uncurryThis$e([].push);
598
+ var push$2 = uncurryThis$f([].push);
598
599
 
599
600
  var objectKeysInternal = function (object, names) {
600
601
  var O = toIndexedObject$3(object);
601
602
  var i = 0;
602
603
  var result = [];
603
604
  var key;
604
- for (key in O) !hasOwn$8(hiddenKeys$3, key) && hasOwn$8(O, key) && push$2(result, key);
605
+ for (key in O) !hasOwn$9(hiddenKeys$3, key) && hasOwn$9(O, key) && push$2(result, key);
605
606
  // Don't enum bug & hidden keys
606
- while (names.length > i) if (hasOwn$8(O, key = names[i++])) {
607
+ while (names.length > i) if (hasOwn$9(O, key = names[i++])) {
607
608
  ~indexOf$1(result, key) || push$2(result, key);
608
609
  }
609
610
  return result;
@@ -630,7 +631,7 @@ var objectKeys$2 = Object.keys || function keys(O) {
630
631
  return internalObjectKeys$1(O, enumBugKeys$2);
631
632
  };
632
633
 
633
- var DESCRIPTORS$6 = descriptors;
634
+ var DESCRIPTORS$8 = descriptors;
634
635
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
635
636
  var definePropertyModule$3 = objectDefineProperty;
636
637
  var anObject$8 = anObject$a;
@@ -640,7 +641,7 @@ var objectKeys$1 = objectKeys$2;
640
641
  // `Object.defineProperties` method
641
642
  // https://tc39.es/ecma262/#sec-object.defineproperties
642
643
  // eslint-disable-next-line es/no-object-defineproperties -- safe
643
- objectDefineProperties.f = DESCRIPTORS$6 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
644
+ objectDefineProperties.f = DESCRIPTORS$8 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
644
645
  anObject$8(O);
645
646
  var props = toIndexedObject$2(Properties);
646
647
  var keys = objectKeys$1(Properties);
@@ -651,11 +652,11 @@ objectDefineProperties.f = DESCRIPTORS$6 && !V8_PROTOTYPE_DEFINE_BUG ? Object.de
651
652
  return O;
652
653
  };
653
654
 
654
- var getBuiltIn$1 = getBuiltIn$3;
655
+ var getBuiltIn$2 = getBuiltIn$4;
655
656
 
656
- var html$1 = getBuiltIn$1('document', 'documentElement');
657
+ var html$1 = getBuiltIn$2('document', 'documentElement');
657
658
 
658
- var shared$2 = shared$4.exports;
659
+ var shared$2 = shared$4;
659
660
  var uid = uid$2;
660
661
 
661
662
  var keys = shared$2('keys');
@@ -750,7 +751,7 @@ var objectCreate = Object.create || function create(O, Properties) {
750
751
 
751
752
  var wellKnownSymbol$a = wellKnownSymbol$c;
752
753
  var create$2 = objectCreate;
753
- var defineProperty$4 = objectDefineProperty.f;
754
+ var defineProperty$5 = objectDefineProperty.f;
754
755
 
755
756
  var UNSCOPABLES = wellKnownSymbol$a('unscopables');
756
757
  var ArrayPrototype = Array.prototype;
@@ -758,7 +759,7 @@ var ArrayPrototype = Array.prototype;
758
759
  // Array.prototype[@@unscopables]
759
760
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
760
761
  if (ArrayPrototype[UNSCOPABLES] === undefined) {
761
- defineProperty$4(ArrayPrototype, UNSCOPABLES, {
762
+ defineProperty$5(ArrayPrototype, UNSCOPABLES, {
762
763
  configurable: true,
763
764
  value: create$2(null)
764
765
  });
@@ -771,14 +772,14 @@ var addToUnscopables$2 = function (key) {
771
772
 
772
773
  var iterators = {};
773
774
 
774
- var global$8 = global$g;
775
- var isCallable$a = isCallable$g;
775
+ var global$9 = global$g;
776
+ var isCallable$c = isCallable$i;
776
777
 
777
- var WeakMap$1 = global$8.WeakMap;
778
+ var WeakMap$1 = global$9.WeakMap;
778
779
 
779
- var weakMapBasicDetection = isCallable$a(WeakMap$1) && /native code/.test(String(WeakMap$1));
780
+ var weakMapBasicDetection = isCallable$c(WeakMap$1) && /native code/.test(String(WeakMap$1));
780
781
 
781
- var createPropertyDescriptor$3 = function (bitmap, value) {
782
+ var createPropertyDescriptor$4 = function (bitmap, value) {
782
783
  return {
783
784
  enumerable: !(bitmap & 1),
784
785
  configurable: !(bitmap & 2),
@@ -787,29 +788,29 @@ var createPropertyDescriptor$3 = function (bitmap, value) {
787
788
  };
788
789
  };
789
790
 
790
- var DESCRIPTORS$5 = descriptors;
791
+ var DESCRIPTORS$7 = descriptors;
791
792
  var definePropertyModule$2 = objectDefineProperty;
792
- var createPropertyDescriptor$2 = createPropertyDescriptor$3;
793
+ var createPropertyDescriptor$3 = createPropertyDescriptor$4;
793
794
 
794
- var createNonEnumerableProperty$5 = DESCRIPTORS$5 ? function (object, key, value) {
795
- return definePropertyModule$2.f(object, key, createPropertyDescriptor$2(1, value));
795
+ var createNonEnumerableProperty$8 = DESCRIPTORS$7 ? function (object, key, value) {
796
+ return definePropertyModule$2.f(object, key, createPropertyDescriptor$3(1, value));
796
797
  } : function (object, key, value) {
797
798
  object[key] = value;
798
799
  return object;
799
800
  };
800
801
 
801
802
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
802
- var global$7 = global$g;
803
- var isObject$3 = isObject$8;
804
- var createNonEnumerableProperty$4 = createNonEnumerableProperty$5;
805
- var hasOwn$7 = hasOwnProperty_1;
806
- var shared$1 = sharedStore;
803
+ var global$8 = global$g;
804
+ var isObject$6 = isObject$b;
805
+ var createNonEnumerableProperty$7 = createNonEnumerableProperty$8;
806
+ var hasOwn$8 = hasOwnProperty_1;
807
+ var shared$1 = sharedStore.exports;
807
808
  var sharedKey$1 = sharedKey$3;
808
809
  var hiddenKeys$1 = hiddenKeys$4;
809
810
 
810
811
  var OBJECT_ALREADY_INITIALIZED = 'Object already initialized';
811
- var TypeError$1 = global$7.TypeError;
812
- var WeakMap = global$7.WeakMap;
812
+ var TypeError$1 = global$8.TypeError;
813
+ var WeakMap = global$8.WeakMap;
813
814
  var set, get, has;
814
815
 
815
816
  var enforce = function (it) {
@@ -819,7 +820,7 @@ var enforce = function (it) {
819
820
  var getterFor = function (TYPE) {
820
821
  return function (it) {
821
822
  var state;
822
- if (!isObject$3(it) || (state = get(it)).type !== TYPE) {
823
+ if (!isObject$6(it) || (state = get(it)).type !== TYPE) {
823
824
  throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required');
824
825
  } return state;
825
826
  };
@@ -848,16 +849,16 @@ if (NATIVE_WEAK_MAP || shared$1.state) {
848
849
  var STATE = sharedKey$1('state');
849
850
  hiddenKeys$1[STATE] = true;
850
851
  set = function (it, metadata) {
851
- if (hasOwn$7(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
852
+ if (hasOwn$8(it, STATE)) throw new TypeError$1(OBJECT_ALREADY_INITIALIZED);
852
853
  metadata.facade = it;
853
- createNonEnumerableProperty$4(it, STATE, metadata);
854
+ createNonEnumerableProperty$7(it, STATE, metadata);
854
855
  return metadata;
855
856
  };
856
857
  get = function (it) {
857
- return hasOwn$7(it, STATE) ? it[STATE] : {};
858
+ return hasOwn$8(it, STATE) ? it[STATE] : {};
858
859
  };
859
860
  has = function (it) {
860
- return hasOwn$7(it, STATE);
861
+ return hasOwn$8(it, STATE);
861
862
  };
862
863
  }
863
864
 
@@ -875,25 +876,25 @@ var objectPropertyIsEnumerable = {};
875
876
 
876
877
  var $propertyIsEnumerable = {}.propertyIsEnumerable;
877
878
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
878
- var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;
879
+ var getOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;
879
880
 
880
881
  // Nashorn ~ JDK8 bug
881
- var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
882
+ var NASHORN_BUG = getOwnPropertyDescriptor$2 && !$propertyIsEnumerable.call({ 1: 2 }, 1);
882
883
 
883
884
  // `Object.prototype.propertyIsEnumerable` method implementation
884
885
  // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable
885
886
  objectPropertyIsEnumerable.f = NASHORN_BUG ? function propertyIsEnumerable(V) {
886
- var descriptor = getOwnPropertyDescriptor$1(this, V);
887
+ var descriptor = getOwnPropertyDescriptor$2(this, V);
887
888
  return !!descriptor && descriptor.enumerable;
888
889
  } : $propertyIsEnumerable;
889
890
 
890
- var DESCRIPTORS$4 = descriptors;
891
- var call$9 = functionCall;
891
+ var DESCRIPTORS$6 = descriptors;
892
+ var call$a = functionCall;
892
893
  var propertyIsEnumerableModule$1 = objectPropertyIsEnumerable;
893
- var createPropertyDescriptor$1 = createPropertyDescriptor$3;
894
+ var createPropertyDescriptor$2 = createPropertyDescriptor$4;
894
895
  var toIndexedObject$1 = toIndexedObject$5;
895
896
  var toPropertyKey = toPropertyKey$2;
896
- var hasOwn$6 = hasOwnProperty_1;
897
+ var hasOwn$7 = hasOwnProperty_1;
897
898
  var IE8_DOM_DEFINE = ie8DomDefine;
898
899
 
899
900
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
@@ -901,28 +902,28 @@ var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
901
902
 
902
903
  // `Object.getOwnPropertyDescriptor` method
903
904
  // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor
904
- objectGetOwnPropertyDescriptor.f = DESCRIPTORS$4 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
905
+ objectGetOwnPropertyDescriptor.f = DESCRIPTORS$6 ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {
905
906
  O = toIndexedObject$1(O);
906
907
  P = toPropertyKey(P);
907
908
  if (IE8_DOM_DEFINE) try {
908
909
  return $getOwnPropertyDescriptor(O, P);
909
910
  } catch (error) { /* empty */ }
910
- if (hasOwn$6(O, P)) return createPropertyDescriptor$1(!call$9(propertyIsEnumerableModule$1.f, O, P), O[P]);
911
+ if (hasOwn$7(O, P)) return createPropertyDescriptor$2(!call$a(propertyIsEnumerableModule$1.f, O, P), O[P]);
911
912
  };
912
913
 
913
914
  var makeBuiltIn$2 = {exports: {}};
914
915
 
915
- var DESCRIPTORS$3 = descriptors;
916
- var hasOwn$5 = hasOwnProperty_1;
916
+ var DESCRIPTORS$5 = descriptors;
917
+ var hasOwn$6 = hasOwnProperty_1;
917
918
 
918
919
  var FunctionPrototype$1 = Function.prototype;
919
920
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
920
- var getDescriptor = DESCRIPTORS$3 && Object.getOwnPropertyDescriptor;
921
+ var getDescriptor = DESCRIPTORS$5 && Object.getOwnPropertyDescriptor;
921
922
 
922
- var EXISTS = hasOwn$5(FunctionPrototype$1, 'name');
923
+ var EXISTS = hasOwn$6(FunctionPrototype$1, 'name');
923
924
  // additional protection from minified / mangled / dropped function names
924
925
  var PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';
925
- var CONFIGURABLE = EXISTS && (!DESCRIPTORS$3 || (DESCRIPTORS$3 && getDescriptor(FunctionPrototype$1, 'name').configurable));
926
+ var CONFIGURABLE = EXISTS && (!DESCRIPTORS$5 || (DESCRIPTORS$5 && getDescriptor(FunctionPrototype$1, 'name').configurable));
926
927
 
927
928
  var functionName = {
928
929
  EXISTS: EXISTS,
@@ -930,14 +931,14 @@ var functionName = {
930
931
  CONFIGURABLE: CONFIGURABLE
931
932
  };
932
933
 
933
- var uncurryThis$d = functionUncurryThis;
934
- var isCallable$9 = isCallable$g;
935
- var store = sharedStore;
934
+ var uncurryThis$e = functionUncurryThis;
935
+ var isCallable$b = isCallable$i;
936
+ var store = sharedStore.exports;
936
937
 
937
- var functionToString = uncurryThis$d(Function.toString);
938
+ var functionToString = uncurryThis$e(Function.toString);
938
939
 
939
940
  // this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper
940
- if (!isCallable$9(store.inspectSource)) {
941
+ if (!isCallable$b(store.inspectSource)) {
941
942
  store.inspectSource = function (it) {
942
943
  return functionToString(it);
943
944
  };
@@ -945,11 +946,11 @@ if (!isCallable$9(store.inspectSource)) {
945
946
 
946
947
  var inspectSource$1 = store.inspectSource;
947
948
 
948
- var uncurryThis$c = functionUncurryThis;
949
- var fails$e = fails$l;
950
- var isCallable$8 = isCallable$g;
951
- var hasOwn$4 = hasOwnProperty_1;
952
- var DESCRIPTORS$2 = descriptors;
949
+ var uncurryThis$d = functionUncurryThis;
950
+ var fails$g = fails$n;
951
+ var isCallable$a = isCallable$i;
952
+ var hasOwn$5 = hasOwnProperty_1;
953
+ var DESCRIPTORS$4 = descriptors;
953
954
  var CONFIGURABLE_FUNCTION_NAME$1 = functionName.CONFIGURABLE;
954
955
  var inspectSource = inspectSource$1;
955
956
  var InternalStateModule$1 = internalState;
@@ -958,38 +959,38 @@ var enforceInternalState = InternalStateModule$1.enforce;
958
959
  var getInternalState$2 = InternalStateModule$1.get;
959
960
  var $String$2 = String;
960
961
  // eslint-disable-next-line es/no-object-defineproperty -- safe
961
- var defineProperty$3 = Object.defineProperty;
962
- var stringSlice$4 = uncurryThis$c(''.slice);
963
- var replace$3 = uncurryThis$c(''.replace);
964
- var join = uncurryThis$c([].join);
962
+ var defineProperty$4 = Object.defineProperty;
963
+ var stringSlice$4 = uncurryThis$d(''.slice);
964
+ var replace$4 = uncurryThis$d(''.replace);
965
+ var join = uncurryThis$d([].join);
965
966
 
966
- var CONFIGURABLE_LENGTH = DESCRIPTORS$2 && !fails$e(function () {
967
- return defineProperty$3(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
967
+ var CONFIGURABLE_LENGTH = DESCRIPTORS$4 && !fails$g(function () {
968
+ return defineProperty$4(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;
968
969
  });
969
970
 
970
971
  var TEMPLATE = String(String).split('String');
971
972
 
972
973
  var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
973
974
  if (stringSlice$4($String$2(name), 0, 7) === 'Symbol(') {
974
- name = '[' + replace$3($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
975
+ name = '[' + replace$4($String$2(name), /^Symbol\(([^)]*)\).*$/, '$1') + ']';
975
976
  }
976
977
  if (options && options.getter) name = 'get ' + name;
977
978
  if (options && options.setter) name = 'set ' + name;
978
- if (!hasOwn$4(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
979
- if (DESCRIPTORS$2) defineProperty$3(value, 'name', { value: name, configurable: true });
979
+ if (!hasOwn$5(value, 'name') || (CONFIGURABLE_FUNCTION_NAME$1 && value.name !== name)) {
980
+ if (DESCRIPTORS$4) defineProperty$4(value, 'name', { value: name, configurable: true });
980
981
  else value.name = name;
981
982
  }
982
- if (CONFIGURABLE_LENGTH && options && hasOwn$4(options, 'arity') && value.length !== options.arity) {
983
- defineProperty$3(value, 'length', { value: options.arity });
983
+ if (CONFIGURABLE_LENGTH && options && hasOwn$5(options, 'arity') && value.length !== options.arity) {
984
+ defineProperty$4(value, 'length', { value: options.arity });
984
985
  }
985
986
  try {
986
- if (options && hasOwn$4(options, 'constructor') && options.constructor) {
987
- if (DESCRIPTORS$2) defineProperty$3(value, 'prototype', { writable: false });
987
+ if (options && hasOwn$5(options, 'constructor') && options.constructor) {
988
+ if (DESCRIPTORS$4) defineProperty$4(value, 'prototype', { writable: false });
988
989
  // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable
989
990
  } else if (value.prototype) value.prototype = undefined;
990
991
  } catch (error) { /* empty */ }
991
992
  var state = enforceInternalState(value);
992
- if (!hasOwn$4(state, 'source')) {
993
+ if (!hasOwn$5(state, 'source')) {
993
994
  state.source = join(TEMPLATE, typeof name == 'string' ? name : '');
994
995
  } return value;
995
996
  };
@@ -997,10 +998,10 @@ var makeBuiltIn$1 = makeBuiltIn$2.exports = function (value, name, options) {
997
998
  // add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative
998
999
  // eslint-disable-next-line no-extend-native -- required
999
1000
  Function.prototype.toString = makeBuiltIn$1(function toString() {
1000
- return isCallable$8(this) && getInternalState$2(this).source || inspectSource(this);
1001
+ return isCallable$a(this) && getInternalState$2(this).source || inspectSource(this);
1001
1002
  }, 'toString');
1002
1003
 
1003
- var isCallable$7 = isCallable$g;
1004
+ var isCallable$9 = isCallable$i;
1004
1005
  var definePropertyModule$1 = objectDefineProperty;
1005
1006
  var makeBuiltIn = makeBuiltIn$2.exports;
1006
1007
  var defineGlobalProperty$1 = defineGlobalProperty$3;
@@ -1009,7 +1010,7 @@ var defineBuiltIn$5 = function (O, key, value, options) {
1009
1010
  if (!options) options = {};
1010
1011
  var simple = options.enumerable;
1011
1012
  var name = options.name !== undefined ? options.name : key;
1012
- if (isCallable$7(value)) makeBuiltIn(value, name, options);
1013
+ if (isCallable$9(value)) makeBuiltIn(value, name, options);
1013
1014
  if (options.global) {
1014
1015
  if (simple) O[key] = value;
1015
1016
  else defineGlobalProperty$1(key, value);
@@ -1047,40 +1048,40 @@ var objectGetOwnPropertySymbols = {};
1047
1048
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe
1048
1049
  objectGetOwnPropertySymbols.f = Object.getOwnPropertySymbols;
1049
1050
 
1050
- var getBuiltIn = getBuiltIn$3;
1051
- var uncurryThis$b = functionUncurryThis;
1051
+ var getBuiltIn$1 = getBuiltIn$4;
1052
+ var uncurryThis$c = functionUncurryThis;
1052
1053
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
1053
1054
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
1054
1055
  var anObject$6 = anObject$a;
1055
1056
 
1056
- var concat$2 = uncurryThis$b([].concat);
1057
+ var concat$2 = uncurryThis$c([].concat);
1057
1058
 
1058
1059
  // all object keys, includes non-enumerable and symbols
1059
- var ownKeys$1 = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {
1060
+ var ownKeys$1 = getBuiltIn$1('Reflect', 'ownKeys') || function ownKeys(it) {
1060
1061
  var keys = getOwnPropertyNamesModule.f(anObject$6(it));
1061
1062
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
1062
1063
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
1063
1064
  };
1064
1065
 
1065
- var hasOwn$3 = hasOwnProperty_1;
1066
+ var hasOwn$4 = hasOwnProperty_1;
1066
1067
  var ownKeys = ownKeys$1;
1067
1068
  var getOwnPropertyDescriptorModule = objectGetOwnPropertyDescriptor;
1068
1069
  var definePropertyModule = objectDefineProperty;
1069
1070
 
1070
- var copyConstructorProperties$1 = function (target, source, exceptions) {
1071
+ var copyConstructorProperties$2 = function (target, source, exceptions) {
1071
1072
  var keys = ownKeys(source);
1072
1073
  var defineProperty = definePropertyModule.f;
1073
1074
  var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;
1074
1075
  for (var i = 0; i < keys.length; i++) {
1075
1076
  var key = keys[i];
1076
- if (!hasOwn$3(target, key) && !(exceptions && hasOwn$3(exceptions, key))) {
1077
+ if (!hasOwn$4(target, key) && !(exceptions && hasOwn$4(exceptions, key))) {
1077
1078
  defineProperty(target, key, getOwnPropertyDescriptor(source, key));
1078
1079
  }
1079
1080
  }
1080
1081
  };
1081
1082
 
1082
- var fails$d = fails$l;
1083
- var isCallable$6 = isCallable$g;
1083
+ var fails$f = fails$n;
1084
+ var isCallable$8 = isCallable$i;
1084
1085
 
1085
1086
  var replacement = /#|\.prototype\./;
1086
1087
 
@@ -1088,7 +1089,7 @@ var isForced$1 = function (feature, detection) {
1088
1089
  var value = data[normalize(feature)];
1089
1090
  return value === POLYFILL ? true
1090
1091
  : value === NATIVE ? false
1091
- : isCallable$6(detection) ? fails$d(detection)
1092
+ : isCallable$8(detection) ? fails$f(detection)
1092
1093
  : !!detection;
1093
1094
  };
1094
1095
 
@@ -1102,12 +1103,12 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
1102
1103
 
1103
1104
  var isForced_1 = isForced$1;
1104
1105
 
1105
- var global$6 = global$g;
1106
- var getOwnPropertyDescriptor = objectGetOwnPropertyDescriptor.f;
1107
- var createNonEnumerableProperty$3 = createNonEnumerableProperty$5;
1106
+ var global$7 = global$g;
1107
+ var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
1108
+ var createNonEnumerableProperty$6 = createNonEnumerableProperty$8;
1108
1109
  var defineBuiltIn$4 = defineBuiltIn$5;
1109
1110
  var defineGlobalProperty = defineGlobalProperty$3;
1110
- var copyConstructorProperties = copyConstructorProperties$1;
1111
+ var copyConstructorProperties$1 = copyConstructorProperties$2;
1111
1112
  var isForced = isForced_1;
1112
1113
 
1113
1114
  /*
@@ -1131,44 +1132,44 @@ var _export = function (options, source) {
1131
1132
  var STATIC = options.stat;
1132
1133
  var FORCED, target, key, targetProperty, sourceProperty, descriptor;
1133
1134
  if (GLOBAL) {
1134
- target = global$6;
1135
+ target = global$7;
1135
1136
  } else if (STATIC) {
1136
- target = global$6[TARGET] || defineGlobalProperty(TARGET, {});
1137
+ target = global$7[TARGET] || defineGlobalProperty(TARGET, {});
1137
1138
  } else {
1138
- target = global$6[TARGET] && global$6[TARGET].prototype;
1139
+ target = global$7[TARGET] && global$7[TARGET].prototype;
1139
1140
  }
1140
1141
  if (target) for (key in source) {
1141
1142
  sourceProperty = source[key];
1142
1143
  if (options.dontCallGetSet) {
1143
- descriptor = getOwnPropertyDescriptor(target, key);
1144
+ descriptor = getOwnPropertyDescriptor$1(target, key);
1144
1145
  targetProperty = descriptor && descriptor.value;
1145
1146
  } else targetProperty = target[key];
1146
1147
  FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);
1147
1148
  // contained in target
1148
1149
  if (!FORCED && targetProperty !== undefined) {
1149
1150
  if (typeof sourceProperty == typeof targetProperty) continue;
1150
- copyConstructorProperties(sourceProperty, targetProperty);
1151
+ copyConstructorProperties$1(sourceProperty, targetProperty);
1151
1152
  }
1152
1153
  // add a flag to not completely full polyfills
1153
1154
  if (options.sham || (targetProperty && targetProperty.sham)) {
1154
- createNonEnumerableProperty$3(sourceProperty, 'sham', true);
1155
+ createNonEnumerableProperty$6(sourceProperty, 'sham', true);
1155
1156
  }
1156
1157
  defineBuiltIn$4(target, key, sourceProperty, options);
1157
1158
  }
1158
1159
  };
1159
1160
 
1160
- var fails$c = fails$l;
1161
+ var fails$e = fails$n;
1161
1162
 
1162
- var correctPrototypeGetter = !fails$c(function () {
1163
+ var correctPrototypeGetter = !fails$e(function () {
1163
1164
  function F() { /* empty */ }
1164
1165
  F.prototype.constructor = null;
1165
1166
  // eslint-disable-next-line es/no-object-getprototypeof -- required for testing
1166
1167
  return Object.getPrototypeOf(new F()) !== F.prototype;
1167
1168
  });
1168
1169
 
1169
- var hasOwn$2 = hasOwnProperty_1;
1170
- var isCallable$5 = isCallable$g;
1171
- var toObject$4 = toObject$6;
1170
+ var hasOwn$3 = hasOwnProperty_1;
1171
+ var isCallable$7 = isCallable$i;
1172
+ var toObject$5 = toObject$7;
1172
1173
  var sharedKey = sharedKey$3;
1173
1174
  var CORRECT_PROTOTYPE_GETTER = correctPrototypeGetter;
1174
1175
 
@@ -1180,17 +1181,17 @@ var ObjectPrototype = $Object$1.prototype;
1180
1181
  // https://tc39.es/ecma262/#sec-object.getprototypeof
1181
1182
  // eslint-disable-next-line es/no-object-getprototypeof -- safe
1182
1183
  var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object$1.getPrototypeOf : function (O) {
1183
- var object = toObject$4(O);
1184
- if (hasOwn$2(object, IE_PROTO)) return object[IE_PROTO];
1184
+ var object = toObject$5(O);
1185
+ if (hasOwn$3(object, IE_PROTO)) return object[IE_PROTO];
1185
1186
  var constructor = object.constructor;
1186
- if (isCallable$5(constructor) && object instanceof constructor) {
1187
+ if (isCallable$7(constructor) && object instanceof constructor) {
1187
1188
  return constructor.prototype;
1188
1189
  } return object instanceof $Object$1 ? ObjectPrototype : null;
1189
1190
  };
1190
1191
 
1191
- var fails$b = fails$l;
1192
- var isCallable$4 = isCallable$g;
1193
- var isObject$2 = isObject$8;
1192
+ var fails$d = fails$n;
1193
+ var isCallable$6 = isCallable$i;
1194
+ var isObject$5 = isObject$b;
1194
1195
  var getPrototypeOf$1 = objectGetPrototypeOf;
1195
1196
  var defineBuiltIn$3 = defineBuiltIn$5;
1196
1197
  var wellKnownSymbol$9 = wellKnownSymbol$c;
@@ -1213,7 +1214,7 @@ if ([].keys) {
1213
1214
  }
1214
1215
  }
1215
1216
 
1216
- var NEW_ITERATOR_PROTOTYPE = !isObject$2(IteratorPrototype$2) || fails$b(function () {
1217
+ var NEW_ITERATOR_PROTOTYPE = !isObject$5(IteratorPrototype$2) || fails$d(function () {
1217
1218
  var test = {};
1218
1219
  // FF44- legacy iterators case
1219
1220
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -1223,7 +1224,7 @@ if (NEW_ITERATOR_PROTOTYPE) IteratorPrototype$2 = {};
1223
1224
 
1224
1225
  // `%IteratorPrototype%[@@iterator]()` method
1225
1226
  // https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator
1226
- if (!isCallable$4(IteratorPrototype$2[ITERATOR$2])) {
1227
+ if (!isCallable$6(IteratorPrototype$2[ITERATOR$2])) {
1227
1228
  defineBuiltIn$3(IteratorPrototype$2, ITERATOR$2, function () {
1228
1229
  return this;
1229
1230
  });
@@ -1234,22 +1235,22 @@ var iteratorsCore = {
1234
1235
  BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS$1
1235
1236
  };
1236
1237
 
1237
- var defineProperty$2 = objectDefineProperty.f;
1238
- var hasOwn$1 = hasOwnProperty_1;
1238
+ var defineProperty$3 = objectDefineProperty.f;
1239
+ var hasOwn$2 = hasOwnProperty_1;
1239
1240
  var wellKnownSymbol$8 = wellKnownSymbol$c;
1240
1241
 
1241
1242
  var TO_STRING_TAG$2 = wellKnownSymbol$8('toStringTag');
1242
1243
 
1243
1244
  var setToStringTag$3 = function (target, TAG, STATIC) {
1244
1245
  if (target && !STATIC) target = target.prototype;
1245
- if (target && !hasOwn$1(target, TO_STRING_TAG$2)) {
1246
- defineProperty$2(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1246
+ if (target && !hasOwn$2(target, TO_STRING_TAG$2)) {
1247
+ defineProperty$3(target, TO_STRING_TAG$2, { configurable: true, value: TAG });
1247
1248
  }
1248
1249
  };
1249
1250
 
1250
1251
  var IteratorPrototype$1 = iteratorsCore.IteratorPrototype;
1251
1252
  var create$1 = objectCreate;
1252
- var createPropertyDescriptor = createPropertyDescriptor$3;
1253
+ var createPropertyDescriptor$1 = createPropertyDescriptor$4;
1253
1254
  var setToStringTag$2 = setToStringTag$3;
1254
1255
  var Iterators$2 = iterators;
1255
1256
 
@@ -1257,41 +1258,42 @@ var returnThis$1 = function () { return this; };
1257
1258
 
1258
1259
  var iteratorCreateConstructor = function (IteratorConstructor, NAME, next, ENUMERABLE_NEXT) {
1259
1260
  var TO_STRING_TAG = NAME + ' Iterator';
1260
- IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor(+!ENUMERABLE_NEXT, next) });
1261
+ IteratorConstructor.prototype = create$1(IteratorPrototype$1, { next: createPropertyDescriptor$1(+!ENUMERABLE_NEXT, next) });
1261
1262
  setToStringTag$2(IteratorConstructor, TO_STRING_TAG, false);
1262
1263
  Iterators$2[TO_STRING_TAG] = returnThis$1;
1263
1264
  return IteratorConstructor;
1264
1265
  };
1265
1266
 
1266
- var uncurryThis$a = functionUncurryThis;
1267
+ var uncurryThis$b = functionUncurryThis;
1267
1268
  var aCallable$2 = aCallable$4;
1268
1269
 
1269
1270
  var functionUncurryThisAccessor = function (object, key, method) {
1270
1271
  try {
1271
1272
  // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
1272
- return uncurryThis$a(aCallable$2(Object.getOwnPropertyDescriptor(object, key)[method]));
1273
+ return uncurryThis$b(aCallable$2(Object.getOwnPropertyDescriptor(object, key)[method]));
1273
1274
  } catch (error) { /* empty */ }
1274
1275
  };
1275
1276
 
1276
- var isObject$1 = isObject$8;
1277
+ var isObject$4 = isObject$b;
1277
1278
 
1278
1279
  var isPossiblePrototype$1 = function (argument) {
1279
- return isObject$1(argument) || argument === null;
1280
+ return isObject$4(argument) || argument === null;
1280
1281
  };
1281
1282
 
1282
1283
  var isPossiblePrototype = isPossiblePrototype$1;
1283
1284
 
1284
1285
  var $String$1 = String;
1285
- var $TypeError$4 = TypeError;
1286
+ var $TypeError$6 = TypeError;
1286
1287
 
1287
1288
  var aPossiblePrototype$1 = function (argument) {
1288
1289
  if (isPossiblePrototype(argument)) return argument;
1289
- throw new $TypeError$4("Can't set " + $String$1(argument) + ' as a prototype');
1290
+ throw new $TypeError$6("Can't set " + $String$1(argument) + ' as a prototype');
1290
1291
  };
1291
1292
 
1292
1293
  /* eslint-disable no-proto -- safe */
1293
1294
  var uncurryThisAccessor = functionUncurryThisAccessor;
1294
- var anObject$5 = anObject$a;
1295
+ var isObject$3 = isObject$b;
1296
+ var requireObjectCoercible$5 = requireObjectCoercible$8;
1295
1297
  var aPossiblePrototype = aPossiblePrototype$1;
1296
1298
 
1297
1299
  // `Object.setPrototypeOf` method
@@ -1308,23 +1310,24 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1308
1310
  CORRECT_SETTER = test instanceof Array;
1309
1311
  } catch (error) { /* empty */ }
1310
1312
  return function setPrototypeOf(O, proto) {
1311
- anObject$5(O);
1313
+ requireObjectCoercible$5(O);
1312
1314
  aPossiblePrototype(proto);
1315
+ if (!isObject$3(O)) return O;
1313
1316
  if (CORRECT_SETTER) setter(O, proto);
1314
1317
  else O.__proto__ = proto;
1315
1318
  return O;
1316
1319
  };
1317
1320
  }() : undefined);
1318
1321
 
1319
- var $$8 = _export;
1320
- var call$8 = functionCall;
1322
+ var $$b = _export;
1323
+ var call$9 = functionCall;
1321
1324
  var FunctionName = functionName;
1322
- var isCallable$3 = isCallable$g;
1325
+ var isCallable$5 = isCallable$i;
1323
1326
  var createIteratorConstructor = iteratorCreateConstructor;
1324
1327
  var getPrototypeOf = objectGetPrototypeOf;
1325
- var setPrototypeOf = objectSetPrototypeOf;
1328
+ var setPrototypeOf$2 = objectSetPrototypeOf;
1326
1329
  var setToStringTag$1 = setToStringTag$3;
1327
- var createNonEnumerableProperty$2 = createNonEnumerableProperty$5;
1330
+ var createNonEnumerableProperty$5 = createNonEnumerableProperty$8;
1328
1331
  var defineBuiltIn$2 = defineBuiltIn$5;
1329
1332
  var wellKnownSymbol$7 = wellKnownSymbol$c;
1330
1333
  var Iterators$1 = iterators;
@@ -1372,9 +1375,9 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1372
1375
  CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));
1373
1376
  if (CurrentIteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {
1374
1377
  if (getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {
1375
- if (setPrototypeOf) {
1376
- setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);
1377
- } else if (!isCallable$3(CurrentIteratorPrototype[ITERATOR$1])) {
1378
+ if (setPrototypeOf$2) {
1379
+ setPrototypeOf$2(CurrentIteratorPrototype, IteratorPrototype);
1380
+ } else if (!isCallable$5(CurrentIteratorPrototype[ITERATOR$1])) {
1378
1381
  defineBuiltIn$2(CurrentIteratorPrototype, ITERATOR$1, returnThis);
1379
1382
  }
1380
1383
  }
@@ -1386,10 +1389,10 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1386
1389
  // fix Array.prototype.{ values, @@iterator }.name in V8 / FF
1387
1390
  if (PROPER_FUNCTION_NAME$2 && DEFAULT === VALUES && nativeIterator && nativeIterator.name !== VALUES) {
1388
1391
  if (CONFIGURABLE_FUNCTION_NAME) {
1389
- createNonEnumerableProperty$2(IterablePrototype, 'name', VALUES);
1392
+ createNonEnumerableProperty$5(IterablePrototype, 'name', VALUES);
1390
1393
  } else {
1391
1394
  INCORRECT_VALUES_NAME = true;
1392
- defaultIterator = function values() { return call$8(nativeIterator, this); };
1395
+ defaultIterator = function values() { return call$9(nativeIterator, this); };
1393
1396
  }
1394
1397
  }
1395
1398
 
@@ -1404,7 +1407,7 @@ var iteratorDefine = function (Iterable, NAME, IteratorConstructor, next, DEFAUL
1404
1407
  if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {
1405
1408
  defineBuiltIn$2(IterablePrototype, KEY, methods[KEY]);
1406
1409
  }
1407
- } else $$8({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1410
+ } else $$b({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);
1408
1411
  }
1409
1412
 
1410
1413
  // define iterator
@@ -1426,10 +1429,10 @@ var toIndexedObject = toIndexedObject$5;
1426
1429
  var addToUnscopables$1 = addToUnscopables$2;
1427
1430
  var Iterators = iterators;
1428
1431
  var InternalStateModule = internalState;
1429
- var defineProperty$1 = objectDefineProperty.f;
1432
+ var defineProperty$2 = objectDefineProperty.f;
1430
1433
  var defineIterator = iteratorDefine;
1431
1434
  var createIterResultObject = createIterResultObject$1;
1432
- var DESCRIPTORS$1 = descriptors;
1435
+ var DESCRIPTORS$3 = descriptors;
1433
1436
 
1434
1437
  var ARRAY_ITERATOR = 'Array Iterator';
1435
1438
  var setInternalState = InternalStateModule.set;
@@ -1479,34 +1482,34 @@ addToUnscopables$1('values');
1479
1482
  addToUnscopables$1('entries');
1480
1483
 
1481
1484
  // V8 ~ Chrome 45- bug
1482
- if (DESCRIPTORS$1 && values.name !== 'values') try {
1483
- defineProperty$1(values, 'name', { value: 'values' });
1485
+ if (DESCRIPTORS$3 && values.name !== 'values') try {
1486
+ defineProperty$2(values, 'name', { value: 'values' });
1484
1487
  } catch (error) { /* empty */ }
1485
1488
 
1486
- var DESCRIPTORS = descriptors;
1487
- var uncurryThis$9 = functionUncurryThis;
1488
- var call$7 = functionCall;
1489
- var fails$a = fails$l;
1489
+ var DESCRIPTORS$2 = descriptors;
1490
+ var uncurryThis$a = functionUncurryThis;
1491
+ var call$8 = functionCall;
1492
+ var fails$c = fails$n;
1490
1493
  var objectKeys = objectKeys$2;
1491
1494
  var getOwnPropertySymbolsModule = objectGetOwnPropertySymbols;
1492
1495
  var propertyIsEnumerableModule = objectPropertyIsEnumerable;
1493
- var toObject$3 = toObject$6;
1496
+ var toObject$4 = toObject$7;
1494
1497
  var IndexedObject$1 = indexedObject;
1495
1498
 
1496
1499
  // eslint-disable-next-line es/no-object-assign -- safe
1497
1500
  var $assign = Object.assign;
1498
1501
  // eslint-disable-next-line es/no-object-defineproperty -- required for testing
1499
- var defineProperty = Object.defineProperty;
1500
- var concat$1 = uncurryThis$9([].concat);
1502
+ var defineProperty$1 = Object.defineProperty;
1503
+ var concat$1 = uncurryThis$a([].concat);
1501
1504
 
1502
1505
  // `Object.assign` method
1503
1506
  // https://tc39.es/ecma262/#sec-object.assign
1504
- var objectAssign = !$assign || fails$a(function () {
1507
+ var objectAssign = !$assign || fails$c(function () {
1505
1508
  // should have correct order of operations (Edge bug)
1506
- if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {
1509
+ if (DESCRIPTORS$2 && $assign({ b: 1 }, $assign(defineProperty$1({}, 'a', {
1507
1510
  enumerable: true,
1508
1511
  get: function () {
1509
- defineProperty(this, 'b', {
1512
+ defineProperty$1(this, 'b', {
1510
1513
  value: 3,
1511
1514
  enumerable: false
1512
1515
  });
@@ -1522,7 +1525,7 @@ var objectAssign = !$assign || fails$a(function () {
1522
1525
  alphabet.split('').forEach(function (chr) { B[chr] = chr; });
1523
1526
  return $assign({}, A)[symbol] !== 7 || objectKeys($assign({}, B)).join('') !== alphabet;
1524
1527
  }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`
1525
- var T = toObject$3(target);
1528
+ var T = toObject$4(target);
1526
1529
  var argumentsLength = arguments.length;
1527
1530
  var index = 1;
1528
1531
  var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;
@@ -1535,18 +1538,18 @@ var objectAssign = !$assign || fails$a(function () {
1535
1538
  var key;
1536
1539
  while (length > j) {
1537
1540
  key = keys[j++];
1538
- if (!DESCRIPTORS || call$7(propertyIsEnumerable, S, key)) T[key] = S[key];
1541
+ if (!DESCRIPTORS$2 || call$8(propertyIsEnumerable, S, key)) T[key] = S[key];
1539
1542
  }
1540
1543
  } return T;
1541
1544
  } : $assign;
1542
1545
 
1543
- var $$7 = _export;
1546
+ var $$a = _export;
1544
1547
  var assign = objectAssign;
1545
1548
 
1546
1549
  // `Object.assign` method
1547
1550
  // https://tc39.es/ecma262/#sec-object.assign
1548
1551
  // eslint-disable-next-line es/no-object-assign -- required for testing
1549
- $$7({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1552
+ $$a({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {
1550
1553
  assign: assign
1551
1554
  });
1552
1555
 
@@ -1594,11 +1597,11 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
1594
1597
 
1595
1598
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
1596
1599
 
1597
- var global$5 = global$g;
1600
+ var global$6 = global$g;
1598
1601
  var DOMIterables = domIterables;
1599
1602
  var DOMTokenListPrototype = domTokenListPrototype;
1600
1603
  var ArrayIteratorMethods = es_array_iterator;
1601
- var createNonEnumerableProperty$1 = createNonEnumerableProperty$5;
1604
+ var createNonEnumerableProperty$4 = createNonEnumerableProperty$8;
1602
1605
  var setToStringTag = setToStringTag$3;
1603
1606
  var wellKnownSymbol$6 = wellKnownSymbol$c;
1604
1607
 
@@ -1609,7 +1612,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
1609
1612
  if (CollectionPrototype) {
1610
1613
  // some Chrome versions have non-configurable methods on DOMTokenList
1611
1614
  if (CollectionPrototype[ITERATOR] !== ArrayValues) try {
1612
- createNonEnumerableProperty$1(CollectionPrototype, ITERATOR, ArrayValues);
1615
+ createNonEnumerableProperty$4(CollectionPrototype, ITERATOR, ArrayValues);
1613
1616
  } catch (error) {
1614
1617
  CollectionPrototype[ITERATOR] = ArrayValues;
1615
1618
  }
@@ -1617,7 +1620,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
1617
1620
  if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {
1618
1621
  // some Chrome versions have non-configurable methods on DOMTokenList
1619
1622
  if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {
1620
- createNonEnumerableProperty$1(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
1623
+ createNonEnumerableProperty$4(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);
1621
1624
  } catch (error) {
1622
1625
  CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];
1623
1626
  }
@@ -1626,7 +1629,7 @@ var handlePrototype = function (CollectionPrototype, COLLECTION_NAME) {
1626
1629
  };
1627
1630
 
1628
1631
  for (var COLLECTION_NAME in DOMIterables) {
1629
- handlePrototype(global$5[COLLECTION_NAME] && global$5[COLLECTION_NAME].prototype, COLLECTION_NAME);
1632
+ handlePrototype(global$6[COLLECTION_NAME] && global$6[COLLECTION_NAME].prototype, COLLECTION_NAME);
1630
1633
  }
1631
1634
 
1632
1635
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
@@ -1797,15 +1800,17 @@ const columnClasses = {
1797
1800
  column5: 'column-5',
1798
1801
  column6: 'column-6',
1799
1802
  column7: 'column-7',
1800
- acceptanceTime: 'column-acceptanceTime'
1803
+ acceptanceTime: 'column-acceptanceTime',
1804
+ loadDuration: 'column-loadDuration'
1801
1805
  };
1802
1806
  const DRAG_VISIBILITY_LEADING_BUTTONS = 3;
1803
1807
  const DELETE_MORE_BUTTONS = 3;
1804
1808
  const MISSING = 4;
1805
1809
  const leftButtonsWidth = iconButtonSize * DRAG_VISIBILITY_LEADING_BUTTONS + MISSING;
1806
1810
  const rightButtonsWidth = iconButtonSize * DELETE_MORE_BUTTONS;
1807
- const acceptanceTimeWidth = 80;
1808
- const nonFlexibleAreaWidth = leftButtonsWidth + rightButtonsWidth + acceptanceTimeWidth;
1811
+ const acceptanceTimeWidth = 65;
1812
+ const loadDurationWidth = 50;
1813
+ const nonFlexibleAreaWidth = leftButtonsWidth + rightButtonsWidth + acceptanceTimeWidth + loadDurationWidth;
1809
1814
  const flexibleAreaWidth = `(100% - ${nonFlexibleAreaWidth}px)`;
1810
1815
  const leftButtonsStyle = {
1811
1816
  width: leftButtonsWidth,
@@ -1839,6 +1844,11 @@ const layerManagerStyle = {
1839
1844
  '.column-acceptanceTime': {
1840
1845
  width: acceptanceTimeWidth
1841
1846
  },
1847
+ '.column-loadDuration': {
1848
+ width: loadDurationWidth,
1849
+ paddingLeft: 1,
1850
+ paddingRight: 1
1851
+ },
1842
1852
  '.column-6': {
1843
1853
  width: rightButtonsWidth,
1844
1854
  display: 'inline-flex',
@@ -1872,7 +1882,7 @@ const layerManagerStyle = {
1872
1882
  '.enable-btn-mini': {
1873
1883
  display: 'inline-flex'
1874
1884
  },
1875
- '.activateLayer-btn, .enable-btn, .column-2, .column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime': {
1885
+ '.activateLayer-btn, .enable-btn, .column-2, .column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime, .column-loadDuration': {
1876
1886
  display: 'none'
1877
1887
  },
1878
1888
  '#mappresets-menubutton, .addLayer-column, .setProjection-column': {
@@ -1906,7 +1916,7 @@ const layerManagerStyle = {
1906
1916
  // sizes: medium
1907
1917
  '@container (max-width: 600px)': {
1908
1918
  '.layermanager': {
1909
- '.column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime': {
1919
+ '.column-3, .column-4, .column-5, .column-6, .column-7, .column-acceptanceTime, .column-loadDuration': {
1910
1920
  display: 'none'
1911
1921
  },
1912
1922
  '.column-2': {
@@ -1976,6 +1986,43 @@ const returnCorrectSize = sizeResult => {
1976
1986
  return sizeSmall;
1977
1987
  };
1978
1988
 
1989
+ /* *
1990
+ * Licensed under the Apache License, Version 2.0 (the "License");
1991
+ * you may not use this file except in compliance with the License.
1992
+ * You may obtain a copy of the License at
1993
+ *
1994
+ * http://www.apache.org/licenses/LICENSE-2.0
1995
+ *
1996
+ * Unless required by applicable law or agreed to in writing, software
1997
+ * distributed under the License is distributed on an "AS IS" BASIS,
1998
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1999
+ * See the License for the specific language governing permissions and
2000
+ * limitations under the License.
2001
+ *
2002
+ * Copyright 2024 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
2003
+ * Copyright 2024 - Finnish Meteorological Institute (FMI)
2004
+ * */
2005
+ const style = {
2006
+ width: 'auto !important',
2007
+ height: 'auto !important',
2008
+ padding: 0
2009
+ };
2010
+ const LayerSelectButton = ({
2011
+ tooltipTitle: _tooltipTitle = 'Open the layer selector',
2012
+ icon: _icon = /*#__PURE__*/React.createElement(LayersAdd, {
2013
+ "data-testid": "layerSelectButtonConnectIcon"
2014
+ }),
2015
+ onClick: _onClick = () => {}
2016
+ }) => {
2017
+ return /*#__PURE__*/React.createElement(CustomIconButton, {
2018
+ onClick: _onClick,
2019
+ sx: style,
2020
+ id: "layerSelectButton",
2021
+ "data-testid": "layerSelectButton",
2022
+ tooltipTitle: _tooltipTitle
2023
+ }, _icon);
2024
+ };
2025
+
1979
2026
  const styles$3 = {
1980
2027
  text: theme => Object.assign({
1981
2028
  paddingLeft: '10px',
@@ -1987,13 +2034,11 @@ const styles$3 = {
1987
2034
  const DescriptionRow = _a => {
1988
2035
  var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
1989
2036
  var {
1990
- mapId,
1991
2037
  mapPresetsModule,
1992
- source = 'app',
1993
2038
  settings,
1994
- isMultiMap
2039
+ addLayerComponent
1995
2040
  } = _a,
1996
- gridProps = __rest(_a, ["mapId", "mapPresetsModule", "source", "settings", "isMultiMap"]);
2041
+ gridProps = __rest(_a, ["mapPresetsModule", "settings", "addLayerComponent"]);
1997
2042
  const [mapPresetsModuleInline] = React.useState(mapPresetsModule ? Object.assign(Object.assign({}, mapPresetsModule), {
1998
2043
  props: Object.assign(Object.assign({}, mapPresetsModule.props), {
1999
2044
  id: 'mappresets-menubuttonInline'
@@ -2016,13 +2061,10 @@ const DescriptionRow = _a => {
2016
2061
  justifyContent: 'center',
2017
2062
  paddingRight: '6px'
2018
2063
  })
2019
- }, /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
2020
- mapId: mapId,
2021
- source: source,
2064
+ }, addLayerComponent || ( /*#__PURE__*/React.createElement(LayerSelectButton, {
2022
2065
  tooltipTitle: (_b = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _b === void 0 ? void 0 : _b.tooltipTitle,
2023
- icon: (_c = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _c === void 0 ? void 0 : _c.icon,
2024
- isMultiMap: isMultiMap
2025
- })), /*#__PURE__*/React.createElement(Grid, {
2066
+ icon: (_c = settings === null || settings === void 0 ? void 0 : settings.addLayer) === null || _c === void 0 ? void 0 : _c.icon
2067
+ }))), /*#__PURE__*/React.createElement(Grid, {
2026
2068
  className: columnClasses.column2
2027
2069
  }, /*#__PURE__*/React.createElement(Box, {
2028
2070
  className: `header-layer ${hasMapPresetsModule ? 'mappresetsModule-enabled' : ''}`,
@@ -2051,24 +2093,31 @@ const DescriptionRow = _a => {
2051
2093
  whiteSpace: 'nowrap'
2052
2094
  }]
2053
2095
  }, (_o = (_m = settings === null || settings === void 0 ? void 0 : settings.acceptanceTime) === null || _m === void 0 ? void 0 : _m.title) !== null && _o !== void 0 ? _o : 'Acc Time')), /*#__PURE__*/React.createElement(Grid, {
2096
+ className: columnClasses.loadDuration
2097
+ }, /*#__PURE__*/React.createElement(Box, {
2098
+ sx: [styles$3.text, {
2099
+ display: 'flex',
2100
+ justifyContent: 'flex-end'
2101
+ }]
2102
+ }, /*#__PURE__*/React.createElement(CloudLoading, null))), /*#__PURE__*/React.createElement(Grid, {
2054
2103
  className: columnClasses.column6
2055
2104
  }));
2056
2105
  };
2057
2106
 
2058
- var $$6 = _export;
2107
+ var $$9 = _export;
2059
2108
  var $includes = arrayIncludes.includes;
2060
- var fails$9 = fails$l;
2109
+ var fails$b = fails$n;
2061
2110
  var addToUnscopables = addToUnscopables$2;
2062
2111
 
2063
2112
  // FF99+ bug
2064
- var BROKEN_ON_SPARSE = fails$9(function () {
2113
+ var BROKEN_ON_SPARSE = fails$b(function () {
2065
2114
  // eslint-disable-next-line es/no-array-prototype-includes -- detection
2066
2115
  return !Array(1).includes();
2067
2116
  });
2068
2117
 
2069
2118
  // `Array.prototype.includes` method
2070
2119
  // https://tc39.es/ecma262/#sec-array.prototype.includes
2071
- $$6({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
2120
+ $$9({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
2072
2121
  includes: function includes(el /* , fromIndex = 0 */) {
2073
2122
  return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);
2074
2123
  }
@@ -2077,7 +2126,7 @@ $$6({ target: 'Array', proto: true, forced: BROKEN_ON_SPARSE }, {
2077
2126
  // https://tc39.es/ecma262/#sec-array.prototype-@@unscopables
2078
2127
  addToUnscopables('includes');
2079
2128
 
2080
- var isObject = isObject$8;
2129
+ var isObject$2 = isObject$b;
2081
2130
  var classof$5 = classofRaw$1;
2082
2131
  var wellKnownSymbol$5 = wellKnownSymbol$c;
2083
2132
 
@@ -2087,16 +2136,16 @@ var MATCH$1 = wellKnownSymbol$5('match');
2087
2136
  // https://tc39.es/ecma262/#sec-isregexp
2088
2137
  var isRegexp = function (it) {
2089
2138
  var isRegExp;
2090
- return isObject(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$5(it) === 'RegExp');
2139
+ return isObject$2(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$5(it) === 'RegExp');
2091
2140
  };
2092
2141
 
2093
2142
  var isRegExp = isRegexp;
2094
2143
 
2095
- var $TypeError$3 = TypeError;
2144
+ var $TypeError$5 = TypeError;
2096
2145
 
2097
2146
  var notARegexp = function (it) {
2098
2147
  if (isRegExp(it)) {
2099
- throw new $TypeError$3("The method doesn't accept regular expressions");
2148
+ throw new $TypeError$5("The method doesn't accept regular expressions");
2100
2149
  } return it;
2101
2150
  };
2102
2151
 
@@ -2110,7 +2159,7 @@ test$2[TO_STRING_TAG$1] = 'z';
2110
2159
  var toStringTagSupport = String(test$2) === '[object z]';
2111
2160
 
2112
2161
  var TO_STRING_TAG_SUPPORT = toStringTagSupport;
2113
- var isCallable$2 = isCallable$g;
2162
+ var isCallable$4 = isCallable$i;
2114
2163
  var classofRaw = classofRaw$1;
2115
2164
  var wellKnownSymbol$3 = wellKnownSymbol$c;
2116
2165
 
@@ -2136,14 +2185,14 @@ var classof$4 = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {
2136
2185
  // builtinTag case
2137
2186
  : CORRECT_ARGUMENTS ? classofRaw(O)
2138
2187
  // ES3 arguments fallback
2139
- : (result = classofRaw(O)) === 'Object' && isCallable$2(O.callee) ? 'Arguments' : result;
2188
+ : (result = classofRaw(O)) === 'Object' && isCallable$4(O.callee) ? 'Arguments' : result;
2140
2189
  };
2141
2190
 
2142
2191
  var classof$3 = classof$4;
2143
2192
 
2144
2193
  var $String = String;
2145
2194
 
2146
- var toString$7 = function (argument) {
2195
+ var toString$9 = function (argument) {
2147
2196
  if (classof$3(argument) === 'Symbol') throw new TypeError('Cannot convert a Symbol value to a string');
2148
2197
  return $String(argument);
2149
2198
  };
@@ -2164,22 +2213,22 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
2164
2213
  } return false;
2165
2214
  };
2166
2215
 
2167
- var $$5 = _export;
2168
- var uncurryThis$8 = functionUncurryThis;
2216
+ var $$8 = _export;
2217
+ var uncurryThis$9 = functionUncurryThis;
2169
2218
  var notARegExp = notARegexp;
2170
- var requireObjectCoercible$4 = requireObjectCoercible$7;
2171
- var toString$6 = toString$7;
2219
+ var requireObjectCoercible$4 = requireObjectCoercible$8;
2220
+ var toString$8 = toString$9;
2172
2221
  var correctIsRegExpLogic = correctIsRegexpLogic;
2173
2222
 
2174
- var stringIndexOf$1 = uncurryThis$8(''.indexOf);
2223
+ var stringIndexOf$1 = uncurryThis$9(''.indexOf);
2175
2224
 
2176
2225
  // `String.prototype.includes` method
2177
2226
  // https://tc39.es/ecma262/#sec-string.prototype.includes
2178
- $$5({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
2227
+ $$8({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
2179
2228
  includes: function includes(searchString /* , position = 0 */) {
2180
2229
  return !!~stringIndexOf$1(
2181
- toString$6(requireObjectCoercible$4(this)),
2182
- toString$6(notARegExp(searchString)),
2230
+ toString$8(requireObjectCoercible$4(this)),
2231
+ toString$8(notARegExp(searchString)),
2183
2232
  arguments.length > 1 ? arguments[1] : undefined
2184
2233
  );
2185
2234
  }
@@ -2190,25 +2239,25 @@ var classof$2 = classofRaw$1;
2190
2239
  // `IsArray` abstract operation
2191
2240
  // https://tc39.es/ecma262/#sec-isarray
2192
2241
  // eslint-disable-next-line es/no-array-isarray -- safe
2193
- var isArray$1 = Array.isArray || function isArray(argument) {
2242
+ var isArray$2 = Array.isArray || function isArray(argument) {
2194
2243
  return classof$2(argument) === 'Array';
2195
2244
  };
2196
2245
 
2197
- var $$4 = _export;
2198
- var uncurryThis$7 = functionUncurryThis;
2199
- var isArray = isArray$1;
2246
+ var $$7 = _export;
2247
+ var uncurryThis$8 = functionUncurryThis;
2248
+ var isArray$1 = isArray$2;
2200
2249
 
2201
- var nativeReverse = uncurryThis$7([].reverse);
2250
+ var nativeReverse = uncurryThis$8([].reverse);
2202
2251
  var test$1 = [1, 2];
2203
2252
 
2204
2253
  // `Array.prototype.reverse` method
2205
2254
  // https://tc39.es/ecma262/#sec-array.prototype.reverse
2206
2255
  // fix for Safari 12.0 bug
2207
2256
  // https://bugs.webkit.org/show_bug.cgi?id=188794
2208
- $$4({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.reverse()) }, {
2257
+ $$7({ target: 'Array', proto: true, forced: String(test$1) === String(test$1.reverse()) }, {
2209
2258
  reverse: function reverse() {
2210
2259
  // eslint-disable-next-line no-self-assign -- dirty hack
2211
- if (isArray(this)) this.length = this.length;
2260
+ if (isArray$1(this)) this.length = this.length;
2212
2261
  return nativeReverse(this);
2213
2262
  }
2214
2263
  });
@@ -2222,7 +2271,8 @@ const DimensionSelectValue = ({
2222
2271
  valueMappings,
2223
2272
  hideLatestDuplicate,
2224
2273
  setUseLatestReferenceTime,
2225
- useLatestReferenceTime
2274
+ useLatestReferenceTime,
2275
+ skipLocalStyling
2226
2276
  }) => {
2227
2277
  var _a;
2228
2278
  const dimensionValuesRaw = (_a = selectedDimension === null || selectedDimension === void 0 ? void 0 : selectedDimension.values) === null || _a === void 0 ? void 0 : _a.split(',').slice(0, 100).reverse();
@@ -2268,7 +2318,8 @@ const DimensionSelectValue = ({
2268
2318
  style: {
2269
2319
  maxWidth: '50%'
2270
2320
  },
2271
- IconComponent: icon
2321
+ IconComponent: icon,
2322
+ skipLocalStyling: skipLocalStyling
2272
2323
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
2273
2324
  disabled: true
2274
2325
  }, "Dimension value (", dimensionValues.length, " options)"), dimensionValues.map(dimensionValue => {
@@ -2307,7 +2358,8 @@ const DimensionSelectName = ({
2307
2358
  nameMappings,
2308
2359
  tooltip,
2309
2360
  isEnabled,
2310
- dimensionNames
2361
+ dimensionNames,
2362
+ skipLocalStyling
2311
2363
  }) => {
2312
2364
  return /*#__PURE__*/React__default.createElement(TooltipSelect, {
2313
2365
  disableUnderline: true,
@@ -2331,7 +2383,8 @@ const DimensionSelectName = ({
2331
2383
  style: {
2332
2384
  maxWidth: '50%'
2333
2385
  },
2334
- IconComponent: icon
2386
+ IconComponent: icon,
2387
+ skipLocalStyling: skipLocalStyling
2335
2388
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
2336
2389
  disabled: true
2337
2390
  }, "Dimension"), dimensionNames.map(name => ( /*#__PURE__*/React__default.createElement(MenuItem, {
@@ -2353,7 +2406,8 @@ const DimensionSelect = ({
2353
2406
  setUseLatestReferenceTime,
2354
2407
  useLatestReferenceTime,
2355
2408
  SingleValueComponent,
2356
- hideLatestDuplicate
2409
+ hideLatestDuplicate,
2410
+ skipLocalStyling
2357
2411
  }) => {
2358
2412
  var _a, _b, _c, _d, _e, _f;
2359
2413
  const [selectedDimensionName, setSelectedDimensionName] = useState((_a = _layerDimensions === null || _layerDimensions === void 0 ? void 0 : _layerDimensions[0]) === null || _a === void 0 ? void 0 : _a.name);
@@ -2394,7 +2448,8 @@ const DimensionSelect = ({
2394
2448
  tooltip: nameTooltip,
2395
2449
  isEnabled: _isEnabled,
2396
2450
  icon: icon,
2397
- nameMappings: nameMappings
2451
+ nameMappings: nameMappings,
2452
+ skipLocalStyling: skipLocalStyling
2398
2453
  })), collapseValueDropdown ? ( /*#__PURE__*/React.createElement(SingleValueComponent, Object.assign({}, _layerDimensions[0], {
2399
2454
  nameMappings: nameMappings,
2400
2455
  valueMappings: valueMappings,
@@ -2408,7 +2463,8 @@ const DimensionSelect = ({
2408
2463
  icon: icon,
2409
2464
  valueMappings: valueMappings,
2410
2465
  setUseLatestReferenceTime: setUseLatestReferenceTime,
2411
- useLatestReferenceTime: useLatestReferenceTime
2466
+ useLatestReferenceTime: useLatestReferenceTime,
2467
+ skipLocalStyling: skipLocalStyling
2412
2468
  }))));
2413
2469
  };
2414
2470
 
@@ -2437,7 +2493,8 @@ const RenderLayers = ({
2437
2493
  layerName,
2438
2494
  layers: _layers = [],
2439
2495
  isEnabled: _isEnabled = true,
2440
- tooltipPrefix: _tooltipPrefix = 'Layer: '
2496
+ tooltipPrefix: _tooltipPrefix = 'Layer: ',
2497
+ skipLocalStyling
2441
2498
  }) => {
2442
2499
  var _a;
2443
2500
  if (!_layers || !_layers.length) {
@@ -2484,6 +2541,7 @@ const RenderLayers = ({
2484
2541
  onChange: selectLayer,
2485
2542
  onChangeMouseWheel: e => onChangeLayerName(e.value),
2486
2543
  requiresCtrlToChange: true,
2544
+ skipLocalStyling: skipLocalStyling,
2487
2545
  renderValue: value => extendedLayers.find(layer => layer.name === value).title
2488
2546
  }, /*#__PURE__*/React.createElement(MenuItem, {
2489
2547
  disabled: true
@@ -2689,13 +2747,91 @@ const LayerManagerMenuButton = ({
2689
2747
  });
2690
2748
  };
2691
2749
 
2750
+ var DESCRIPTORS$1 = descriptors;
2751
+ var isArray = isArray$2;
2752
+
2753
+ var $TypeError$4 = TypeError;
2754
+ // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe
2755
+ var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;
2756
+
2757
+ // Safari < 13 does not throw an error in this case
2758
+ var SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS$1 && !function () {
2759
+ // makes no sense without proper strict mode support
2760
+ if (this !== undefined) return true;
2761
+ try {
2762
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
2763
+ Object.defineProperty([], 'length', { writable: false }).length = 1;
2764
+ } catch (error) {
2765
+ return error instanceof TypeError;
2766
+ }
2767
+ }();
2768
+
2769
+ var arraySetLength = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {
2770
+ if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {
2771
+ throw new $TypeError$4('Cannot set read only .length');
2772
+ } return O.length = length;
2773
+ } : function (O, length) {
2774
+ return O.length = length;
2775
+ };
2776
+
2777
+ var $TypeError$3 = TypeError;
2778
+ var MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991
2779
+
2780
+ var doesNotExceedSafeInteger$1 = function (it) {
2781
+ if (it > MAX_SAFE_INTEGER) throw $TypeError$3('Maximum allowed index exceeded');
2782
+ return it;
2783
+ };
2784
+
2785
+ var $$6 = _export;
2786
+ var toObject$3 = toObject$7;
2787
+ var lengthOfArrayLike$2 = lengthOfArrayLike$4;
2788
+ var setArrayLength = arraySetLength;
2789
+ var doesNotExceedSafeInteger = doesNotExceedSafeInteger$1;
2790
+ var fails$a = fails$n;
2791
+
2792
+ var INCORRECT_TO_LENGTH = fails$a(function () {
2793
+ return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;
2794
+ });
2795
+
2796
+ // V8 <= 121 and Safari <= 15.4; FF < 23 throws InternalError
2797
+ // https://bugs.chromium.org/p/v8/issues/detail?id=12681
2798
+ var properErrorOnNonWritableLength = function () {
2799
+ try {
2800
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
2801
+ Object.defineProperty([], 'length', { writable: false }).push();
2802
+ } catch (error) {
2803
+ return error instanceof TypeError;
2804
+ }
2805
+ };
2806
+
2807
+ var FORCED$3 = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();
2808
+
2809
+ // `Array.prototype.push` method
2810
+ // https://tc39.es/ecma262/#sec-array.prototype.push
2811
+ $$6({ target: 'Array', proto: true, arity: 1, forced: FORCED$3 }, {
2812
+ // eslint-disable-next-line no-unused-vars -- required for `.length`
2813
+ push: function push(item) {
2814
+ var O = toObject$3(this);
2815
+ var len = lengthOfArrayLike$2(O);
2816
+ var argCount = arguments.length;
2817
+ doesNotExceedSafeInteger(len + argCount);
2818
+ for (var i = 0; i < argCount; i++) {
2819
+ O[len] = arguments[i];
2820
+ len++;
2821
+ }
2822
+ setArrayLength(O, len);
2823
+ return len;
2824
+ }
2825
+ });
2826
+
2692
2827
  const RenderStyles = ({
2693
2828
  layerStyles,
2694
2829
  currentLayerStyle,
2695
2830
  onChangeLayerStyle,
2696
2831
  isEnabled: _isEnabled = true,
2697
2832
  icon,
2698
- tooltipPrefix: _tooltipPrefix = 'Style: '
2833
+ tooltipPrefix: _tooltipPrefix = 'Style: ',
2834
+ skipLocalStyling
2699
2835
  }) => {
2700
2836
  var _a;
2701
2837
  const styles = [{
@@ -2732,7 +2868,8 @@ const RenderStyles = ({
2732
2868
  onChange: selectStyle,
2733
2869
  onChangeMouseWheel: e => onChangeLayerStyle(e.value),
2734
2870
  requiresCtrlToChange: true,
2735
- IconComponent: icon
2871
+ IconComponent: icon,
2872
+ skipLocalStyling: skipLocalStyling
2736
2873
  }, /*#__PURE__*/React.createElement(MenuItem, {
2737
2874
  disabled: true
2738
2875
  }, "Style"), styles.map(styleFromlayer => ( /*#__PURE__*/React.createElement(MenuItem, {
@@ -2861,12 +2998,12 @@ function getIcon(isActive, isEnabled, current) {
2861
2998
  });
2862
2999
  }
2863
3000
 
2864
- var anObject$4 = anObject$a;
3001
+ var anObject$5 = anObject$a;
2865
3002
 
2866
3003
  // `RegExp.prototype.flags` getter implementation
2867
3004
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
2868
3005
  var regexpFlags$1 = function () {
2869
- var that = anObject$4(this);
3006
+ var that = anObject$5(this);
2870
3007
  var result = '';
2871
3008
  if (that.hasIndices) result += 'd';
2872
3009
  if (that.global) result += 'g';
@@ -2879,31 +3016,31 @@ var regexpFlags$1 = function () {
2879
3016
  return result;
2880
3017
  };
2881
3018
 
2882
- var call$6 = functionCall;
2883
- var hasOwn = hasOwnProperty_1;
2884
- var isPrototypeOf = objectIsPrototypeOf;
3019
+ var call$7 = functionCall;
3020
+ var hasOwn$1 = hasOwnProperty_1;
3021
+ var isPrototypeOf$1 = objectIsPrototypeOf;
2885
3022
  var regExpFlags = regexpFlags$1;
2886
3023
 
2887
3024
  var RegExpPrototype$2 = RegExp.prototype;
2888
3025
 
2889
3026
  var regexpGetFlags = function (R) {
2890
3027
  var flags = R.flags;
2891
- return flags === undefined && !('flags' in RegExpPrototype$2) && !hasOwn(R, 'flags') && isPrototypeOf(RegExpPrototype$2, R)
2892
- ? call$6(regExpFlags, R) : flags;
3028
+ return flags === undefined && !('flags' in RegExpPrototype$2) && !hasOwn$1(R, 'flags') && isPrototypeOf$1(RegExpPrototype$2, R)
3029
+ ? call$7(regExpFlags, R) : flags;
2893
3030
  };
2894
3031
 
2895
3032
  var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
2896
3033
  var defineBuiltIn$1 = defineBuiltIn$5;
2897
- var anObject$3 = anObject$a;
2898
- var $toString = toString$7;
2899
- var fails$8 = fails$l;
3034
+ var anObject$4 = anObject$a;
3035
+ var $toString = toString$9;
3036
+ var fails$9 = fails$n;
2900
3037
  var getRegExpFlags = regexpGetFlags;
2901
3038
 
2902
3039
  var TO_STRING = 'toString';
2903
3040
  var RegExpPrototype$1 = RegExp.prototype;
2904
3041
  var nativeToString = RegExpPrototype$1[TO_STRING];
2905
3042
 
2906
- var NOT_GENERIC = fails$8(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
3043
+ var NOT_GENERIC = fails$9(function () { return nativeToString.call({ source: 'a', flags: 'b' }) !== '/a/b'; });
2907
3044
  // FF44- RegExp#toString has a wrong name
2908
3045
  var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING;
2909
3046
 
@@ -2911,7 +3048,7 @@ var INCORRECT_NAME = PROPER_FUNCTION_NAME$1 && nativeToString.name !== TO_STRING
2911
3048
  // https://tc39.es/ecma262/#sec-regexp.prototype.tostring
2912
3049
  if (NOT_GENERIC || INCORRECT_NAME) {
2913
3050
  defineBuiltIn$1(RegExpPrototype$1, TO_STRING, function toString() {
2914
- var R = anObject$3(this);
3051
+ var R = anObject$4(this);
2915
3052
  var pattern = $toString(R.source);
2916
3053
  var flags = $toString(getRegExpFlags(R));
2917
3054
  return '/' + pattern + '/' + flags;
@@ -2954,7 +3091,8 @@ const AcceptanceTime = ({
2954
3091
  isEnabled: _isEnabled = true,
2955
3092
  acceptanceTimeInMinutes,
2956
3093
  icon,
2957
- tooltipTitle
3094
+ tooltipTitle,
3095
+ skipLocalStyling
2958
3096
  }) => {
2959
3097
  const onChange = acceptanceTimeRaw => {
2960
3098
  const acceptanceTime = acceptanceTimeRaw === 'off' ? undefined : Number(acceptanceTimeRaw);
@@ -2975,7 +3113,8 @@ const AcceptanceTime = ({
2975
3113
  list: acceptanceTimesValues,
2976
3114
  currentIndex: acceptanceTimes.findIndex(time => layerAcceptanceTime === time.value),
2977
3115
  IconComponent: icon,
2978
- "data-testid": "acceptanceTimeButton"
3116
+ "data-testid": "acceptanceTimeButton",
3117
+ skipLocalStyling: skipLocalStyling
2979
3118
  }, /*#__PURE__*/React__default.createElement(MenuItem, {
2980
3119
  disabled: true
2981
3120
  }, "Acc Time"), acceptanceTimes.map(accTime => ( /*#__PURE__*/React__default.createElement(MenuItem, {
@@ -3057,22 +3196,101 @@ const getTextAndColor = layerIsInsideAcceptanceTime => {
3057
3196
  };
3058
3197
  };
3059
3198
 
3060
- /* *
3061
- * Licensed under the Apache License, Version 2.0 (the "License");
3062
- * you may not use this file except in compliance with the License.
3063
- * You may obtain a copy of the License at
3064
- *
3065
- * http://www.apache.org/licenses/LICENSE-2.0
3066
- *
3067
- * Unless required by applicable law or agreed to in writing, software
3068
- * distributed under the License is distributed on an "AS IS" BASIS,
3069
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3070
- * See the License for the specific language governing permissions and
3071
- * limitations under the License.
3072
- *
3073
- * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
3074
- * Copyright 2023 - Finnish Meteorological Institute (FMI)
3075
- * */
3199
+ const MILLISECONDS_PER_SECOND = 1e3;
3200
+ const MAX_DURATION_IN_SECONDS = 60;
3201
+ const MIN_DURATION_IN_SECONDS = 0.1;
3202
+ const DECIMALS_IN_LABEL = 1;
3203
+ const DECIMALS_IN_TOOLTIP = 3;
3204
+ const LoadDuration = ({
3205
+ mapId,
3206
+ layerId
3207
+ }) => {
3208
+ const loadDurationLabel = useLoadDurationLabel(mapId, layerId);
3209
+ const [tooltipText, setTooltipText] = React.useState();
3210
+ return /*#__PURE__*/React.createElement(Tooltip, {
3211
+ placement: "top",
3212
+ title: tooltipText,
3213
+ open: tooltipText !== undefined,
3214
+ onClose: () => setTooltipText(undefined),
3215
+ onOpen: () => {
3216
+ const duration = getImageLoadDuration(layerId);
3217
+ if (duration) {
3218
+ setTooltipText(getDurationTooltip(duration));
3219
+ }
3220
+ }
3221
+ }, /*#__PURE__*/React.createElement(Typography, {
3222
+ component: "div",
3223
+ variant: "subtitle2",
3224
+ whiteSpace: "nowrap",
3225
+ "data-testid": "loadDuration",
3226
+ sx: {
3227
+ fontSize: 12
3228
+ }
3229
+ }, loadDurationLabel));
3230
+ };
3231
+ const getDurationTooltip = milliSeconds => {
3232
+ if (milliSeconds === undefined) {
3233
+ return '-';
3234
+ }
3235
+ return `${roundToDecimals(milliSeconds / MILLISECONDS_PER_SECOND, DECIMALS_IN_TOOLTIP)} s`;
3236
+ };
3237
+ const getImageLoadDuration = layerId => {
3238
+ const layer = webmapUtils.getWMLayerById(layerId);
3239
+ const currentRequestedGetMapURL = layer === null || layer === void 0 ? void 0 : layer.getCurrentRequestedGetMapURL();
3240
+ if (currentRequestedGetMapURL === undefined) {
3241
+ return undefined;
3242
+ }
3243
+ const imageStore = layer.parentMap.getImageStore();
3244
+ const img = imageStore.getImageForSrc(currentRequestedGetMapURL);
3245
+ const loadDurationMs = img === null || img === void 0 ? void 0 : img.getLoadDuration();
3246
+ return loadDurationMs;
3247
+ };
3248
+ const roundToDecimals = (num, decimals) => {
3249
+ return num.toLocaleString(undefined, {
3250
+ maximumFractionDigits: decimals,
3251
+ useGrouping: false
3252
+ });
3253
+ };
3254
+ /**
3255
+ * Hook to subscribe to changes in the load duration for a map layer.
3256
+ * This will only trigger a render when the load duration rounded down to seconds changes for the given layer and map combination
3257
+ * @param mapId
3258
+ * @param layerId
3259
+ * @returns {number}
3260
+ */
3261
+ const useLoadDurationLabel = (mapId, layerId) => {
3262
+ const subscribe = React.useCallback(onStoreChange => {
3263
+ const map = webmapUtils.getWMJSMapById(mapId);
3264
+ const layer = webmapUtils.getWMLayerById(layerId);
3265
+ const onImageLoad = image => {
3266
+ const currentRequestedGetMapURL = layer === null || layer === void 0 ? void 0 : layer.getCurrentRequestedGetMapURL();
3267
+ if (image.getSrc() === currentRequestedGetMapURL) {
3268
+ onStoreChange();
3269
+ }
3270
+ };
3271
+ map === null || map === void 0 ? void 0 : map.getListener().addEventListener('onimagebufferimageload', onImageLoad);
3272
+ return () => {
3273
+ var _a;
3274
+ (_a = map === null || map === void 0 ? void 0 : map.getListener()) === null || _a === void 0 ? void 0 : _a.removeEventListener('onimagebufferimageload', onImageLoad);
3275
+ };
3276
+ }, [mapId, layerId]);
3277
+ const getSnapshot = React.useCallback(() => {
3278
+ const loadDurationMs = getImageLoadDuration(layerId);
3279
+ if (loadDurationMs === undefined) {
3280
+ return '-';
3281
+ }
3282
+ const loadDurationInSeconds = loadDurationMs / MILLISECONDS_PER_SECOND;
3283
+ if (loadDurationInSeconds > MAX_DURATION_IN_SECONDS) {
3284
+ return `> ${MAX_DURATION_IN_SECONDS.toLocaleString()} s`;
3285
+ }
3286
+ if (loadDurationInSeconds < MIN_DURATION_IN_SECONDS) {
3287
+ return `< ${MIN_DURATION_IN_SECONDS.toLocaleString()} s`;
3288
+ }
3289
+ return `${roundToDecimals(loadDurationInSeconds, DECIMALS_IN_LABEL)} s`;
3290
+ }, [layerId]);
3291
+ return React.useSyncExternalStore(subscribe, getSnapshot);
3292
+ };
3293
+
3076
3294
  const LeftButtons = ({
3077
3295
  size,
3078
3296
  dragHandle,
@@ -3134,7 +3352,7 @@ const Acceptance = ({
3134
3352
  acceptanceTimeInMinutes: acceptanceTime,
3135
3353
  onChangeAcceptanceTime: onChangeAcceptanceTime
3136
3354
  }));
3137
- const LayerRow = ({
3355
+ const LayerRowUnstyled = ({
3138
3356
  layerId,
3139
3357
  layer,
3140
3358
  layerName,
@@ -3164,7 +3382,9 @@ const LayerRow = ({
3164
3382
  disableActivateLayer,
3165
3383
  dragHandle,
3166
3384
  layerAcceptanceTimeLayout,
3167
- layerMissingDataLayout
3385
+ layerMissingDataLayout,
3386
+ layerLoadDurationLayout,
3387
+ className
3168
3388
  }) => {
3169
3389
  const onClickRow = () => _onLayerRowClick(layerId);
3170
3390
  const changeEnable = event => {
@@ -3196,31 +3416,60 @@ const LayerRow = ({
3196
3416
  mapId,
3197
3417
  layerId: layerId
3198
3418
  });
3199
- renderCounter.count(LayerRow.name);
3200
- return /*#__PURE__*/React__default.createElement(Grid, {
3201
- item: true,
3202
- container: true,
3203
- "data-testid": `layerRow-${layerId}`,
3204
- className: "layerRow",
3205
- sx: {
3206
- backgroundColor: _isEnabled ? 'geowebColors.layerManager.tableRowDefaultCardContainer.fill' : 'geowebColors.layerManager.tableRowDisabledCardContainer.fill',
3207
- border: 1,
3208
- borderColor: _isEnabled ? 'geowebColors.layerManager.tableRowDefaultCardContainer.borderColor' : 'geowebColors.layerManager.tableRowDisabledCardContainer.borderColor',
3209
- borderRadius: 1,
3210
- marginBottom: 0.5,
3211
- minHeight: '34px',
3212
- '&.sortable-chosen': {
3213
- boxShadow: 1
3214
- },
3215
- '&.sortable-ghost': {
3216
- opacity: 0.5
3217
- }
3218
- },
3219
- alignItems: "center",
3220
- role: "listitem"
3221
- }, /*#__PURE__*/React__default.createElement(Accordion, {
3222
- LeftButtons: /*#__PURE__*/React__default.createElement(LeftButtons, {
3223
- size: "-medium",
3419
+ renderCounter.count(LayerRowUnstyled.name);
3420
+ return (
3421
+ /*#__PURE__*/
3422
+ // className needed for styled() utility
3423
+ React__default.createElement("div", {
3424
+ className: className
3425
+ }, /*#__PURE__*/React__default.createElement(Grid, {
3426
+ item: true,
3427
+ container: true,
3428
+ "data-testid": `layerRow-${layerId}`,
3429
+ className: "layerRow",
3430
+ alignItems: "center",
3431
+ role: "listitem"
3432
+ }, /*#__PURE__*/React__default.createElement(Accordion, {
3433
+ LeftButtons: /*#__PURE__*/React__default.createElement(LeftButtons, {
3434
+ size: "-medium",
3435
+ dragHandle: dragHandle,
3436
+ layer: layer,
3437
+ layerMissingDataLayout: layerMissingDataLayout,
3438
+ layerEnableLayout: layerEnableLayout,
3439
+ isEnabled: _isEnabled,
3440
+ disableActivateLayer: disableActivateLayer,
3441
+ layerActiveLayout: layerActiveLayout,
3442
+ onChangeEnable: changeEnable,
3443
+ onChangeActive: onClickRow
3444
+ }),
3445
+ layerName: layerName,
3446
+ Styles: layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3447
+ style: layer.style,
3448
+ onChangeStyle: changeStyle
3449
+ })),
3450
+ Opacity: layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3451
+ opacity: layer.opacity,
3452
+ onChangeOpacity: changeOpacity
3453
+ })),
3454
+ Acceptance: layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3455
+ acceptanceTime: layer.acceptanceTimeInMinutes,
3456
+ onChangeAcceptanceTime: changeAcceptanceTime
3457
+ })),
3458
+ LoadDuration: layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3459
+ layerId: layerId,
3460
+ mapId: mapId
3461
+ })),
3462
+ ShowLayerInfo: layerShowLayerInfoLayout || ( /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3463
+ onClick: () => {}
3464
+ })),
3465
+ DeleteLayer: layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3466
+ onClick: deleteLayer
3467
+ })
3468
+ }), /*#__PURE__*/React__default.createElement(Grid, {
3469
+ item: true,
3470
+ className: columnClasses.column1,
3471
+ alignItems: "center"
3472
+ }, /*#__PURE__*/React__default.createElement(LeftButtons, {
3224
3473
  dragHandle: dragHandle,
3225
3474
  layer: layer,
3226
3475
  layerMissingDataLayout: layerMissingDataLayout,
@@ -3230,106 +3479,97 @@ const LayerRow = ({
3230
3479
  layerActiveLayout: layerActiveLayout,
3231
3480
  onChangeEnable: changeEnable,
3232
3481
  onChangeActive: onClickRow
3233
- }),
3234
- layerName: layerName,
3235
- Styles: layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3482
+ })), /*#__PURE__*/React__default.createElement(Grid, {
3483
+ item: true,
3484
+ className: columnClasses.column2
3485
+ }, layerServicesLayout || ( /*#__PURE__*/React__default.createElement(RenderLayers, {
3486
+ layerName: layer.name,
3487
+ layers: services && layer.service && services[layer.service] && services[layer.service].layers || [],
3488
+ onChangeLayerName: name => {
3489
+ onLayerChangeName({
3490
+ layerId: layer.id,
3491
+ name
3492
+ });
3493
+ }
3494
+ }))), _isLayerMissing ? ( /*#__PURE__*/React__default.createElement(Grid, {
3495
+ item: true,
3496
+ className: columnClasses.column7
3497
+ }, /*#__PURE__*/React__default.createElement(AlertBanner, {
3498
+ title: "This layer could not be loaded: does not exist on the server.",
3499
+ isCompact: true
3500
+ }))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
3501
+ item: true,
3502
+ className: columnClasses.column3
3503
+ }, layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3236
3504
  style: layer.style,
3237
3505
  onChangeStyle: changeStyle
3238
- })),
3239
- Opacity: layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3506
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3507
+ item: true,
3508
+ className: columnClasses.column4
3509
+ }, layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3240
3510
  opacity: layer.opacity,
3241
3511
  onChangeOpacity: changeOpacity
3242
- })),
3243
- Acceptance: layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3512
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3513
+ item: true,
3514
+ className: columnClasses.column5
3515
+ }, layerDimensionLayout || ( /*#__PURE__*/React__default.createElement(DimensionSelect, {
3516
+ layerDimensions: layerUtils.filterNonTimeDimensions(layer.dimensions),
3517
+ onLayerChangeDimension: (dimensionName, dimensionValue) => {
3518
+ const dimension = {
3519
+ name: dimensionName,
3520
+ currentValue: dimensionValue
3521
+ };
3522
+ onLayerChangeDimension({
3523
+ origin: 'layerrow',
3524
+ layerId: layerId,
3525
+ dimension
3526
+ });
3527
+ }
3528
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3529
+ item: true,
3530
+ className: columnClasses.acceptanceTime
3531
+ }, layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3244
3532
  acceptanceTime: layer.acceptanceTimeInMinutes,
3245
3533
  onChangeAcceptanceTime: changeAcceptanceTime
3246
- })),
3247
- ShowLayerInfo: layerShowLayerInfoLayout || /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3534
+ }))), /*#__PURE__*/React__default.createElement(Grid, {
3535
+ item: true,
3536
+ display: "flex",
3537
+ justifyContent: "flex-end",
3538
+ className: columnClasses.loadDuration
3539
+ }, layerLoadDurationLayout || ( /*#__PURE__*/React__default.createElement(LoadDuration, {
3540
+ layerId: layerId,
3541
+ mapId: mapId
3542
+ }))))), /*#__PURE__*/React__default.createElement(Grid, {
3543
+ item: true,
3544
+ className: columnClasses.column6,
3545
+ alignItems: "center"
3546
+ }, layerShowLayerInfoLayout || ( /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3248
3547
  onClick: () => {}
3249
- }),
3250
- DeleteLayer: layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3548
+ })), layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3251
3549
  onClick: deleteLayer
3252
- })
3253
- }), /*#__PURE__*/React__default.createElement(Grid, {
3254
- item: true,
3255
- className: columnClasses.column1,
3256
- alignItems: "center"
3257
- }, /*#__PURE__*/React__default.createElement(LeftButtons, {
3258
- dragHandle: dragHandle,
3259
- layer: layer,
3260
- layerMissingDataLayout: layerMissingDataLayout,
3261
- layerEnableLayout: layerEnableLayout,
3262
- isEnabled: _isEnabled,
3263
- disableActivateLayer: disableActivateLayer,
3264
- layerActiveLayout: layerActiveLayout,
3265
- onChangeEnable: changeEnable,
3266
- onChangeActive: onClickRow
3267
- })), /*#__PURE__*/React__default.createElement(Grid, {
3268
- item: true,
3269
- className: columnClasses.column2
3270
- }, layerServicesLayout || ( /*#__PURE__*/React__default.createElement(RenderLayers, {
3271
- layerName: layer.name,
3272
- layers: services && layer.service && services[layer.service] && services[layer.service].layers || [],
3273
- onChangeLayerName: name => {
3274
- onLayerChangeName({
3275
- layerId: layer.id,
3276
- name
3277
- });
3278
- }
3279
- }))), _isLayerMissing ? ( /*#__PURE__*/React__default.createElement(Grid, {
3280
- item: true,
3281
- className: columnClasses.column7
3282
- }, /*#__PURE__*/React__default.createElement(AlertBanner, {
3283
- title: "This layer could not be loaded: does not exist on the server.",
3284
- isCompact: true
3285
- }))) : ( /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Grid, {
3286
- item: true,
3287
- className: columnClasses.column3
3288
- }, layerStylesLayout || ( /*#__PURE__*/React__default.createElement(Styles, {
3289
- style: layer.style,
3290
- onChangeStyle: changeStyle
3291
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3292
- item: true,
3293
- className: columnClasses.column4
3294
- }, layerOpacityLayout || ( /*#__PURE__*/React__default.createElement(Opacity, {
3295
- opacity: layer.opacity,
3296
- onChangeOpacity: changeOpacity
3297
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3298
- item: true,
3299
- className: columnClasses.column5
3300
- }, layerDimensionLayout || ( /*#__PURE__*/React__default.createElement(DimensionSelect, {
3301
- layerDimensions: layerUtils.filterNonTimeDimensions(layer.dimensions),
3302
- onLayerChangeDimension: (dimensionName, dimensionValue) => {
3303
- const dimension = {
3304
- name: dimensionName,
3305
- currentValue: dimensionValue
3306
- };
3307
- onLayerChangeDimension({
3308
- origin: 'layerrow',
3309
- layerId: layerId,
3310
- dimension
3311
- });
3312
- }
3313
- }))), /*#__PURE__*/React__default.createElement(Grid, {
3314
- item: true,
3315
- className: columnClasses.acceptanceTime
3316
- }, layerAcceptanceTimeLayout || ( /*#__PURE__*/React__default.createElement(Acceptance, {
3317
- acceptanceTime: layer.acceptanceTimeInMinutes,
3318
- onChangeAcceptanceTime: changeAcceptanceTime
3319
- }))))), /*#__PURE__*/React__default.createElement(Grid, {
3320
- item: true,
3321
- className: columnClasses.column6,
3322
- alignItems: "center"
3323
- }, layerShowLayerInfoLayout || /*#__PURE__*/React__default.createElement(ShowLayerInfo, {
3324
- onClick: () => {}
3325
- }), layerDeleteLayout || /*#__PURE__*/React__default.createElement(DeleteLayer, {
3326
- onClick: deleteLayer
3327
- }), layerMenuLayout || ( /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
3328
- mapId: mapId,
3329
- layerId: layerId,
3330
- onLayerDuplicate: onLayerDuplicate
3331
- }))));
3550
+ }), layerMenuLayout || ( /*#__PURE__*/React__default.createElement(LayerManagerMenuButton, {
3551
+ mapId: mapId,
3552
+ layerId: layerId,
3553
+ onLayerDuplicate: onLayerDuplicate
3554
+ })))))
3555
+ );
3332
3556
  };
3557
+ const LayerRow = styled(LayerRowUnstyled)(({
3558
+ theme,
3559
+ isEnabled: _isEnabled2 = true
3560
+ }) => {
3561
+ return {
3562
+ '& .MuiInputBase-root': Object.assign({}, tooltipContainerStyles(theme, _isEnabled2)),
3563
+ '& .layerRow': {
3564
+ backgroundColor: _isEnabled2 ? theme.palette.geowebColors.layerManager.tableRowDefaultCardContainer.fill : theme.palette.geowebColors.layerManager.tableRowDisabledCardContainer.fill,
3565
+ border: '1px solid',
3566
+ borderColor: _isEnabled2 ? theme.palette.geowebColors.layerManager.tableRowDefaultCardContainer.borderColor : theme.palette.geowebColors.layerManager.tableRowDisabledCardContainer.borderColor,
3567
+ borderRadius: 1 * theme.shape.borderRadius,
3568
+ marginBottom: theme.spacing(0.5),
3569
+ minHeight: '34px'
3570
+ }
3571
+ };
3572
+ });
3333
3573
  const Accordion = ({
3334
3574
  Styles,
3335
3575
  Acceptance,
@@ -3337,7 +3577,8 @@ const Accordion = ({
3337
3577
  DeleteLayer,
3338
3578
  Opacity,
3339
3579
  layerName,
3340
- LeftButtons
3580
+ LeftButtons,
3581
+ LoadDuration
3341
3582
  }) => {
3342
3583
  return /*#__PURE__*/React__default.createElement(CustomAccordion, {
3343
3584
  className: "medium-layermanager",
@@ -3388,6 +3629,12 @@ const Accordion = ({
3388
3629
  }, /*#__PURE__*/React__default.createElement(Grid, {
3389
3630
  item: true
3390
3631
  }, "Acc Time"), Acceptance), /*#__PURE__*/React__default.createElement(Grid, {
3632
+ container: true,
3633
+ item: true,
3634
+ flexDirection: "column"
3635
+ }, /*#__PURE__*/React__default.createElement(Grid, {
3636
+ item: true
3637
+ }, /*#__PURE__*/React__default.createElement(CloudLoading, null)), LoadDuration), /*#__PURE__*/React__default.createElement(Grid, {
3391
3638
  container: true,
3392
3639
  item: true,
3393
3640
  justifyContent: "center",
@@ -3622,7 +3869,8 @@ const useReferenceTimeWithLatestOption = layerId => {
3622
3869
  * */
3623
3870
  const DimensionSelectConnect = ({
3624
3871
  layerId,
3625
- mapId
3872
+ mapId,
3873
+ skipLocalStyling
3626
3874
  }) => {
3627
3875
  const {
3628
3876
  layerDimensions,
@@ -3650,7 +3898,8 @@ const DimensionSelectConnect = ({
3650
3898
  },
3651
3899
  isEnabled: isLayerEnabled,
3652
3900
  useLatestReferenceTime: useLatestReferenceTime,
3653
- setUseLatestReferenceTime: setUseLatestReferenceTime
3901
+ setUseLatestReferenceTime: setUseLatestReferenceTime,
3902
+ skipLocalStyling: skipLocalStyling
3654
3903
  });
3655
3904
  };
3656
3905
 
@@ -3674,7 +3923,8 @@ const RenderStylesConnect = ({
3674
3923
  layerId,
3675
3924
  mapId,
3676
3925
  icon,
3677
- tooltipPrefix
3926
+ tooltipPrefix,
3927
+ skipLocalStyling
3678
3928
  }) => {
3679
3929
  const dispatch = useDispatch();
3680
3930
  const layerService = useSelector(store => layerSelectors.getLayerService(store, layerId));
@@ -3696,7 +3946,8 @@ const RenderStylesConnect = ({
3696
3946
  onChangeLayerStyle: layerChangeStyle,
3697
3947
  isEnabled: isLayerEnabled,
3698
3948
  icon: icon,
3699
- tooltipPrefix: tooltipPrefix
3949
+ tooltipPrefix: tooltipPrefix,
3950
+ skipLocalStyling: skipLocalStyling
3700
3951
  });
3701
3952
  };
3702
3953
 
@@ -3719,7 +3970,8 @@ const RenderStylesConnect = ({
3719
3970
  const RenderLayersConnect = ({
3720
3971
  layerId,
3721
3972
  mapId,
3722
- tooltipPrefix
3973
+ tooltipPrefix,
3974
+ skipLocalStyling
3723
3975
  }) => {
3724
3976
  const dispatch = useDispatch();
3725
3977
  const layerName = useSelector(store => layerSelectors.getLayerName(store, layerId));
@@ -3772,7 +4024,8 @@ const RenderLayersConnect = ({
3772
4024
  });
3773
4025
  },
3774
4026
  isEnabled: isLayerEnabled,
3775
- tooltipPrefix: tooltipPrefix
4027
+ tooltipPrefix: tooltipPrefix,
4028
+ skipLocalStyling: skipLocalStyling
3776
4029
  });
3777
4030
  };
3778
4031
 
@@ -4030,7 +4283,8 @@ function getCurrentOptionForLayer(thisLayerHasBoth, thisLayerHasAutoTimestep, th
4030
4283
  const AcceptanceTimeConnect = ({
4031
4284
  layerId,
4032
4285
  icon,
4033
- tooltipTitle
4286
+ tooltipTitle,
4287
+ skipLocalStyling
4034
4288
  }) => {
4035
4289
  const isEnabled = useSelector(store => layerSelectors.getLayerEnabled(store, layerId));
4036
4290
  const dispatch = useDispatch();
@@ -4061,7 +4315,8 @@ const AcceptanceTimeConnect = ({
4061
4315
  acceptanceTimeInMinutes: acceptanceTimeInMinutes,
4062
4316
  onChangeAcceptanceTime: onChangeAcceptanceTime,
4063
4317
  icon: icon,
4064
- tooltipTitle: tooltipTitle
4318
+ tooltipTitle: tooltipTitle,
4319
+ skipLocalStyling: skipLocalStyling
4065
4320
  });
4066
4321
  };
4067
4322
 
@@ -4130,6 +4385,93 @@ const CustomDimensionSelectConnect = _a => {
4130
4385
  }, props));
4131
4386
  };
4132
4387
 
4388
+ /* *
4389
+ * Licensed under the Apache License, Version 2.0 (the "License");
4390
+ * you may not use this file except in compliance with the License.
4391
+ * You may obtain a copy of the License at
4392
+ *
4393
+ * http://www.apache.org/licenses/LICENSE-2.0
4394
+ *
4395
+ * Unless required by applicable law or agreed to in writing, software
4396
+ * distributed under the License is distributed on an "AS IS" BASIS,
4397
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4398
+ * See the License for the specific language governing permissions and
4399
+ * limitations under the License.
4400
+ *
4401
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4402
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
4403
+ * */
4404
+ const LayerInfoButtonConnect = ({
4405
+ isLayerMissing,
4406
+ mapId,
4407
+ serviceUrl,
4408
+ layerName,
4409
+ source: _source = 'app'
4410
+ }) => {
4411
+ const dispatch = useDispatch();
4412
+ const isOpenInStore = useSelector(store => uiSelectors.getisDialogOpen(store, uiTypes.DialogTypes.LayerInfo));
4413
+ const currentLayerInfo = useSelector(store => layerSelectors.getActiveLayerInfo(store));
4414
+ const isActive = layerName === (currentLayerInfo === null || currentLayerInfo === void 0 ? void 0 : currentLayerInfo.layerName) && serviceUrl === (currentLayerInfo === null || currentLayerInfo === void 0 ? void 0 : currentLayerInfo.serviceUrl) && isOpenInStore;
4415
+ const onClick = () => {
4416
+ if (!isActive) {
4417
+ dispatch(layerActions.showLayerInfo({
4418
+ layerName,
4419
+ serviceUrl,
4420
+ source: _source,
4421
+ mapId
4422
+ }));
4423
+ } else {
4424
+ dispatch(layerActions.hideLayerInfo());
4425
+ }
4426
+ };
4427
+ return /*#__PURE__*/React__default.createElement(LayerInfoButton, {
4428
+ disabled: isLayerMissing,
4429
+ isActive: isActive,
4430
+ onClick: onClick
4431
+ });
4432
+ };
4433
+
4434
+ /* *
4435
+ * Licensed under the Apache License, Version 2.0 (the "License");
4436
+ * you may not use this file except in compliance with the License.
4437
+ * You may obtain a copy of the License at
4438
+ *
4439
+ * http://www.apache.org/licenses/LICENSE-2.0
4440
+ *
4441
+ * Unless required by applicable law or agreed to in writing, software
4442
+ * distributed under the License is distributed on an "AS IS" BASIS,
4443
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
4444
+ * See the License for the specific language governing permissions and
4445
+ * limitations under the License.
4446
+ *
4447
+ * Copyright 2022 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
4448
+ * Copyright 2022 - Finnish Meteorological Institute (FMI)
4449
+ * */
4450
+ const LayerInfoDialogConnect = () => {
4451
+ const layerInfo = useSelector(store => layerSelectors.getActiveLayerInfo(store));
4452
+ const layer = useSelector(store => serviceSelectors.getLayerFromService(store, (layerInfo === null || layerInfo === void 0 ? void 0 : layerInfo.serviceUrl) || '', layerInfo === null || layerInfo === void 0 ? void 0 : layerInfo.layerName));
4453
+ const currentService = useSelector(store => serviceSelectors.getServiceByUrl(store, (layerInfo === null || layerInfo === void 0 ? void 0 : layerInfo.serviceUrl) || ''));
4454
+ const {
4455
+ dialogOrder,
4456
+ onCloseDialog,
4457
+ setDialogOrder,
4458
+ uiSource,
4459
+ isDialogOpen
4460
+ } = useSetupDialog(uiTypes.DialogTypes.LayerInfo);
4461
+ if (!layer) {
4462
+ return null;
4463
+ }
4464
+ return /*#__PURE__*/React__default.createElement(LayerInfoDialog, {
4465
+ isOpen: isDialogOpen,
4466
+ onClose: onCloseDialog,
4467
+ onMouseDown: setDialogOrder,
4468
+ order: dialogOrder,
4469
+ source: uiSource,
4470
+ layer: layer,
4471
+ serviceName: currentService === null || currentService === void 0 ? void 0 : currentService.name
4472
+ });
4473
+ };
4474
+
4133
4475
  // Whenever a new layer is added index is updated in the dragHandle, which modifies the testing text. Below we ignore this text, as it serves no other purpose.
4134
4476
  const areEqual = (prevProps, nextProps) => {
4135
4477
  if (prevProps.layerId === nextProps.layerId && prevProps.mapId === nextProps.mapId && prevProps.settings === nextProps.settings && prevProps.dragHandle.props.isDisabled === nextProps.dragHandle.props.isDisabled && prevProps.dragHandle.props.toolTipTitle === nextProps.dragHandle.props.toolTipTitle) {
@@ -4157,9 +4499,6 @@ const LayerRowConnect = /*#__PURE__*/React.memo(({
4157
4499
  const currentService = useSelector(store => {
4158
4500
  return serviceSelectors.getServiceByUrl(store, layerServiceUrl);
4159
4501
  });
4160
- const selectedLayer = Object.assign(Object.assign({}, layerWithAllData), {
4161
- serviceName: currentService === null || currentService === void 0 ? void 0 : currentService.name
4162
- });
4163
4502
  const fullLayerName = serviceLayer === null || serviceLayer === void 0 ? void 0 : serviceLayer.title;
4164
4503
  renderCounter.count(LayerRowConnect.name);
4165
4504
  return /*#__PURE__*/React.createElement(LayerRow, {
@@ -4187,21 +4526,25 @@ const LayerRowConnect = /*#__PURE__*/React.memo(({
4187
4526
  })) : ( /*#__PURE__*/React.createElement(RenderLayersConnect, {
4188
4527
  layerId: layerId,
4189
4528
  mapId: mapId,
4190
- tooltipPrefix: (_g = settings === null || settings === void 0 ? void 0 : settings.renderLayer) === null || _g === void 0 ? void 0 : _g.tooltipPrefix
4529
+ tooltipPrefix: (_g = settings === null || settings === void 0 ? void 0 : settings.renderLayer) === null || _g === void 0 ? void 0 : _g.tooltipPrefix,
4530
+ skipLocalStyling: true
4191
4531
  })),
4192
4532
  layerDimensionLayout: (settings === null || settings === void 0 ? void 0 : settings.dimensions) ? ( /*#__PURE__*/React.createElement(CustomDimensionSelectConnect, Object.assign({
4193
4533
  layerId: layerId,
4194
4534
  mapId: mapId
4195
4535
  }, settings === null || settings === void 0 ? void 0 : settings.dimensions))) : ( /*#__PURE__*/React.createElement(DimensionSelectConnect, {
4196
4536
  layerId: layerId,
4197
- mapId: mapId
4537
+ mapId: mapId,
4538
+ skipLocalStyling: true
4198
4539
  })),
4199
4540
  layerStylesLayout: /*#__PURE__*/React.createElement(RenderStylesConnect, Object.assign({
4200
4541
  layerId: layerId,
4201
- mapId: mapId
4542
+ mapId: mapId,
4543
+ skipLocalStyling: true
4202
4544
  }, settings === null || settings === void 0 ? void 0 : settings.layerStyle)),
4203
4545
  layerAcceptanceTimeLayout: /*#__PURE__*/React.createElement(AcceptanceTimeConnect, Object.assign({
4204
- layerId: layerId
4546
+ layerId: layerId,
4547
+ skipLocalStyling: true
4205
4548
  }, settings === null || settings === void 0 ? void 0 : settings.acceptanceTime)),
4206
4549
  layerMissingDataLayout: /*#__PURE__*/React.createElement(MissingDataConnect, {
4207
4550
  mapId: mapId,
@@ -4213,9 +4556,9 @@ const LayerRowConnect = /*#__PURE__*/React.memo(({
4213
4556
  }, settings === null || settings === void 0 ? void 0 : settings.deleteLayer)),
4214
4557
  layerShowLayerInfoLayout: /*#__PURE__*/React.createElement(LayerInfoButtonConnect, {
4215
4558
  isLayerMissing: !serviceLayer,
4216
- layer: selectedLayer,
4217
4559
  mapId: mapId,
4218
- serviceName: currentService === null || currentService === void 0 ? void 0 : currentService.name
4560
+ serviceUrl: currentService === null || currentService === void 0 ? void 0 : currentService.serviceUrl,
4561
+ layerName: (layerWithAllData === null || layerWithAllData === void 0 ? void 0 : layerWithAllData.name) || ''
4219
4562
  }),
4220
4563
  layerMenuLayout: /*#__PURE__*/React.createElement(LayerManagerMenuButtonConnect, Object.assign({
4221
4564
  mapId: mapId,
@@ -4375,7 +4718,13 @@ const LayerContainerRow = /*#__PURE__*/React.memo(_a => {
4375
4718
  sx: {
4376
4719
  width: '100%',
4377
4720
  maxHeight: 'calc(100% - 10px)',
4378
- overflow: 'auto'
4721
+ overflow: 'auto',
4722
+ '& .sortable-chosen': {
4723
+ boxShadow: 1
4724
+ },
4725
+ '& .sortable-ghost': {
4726
+ opacity: '0.5 !important'
4727
+ }
4379
4728
  }
4380
4729
  }, gridProps), /*#__PURE__*/React.createElement(ReactSortable, {
4381
4730
  tag: "div",
@@ -4400,12 +4749,14 @@ const LayerContainerRow = /*#__PURE__*/React.memo(_a => {
4400
4749
  });
4401
4750
 
4402
4751
  var aCallable$1 = aCallable$4;
4403
- var toObject$2 = toObject$6;
4752
+ var toObject$2 = toObject$7;
4404
4753
  var IndexedObject = indexedObject;
4405
- var lengthOfArrayLike$1 = lengthOfArrayLike$3;
4754
+ var lengthOfArrayLike$1 = lengthOfArrayLike$4;
4406
4755
 
4407
4756
  var $TypeError$2 = TypeError;
4408
4757
 
4758
+ var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
4759
+
4409
4760
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
4410
4761
  var createMethod$2 = function (IS_RIGHT) {
4411
4762
  return function (that, callbackfn, argumentsLength, memo) {
@@ -4413,6 +4764,7 @@ var createMethod$2 = function (IS_RIGHT) {
4413
4764
  var self = IndexedObject(O);
4414
4765
  var length = lengthOfArrayLike$1(O);
4415
4766
  aCallable$1(callbackfn);
4767
+ if (length === 0 && argumentsLength < 2) throw new $TypeError$2(REDUCE_EMPTY);
4416
4768
  var index = IS_RIGHT ? length - 1 : 0;
4417
4769
  var i = IS_RIGHT ? -1 : 1;
4418
4770
  if (argumentsLength < 2) while (true) {
@@ -4423,7 +4775,7 @@ var createMethod$2 = function (IS_RIGHT) {
4423
4775
  }
4424
4776
  index += i;
4425
4777
  if (IS_RIGHT ? index < 0 : length <= index) {
4426
- throw new $TypeError$2('Reduce of empty array with no initial value');
4778
+ throw new $TypeError$2(REDUCE_EMPTY);
4427
4779
  }
4428
4780
  }
4429
4781
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -4442,22 +4794,22 @@ var arrayReduce = {
4442
4794
  right: createMethod$2(true)
4443
4795
  };
4444
4796
 
4445
- var fails$7 = fails$l;
4797
+ var fails$8 = fails$n;
4446
4798
 
4447
4799
  var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) {
4448
4800
  var method = [][METHOD_NAME];
4449
- return !!method && fails$7(function () {
4801
+ return !!method && fails$8(function () {
4450
4802
  // eslint-disable-next-line no-useless-call -- required for testing
4451
4803
  method.call(null, argument || function () { return 1; }, 1);
4452
4804
  });
4453
4805
  };
4454
4806
 
4455
- var global$4 = global$g;
4807
+ var global$5 = global$g;
4456
4808
  var classof$1 = classofRaw$1;
4457
4809
 
4458
- var engineIsNode = classof$1(global$4.process) === 'process';
4810
+ var engineIsNode = classof$1(global$5.process) === 'process';
4459
4811
 
4460
- var $$3 = _export;
4812
+ var $$5 = _export;
4461
4813
  var $reduce = arrayReduce.left;
4462
4814
  var arrayMethodIsStrict$1 = arrayMethodIsStrict$2;
4463
4815
  var CHROME_VERSION = engineV8Version;
@@ -4466,11 +4818,11 @@ var IS_NODE = engineIsNode;
4466
4818
  // Chrome 80-82 has a critical bug
4467
4819
  // https://bugs.chromium.org/p/chromium/issues/detail?id=1049982
4468
4820
  var CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;
4469
- var FORCED$1 = CHROME_BUG || !arrayMethodIsStrict$1('reduce');
4821
+ var FORCED$2 = CHROME_BUG || !arrayMethodIsStrict$1('reduce');
4470
4822
 
4471
4823
  // `Array.prototype.reduce` method
4472
4824
  // https://tc39.es/ecma262/#sec-array.prototype.reduce
4473
- $$3({ target: 'Array', proto: true, forced: FORCED$1 }, {
4825
+ $$5({ target: 'Array', proto: true, forced: FORCED$2 }, {
4474
4826
  reduce: function reduce(callbackfn /* , initialValue */) {
4475
4827
  var length = arguments.length;
4476
4828
  return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);
@@ -4610,13 +4962,13 @@ const BaseLayersConnect = ({
4610
4962
  });
4611
4963
  };
4612
4964
 
4613
- var fails$6 = fails$l;
4614
- var global$3 = global$g;
4965
+ var fails$7 = fails$n;
4966
+ var global$4 = global$g;
4615
4967
 
4616
4968
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
4617
- var $RegExp$2 = global$3.RegExp;
4969
+ var $RegExp$2 = global$4.RegExp;
4618
4970
 
4619
- var UNSUPPORTED_Y$1 = fails$6(function () {
4971
+ var UNSUPPORTED_Y$1 = fails$7(function () {
4620
4972
  var re = $RegExp$2('a', 'y');
4621
4973
  re.lastIndex = 2;
4622
4974
  return re.exec('abcd') !== null;
@@ -4624,11 +4976,11 @@ var UNSUPPORTED_Y$1 = fails$6(function () {
4624
4976
 
4625
4977
  // UC Browser bug
4626
4978
  // https://github.com/zloirock/core-js/issues/1008
4627
- var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$6(function () {
4979
+ var MISSED_STICKY = UNSUPPORTED_Y$1 || fails$7(function () {
4628
4980
  return !$RegExp$2('a', 'y').sticky;
4629
4981
  });
4630
4982
 
4631
- var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$6(function () {
4983
+ var BROKEN_CARET = UNSUPPORTED_Y$1 || fails$7(function () {
4632
4984
  // https://bugzilla.mozilla.org/show_bug.cgi?id=773687
4633
4985
  var re = $RegExp$2('^r', 'gy');
4634
4986
  re.lastIndex = 2;
@@ -4641,24 +4993,24 @@ var regexpStickyHelpers = {
4641
4993
  UNSUPPORTED_Y: UNSUPPORTED_Y$1
4642
4994
  };
4643
4995
 
4644
- var fails$5 = fails$l;
4645
- var global$2 = global$g;
4996
+ var fails$6 = fails$n;
4997
+ var global$3 = global$g;
4646
4998
 
4647
4999
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
4648
- var $RegExp$1 = global$2.RegExp;
5000
+ var $RegExp$1 = global$3.RegExp;
4649
5001
 
4650
- var regexpUnsupportedDotAll = fails$5(function () {
5002
+ var regexpUnsupportedDotAll = fails$6(function () {
4651
5003
  var re = $RegExp$1('.', 's');
4652
5004
  return !(re.dotAll && re.test('\n') && re.flags === 's');
4653
5005
  });
4654
5006
 
4655
- var fails$4 = fails$l;
4656
- var global$1 = global$g;
5007
+ var fails$5 = fails$n;
5008
+ var global$2 = global$g;
4657
5009
 
4658
5010
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
4659
- var $RegExp = global$1.RegExp;
5011
+ var $RegExp = global$2.RegExp;
4660
5012
 
4661
- var regexpUnsupportedNcg = fails$4(function () {
5013
+ var regexpUnsupportedNcg = fails$5(function () {
4662
5014
  var re = $RegExp('(?<a>b)', 'g');
4663
5015
  return re.exec('b').groups.a !== 'b' ||
4664
5016
  'b'.replace(re, '$<a>c') !== 'bc';
@@ -4666,12 +5018,12 @@ var regexpUnsupportedNcg = fails$4(function () {
4666
5018
 
4667
5019
  /* eslint-disable regexp/no-empty-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */
4668
5020
  /* eslint-disable regexp/no-useless-quantifier -- testing */
4669
- var call$5 = functionCall;
4670
- var uncurryThis$6 = functionUncurryThis;
4671
- var toString$5 = toString$7;
5021
+ var call$6 = functionCall;
5022
+ var uncurryThis$7 = functionUncurryThis;
5023
+ var toString$7 = toString$9;
4672
5024
  var regexpFlags = regexpFlags$1;
4673
5025
  var stickyHelpers = regexpStickyHelpers;
4674
- var shared = shared$4.exports;
5026
+ var shared = shared$4;
4675
5027
  var create = objectCreate;
4676
5028
  var getInternalState = internalState.get;
4677
5029
  var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
@@ -4680,16 +5032,16 @@ var UNSUPPORTED_NCG = regexpUnsupportedNcg;
4680
5032
  var nativeReplace = shared('native-string-replace', String.prototype.replace);
4681
5033
  var nativeExec = RegExp.prototype.exec;
4682
5034
  var patchedExec = nativeExec;
4683
- var charAt$3 = uncurryThis$6(''.charAt);
4684
- var indexOf = uncurryThis$6(''.indexOf);
4685
- var replace$2 = uncurryThis$6(''.replace);
4686
- var stringSlice$3 = uncurryThis$6(''.slice);
5035
+ var charAt$3 = uncurryThis$7(''.charAt);
5036
+ var indexOf = uncurryThis$7(''.indexOf);
5037
+ var replace$3 = uncurryThis$7(''.replace);
5038
+ var stringSlice$3 = uncurryThis$7(''.slice);
4687
5039
 
4688
5040
  var UPDATES_LAST_INDEX_WRONG = (function () {
4689
5041
  var re1 = /a/;
4690
5042
  var re2 = /b*/g;
4691
- call$5(nativeExec, re1, 'a');
4692
- call$5(nativeExec, re2, 'a');
5043
+ call$6(nativeExec, re1, 'a');
5044
+ call$6(nativeExec, re2, 'a');
4693
5045
  return re1.lastIndex !== 0 || re2.lastIndex !== 0;
4694
5046
  })();
4695
5047
 
@@ -4704,26 +5056,26 @@ if (PATCH) {
4704
5056
  patchedExec = function exec(string) {
4705
5057
  var re = this;
4706
5058
  var state = getInternalState(re);
4707
- var str = toString$5(string);
5059
+ var str = toString$7(string);
4708
5060
  var raw = state.raw;
4709
5061
  var result, reCopy, lastIndex, match, i, object, group;
4710
5062
 
4711
5063
  if (raw) {
4712
5064
  raw.lastIndex = re.lastIndex;
4713
- result = call$5(patchedExec, raw, str);
5065
+ result = call$6(patchedExec, raw, str);
4714
5066
  re.lastIndex = raw.lastIndex;
4715
5067
  return result;
4716
5068
  }
4717
5069
 
4718
5070
  var groups = state.groups;
4719
5071
  var sticky = UNSUPPORTED_Y && re.sticky;
4720
- var flags = call$5(regexpFlags, re);
5072
+ var flags = call$6(regexpFlags, re);
4721
5073
  var source = re.source;
4722
5074
  var charsAdded = 0;
4723
5075
  var strCopy = str;
4724
5076
 
4725
5077
  if (sticky) {
4726
- flags = replace$2(flags, 'y', '');
5078
+ flags = replace$3(flags, 'y', '');
4727
5079
  if (indexOf(flags, 'g') === -1) {
4728
5080
  flags += 'g';
4729
5081
  }
@@ -4745,7 +5097,7 @@ if (PATCH) {
4745
5097
  }
4746
5098
  if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;
4747
5099
 
4748
- match = call$5(nativeExec, sticky ? reCopy : re, strCopy);
5100
+ match = call$6(nativeExec, sticky ? reCopy : re, strCopy);
4749
5101
 
4750
5102
  if (sticky) {
4751
5103
  if (match) {
@@ -4760,7 +5112,7 @@ if (PATCH) {
4760
5112
  if (NPCG_INCLUDED && match && match.length > 1) {
4761
5113
  // Fix browsers whose `exec` methods don't consistently return `undefined`
4762
5114
  // for NPCG, like IE8. NOTE: This doesn't work for /(.?)?/
4763
- call$5(nativeReplace, match[0], reCopy, function () {
5115
+ call$6(nativeReplace, match[0], reCopy, function () {
4764
5116
  for (i = 1; i < arguments.length - 2; i++) {
4765
5117
  if (arguments[i] === undefined) match[i] = undefined;
4766
5118
  }
@@ -4781,34 +5133,69 @@ if (PATCH) {
4781
5133
 
4782
5134
  var regexpExec$2 = patchedExec;
4783
5135
 
4784
- var $$2 = _export;
5136
+ var $$4 = _export;
4785
5137
  var exec = regexpExec$2;
4786
5138
 
4787
5139
  // `RegExp.prototype.exec` method
4788
5140
  // https://tc39.es/ecma262/#sec-regexp.prototype.exec
4789
- $$2({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
5141
+ $$4({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {
4790
5142
  exec: exec
4791
5143
  });
4792
5144
 
5145
+ // TODO: Remove from `core-js@4` since it's moved to entry points
5146
+
5147
+ var $$3 = _export;
5148
+ var call$5 = functionCall;
5149
+ var isCallable$3 = isCallable$i;
5150
+ var anObject$3 = anObject$a;
5151
+ var toString$6 = toString$9;
5152
+
5153
+ var DELEGATES_TO_EXEC = function () {
5154
+ var execCalled = false;
5155
+ var re = /[ac]/;
5156
+ re.exec = function () {
5157
+ execCalled = true;
5158
+ return /./.exec.apply(this, arguments);
5159
+ };
5160
+ return re.test('abc') === true && execCalled;
5161
+ }();
5162
+
5163
+ var nativeTest = /./.test;
5164
+
5165
+ // `RegExp.prototype.test` method
5166
+ // https://tc39.es/ecma262/#sec-regexp.prototype.test
5167
+ $$3({ target: 'RegExp', proto: true, forced: !DELEGATES_TO_EXEC }, {
5168
+ test: function (S) {
5169
+ var R = anObject$3(this);
5170
+ var string = toString$6(S);
5171
+ var exec = R.exec;
5172
+ if (!isCallable$3(exec)) return call$5(nativeTest, R, string);
5173
+ var result = call$5(exec, R, string);
5174
+ if (result === null) return false;
5175
+ anObject$3(result);
5176
+ return true;
5177
+ }
5178
+ });
5179
+
4793
5180
  // a string of all valid unicode whitespaces
4794
5181
  var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u2001\u2002' +
4795
5182
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
4796
5183
 
4797
- var uncurryThis$5 = functionUncurryThis;
4798
- var requireObjectCoercible$3 = requireObjectCoercible$7;
4799
- var toString$4 = toString$7;
5184
+ var uncurryThis$6 = functionUncurryThis;
5185
+ var requireObjectCoercible$3 = requireObjectCoercible$8;
5186
+ var toString$5 = toString$9;
4800
5187
  var whitespaces$1 = whitespaces$2;
4801
5188
 
4802
- var replace$1 = uncurryThis$5(''.replace);
5189
+ var replace$2 = uncurryThis$6(''.replace);
4803
5190
  var ltrim = RegExp('^[' + whitespaces$1 + ']+');
4804
5191
  var rtrim = RegExp('(^|[^' + whitespaces$1 + '])[' + whitespaces$1 + ']+$');
4805
5192
 
4806
5193
  // `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation
4807
5194
  var createMethod$1 = function (TYPE) {
4808
5195
  return function ($this) {
4809
- var string = toString$4(requireObjectCoercible$3($this));
4810
- if (TYPE & 1) string = replace$1(string, ltrim, '');
4811
- if (TYPE & 2) string = replace$1(string, rtrim, '$1');
5196
+ var string = toString$5(requireObjectCoercible$3($this));
5197
+ if (TYPE & 1) string = replace$2(string, ltrim, '');
5198
+ if (TYPE & 2) string = replace$2(string, rtrim, '$1');
4812
5199
  return string;
4813
5200
  };
4814
5201
  };
@@ -4826,7 +5213,7 @@ var stringTrim = {
4826
5213
  };
4827
5214
 
4828
5215
  var PROPER_FUNCTION_NAME = functionName.PROPER;
4829
- var fails$3 = fails$l;
5216
+ var fails$4 = fails$n;
4830
5217
  var whitespaces = whitespaces$2;
4831
5218
 
4832
5219
  var non = '\u200B\u0085\u180E';
@@ -4834,20 +5221,20 @@ var non = '\u200B\u0085\u180E';
4834
5221
  // check that a method works with the correct list
4835
5222
  // of whitespaces and has a correct name
4836
5223
  var stringTrimForced = function (METHOD_NAME) {
4837
- return fails$3(function () {
5224
+ return fails$4(function () {
4838
5225
  return !!whitespaces[METHOD_NAME]()
4839
5226
  || non[METHOD_NAME]() !== non
4840
5227
  || (PROPER_FUNCTION_NAME && whitespaces[METHOD_NAME].name !== METHOD_NAME);
4841
5228
  });
4842
5229
  };
4843
5230
 
4844
- var $$1 = _export;
5231
+ var $$2 = _export;
4845
5232
  var $trim = stringTrim.trim;
4846
5233
  var forcedStringTrimMethod = stringTrimForced;
4847
5234
 
4848
5235
  // `String.prototype.trim` method
4849
5236
  // https://tc39.es/ecma262/#sec-string.prototype.trim
4850
- $$1({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
5237
+ $$2({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {
4851
5238
  trim: function trim() {
4852
5239
  return $trim(this);
4853
5240
  }
@@ -4861,9 +5248,9 @@ var deletePropertyOrThrow$1 = function (O, P) {
4861
5248
  if (!delete O[P]) throw new $TypeError$1('Cannot delete property ' + tryToString(P) + ' of ' + tryToString(O));
4862
5249
  };
4863
5250
 
4864
- var uncurryThis$4 = functionUncurryThis;
5251
+ var uncurryThis$5 = functionUncurryThis;
4865
5252
 
4866
- var arraySlice$1 = uncurryThis$4([].slice);
5253
+ var arraySlice$1 = uncurryThis$5([].slice);
4867
5254
 
4868
5255
  var arraySlice = arraySlice$1;
4869
5256
 
@@ -4923,14 +5310,14 @@ var webkit = userAgent.match(/AppleWebKit\/(\d+)\./);
4923
5310
 
4924
5311
  var engineWebkitVersion = !!webkit && +webkit[1];
4925
5312
 
4926
- var $ = _export;
4927
- var uncurryThis$3 = functionUncurryThis;
5313
+ var $$1 = _export;
5314
+ var uncurryThis$4 = functionUncurryThis;
4928
5315
  var aCallable = aCallable$4;
4929
- var toObject$1 = toObject$6;
4930
- var lengthOfArrayLike = lengthOfArrayLike$3;
5316
+ var toObject$1 = toObject$7;
5317
+ var lengthOfArrayLike = lengthOfArrayLike$4;
4931
5318
  var deletePropertyOrThrow = deletePropertyOrThrow$1;
4932
- var toString$3 = toString$7;
4933
- var fails$2 = fails$l;
5319
+ var toString$4 = toString$9;
5320
+ var fails$3 = fails$n;
4934
5321
  var internalSort = arraySort;
4935
5322
  var arrayMethodIsStrict = arrayMethodIsStrict$2;
4936
5323
  var FF = engineFfVersion;
@@ -4939,21 +5326,21 @@ var V8 = engineV8Version;
4939
5326
  var WEBKIT = engineWebkitVersion;
4940
5327
 
4941
5328
  var test = [];
4942
- var nativeSort = uncurryThis$3(test.sort);
4943
- var push$1 = uncurryThis$3(test.push);
5329
+ var nativeSort = uncurryThis$4(test.sort);
5330
+ var push$1 = uncurryThis$4(test.push);
4944
5331
 
4945
5332
  // IE8-
4946
- var FAILS_ON_UNDEFINED = fails$2(function () {
5333
+ var FAILS_ON_UNDEFINED = fails$3(function () {
4947
5334
  test.sort(undefined);
4948
5335
  });
4949
5336
  // V8 bug
4950
- var FAILS_ON_NULL = fails$2(function () {
5337
+ var FAILS_ON_NULL = fails$3(function () {
4951
5338
  test.sort(null);
4952
5339
  });
4953
5340
  // Old WebKit
4954
5341
  var STRICT_METHOD = arrayMethodIsStrict('sort');
4955
5342
 
4956
- var STABLE_SORT = !fails$2(function () {
5343
+ var STABLE_SORT = !fails$3(function () {
4957
5344
  // feature detection can be too slow, so check engines versions
4958
5345
  if (V8) return V8 < 70;
4959
5346
  if (FF && FF > 3) return;
@@ -4988,20 +5375,20 @@ var STABLE_SORT = !fails$2(function () {
4988
5375
  return result !== 'DGBEFHACIJK';
4989
5376
  });
4990
5377
 
4991
- var FORCED = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
5378
+ var FORCED$1 = FAILS_ON_UNDEFINED || !FAILS_ON_NULL || !STRICT_METHOD || !STABLE_SORT;
4992
5379
 
4993
5380
  var getSortCompare = function (comparefn) {
4994
5381
  return function (x, y) {
4995
5382
  if (y === undefined) return -1;
4996
5383
  if (x === undefined) return 1;
4997
5384
  if (comparefn !== undefined) return +comparefn(x, y) || 0;
4998
- return toString$3(x) > toString$3(y) ? 1 : -1;
5385
+ return toString$4(x) > toString$4(y) ? 1 : -1;
4999
5386
  };
5000
5387
  };
5001
5388
 
5002
5389
  // `Array.prototype.sort` method
5003
5390
  // https://tc39.es/ecma262/#sec-array.prototype.sort
5004
- $({ target: 'Array', proto: true, forced: FORCED }, {
5391
+ $$1({ target: 'Array', proto: true, forced: FORCED$1 }, {
5005
5392
  sort: function sort(comparefn) {
5006
5393
  if (comparefn !== undefined) aCallable(comparefn);
5007
5394
 
@@ -6025,8 +6412,8 @@ const LayerManager = ({
6025
6412
  setFocused: _setFocused = () => {},
6026
6413
  settings,
6027
6414
  headerSize: _headerSize = 'medium',
6028
- isMultiMap,
6029
- mapWidthRef
6415
+ mapWidthRef,
6416
+ addLayerComponent
6030
6417
  }) => {
6031
6418
  var _a, _b, _c, _d, _e, _f, _g;
6032
6419
  const minSize = {
@@ -6142,10 +6529,9 @@ const LayerManager = ({
6142
6529
  sx: styles$1.layerRowContainer
6143
6530
  }, /*#__PURE__*/React.createElement(DescriptionRow, {
6144
6531
  mapPresetsModule: _leftHeaderComponent,
6145
- mapId: mapId,
6146
6532
  source: _source,
6147
6533
  settings: settings === null || settings === void 0 ? void 0 : settings.header,
6148
- isMultiMap: isMultiMap
6534
+ addLayerComponent: addLayerComponent
6149
6535
  }), /*#__PURE__*/React.createElement(LayerContainerRow, {
6150
6536
  mapId: mapId,
6151
6537
  settings: settings === null || settings === void 0 ? void 0 : settings.content
@@ -6166,7 +6552,7 @@ const getServicesToLoad = services => services.map(service => {
6166
6552
  return {
6167
6553
  id: wmService.id,
6168
6554
  name: service.name,
6169
- serviceUrl: service.url,
6555
+ url: service.url,
6170
6556
  scope,
6171
6557
  abstract: service.abstract || wmService.abstract
6172
6558
  };
@@ -6223,8 +6609,8 @@ const getDialogType = (mapId, isMultiMap, isDocked) => {
6223
6609
  * a dialog should have the <LayerManagerMapButtonConnect/> which is used to focus the correct map and open the dialog
6224
6610
  *
6225
6611
  * Expects the following props:
6226
- * @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
6227
- * @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
6612
+ * @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
6613
+ * @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
6228
6614
  * @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
6229
6615
  * ``` <LayerManagerConnect />```
6230
6616
  */
@@ -6281,7 +6667,7 @@ const LayerManagerConnect = ({
6281
6667
  }, [dispatch, _isDocked, mapId, onCloseDialog, _source]);
6282
6668
  return React.useMemo(() => {
6283
6669
  const shownTitle = _showMapIdInTitle ? `${_title} ${mapId}` : _title;
6284
- return /*#__PURE__*/React.createElement(LayerManager, {
6670
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LayerManager, {
6285
6671
  mapId: mapId || initialMapId,
6286
6672
  preloadedAvailableBaseLayers: preloadedAvailableBaseLayers,
6287
6673
  preloadedBaseServices: preloadedBaseServices,
@@ -6299,7 +6685,6 @@ const LayerManagerConnect = ({
6299
6685
  onToggleDock: onToggleDock,
6300
6686
  setFocused: setFocused,
6301
6687
  headerSize: "xs",
6302
- isMultiMap: _isMultiMap,
6303
6688
  isDockedLayerManager: _isDocked,
6304
6689
  startPosition: _isDocked ? {
6305
6690
  top: 60,
@@ -6308,9 +6693,14 @@ const LayerManagerConnect = ({
6308
6693
  top: 85,
6309
6694
  left: 50
6310
6695
  },
6311
- mapWidthRef: mapWidthRef
6312
- });
6313
- }, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, _isDocked, _isMultiMap, _leftHeaderComponent, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, setFocused, _showMapIdInTitle, _title, uiError, uiIsLoading, uiSource, mapWidthRef]);
6696
+ mapWidthRef: mapWidthRef,
6697
+ addLayerComponent: /*#__PURE__*/React.createElement(LayerSelectButtonConnect, {
6698
+ mapId: mapId,
6699
+ source: _source,
6700
+ isMultiMap: _isMultiMap
6701
+ })
6702
+ }), !_isDocked && /*#__PURE__*/React.createElement(LayerInfoDialogConnect, null), !_isDocked && /*#__PURE__*/React.createElement(LayerSelectConnect, null));
6703
+ }, [bounds, dialogOrder, dockedLayerManagerSize, initialMapId, isDialogOpen, _isDocked, _isMultiMap, _leftHeaderComponent, mapId, onCloseDialog, onToggleDock, preloadedAvailableBaseLayers, preloadedBaseServices, setDialogOrder, setFocused, _showMapIdInTitle, _title, uiError, uiIsLoading, uiSource, mapWidthRef, _source]);
6314
6704
  };
6315
6705
 
6316
6706
  /* *
@@ -6614,21 +7004,241 @@ const ZoomControlConnect = ({
6614
7004
  if (!isVisible) {
6615
7005
  return null;
6616
7006
  }
6617
- return /*#__PURE__*/React.createElement(ZoomControls, {
6618
- onZoomIn: onZoomIn,
6619
- onZoomOut: onZoomOut,
6620
- onZoomReset: onZoomReset
6621
- });
7007
+ return /*#__PURE__*/React.createElement(ZoomControls, {
7008
+ onZoomIn: onZoomIn,
7009
+ onZoomOut: onZoomOut,
7010
+ onZoomReset: onZoomReset
7011
+ });
7012
+ };
7013
+
7014
+ var NATIVE_BIND = functionBindNative;
7015
+
7016
+ var FunctionPrototype = Function.prototype;
7017
+ var apply$2 = FunctionPrototype.apply;
7018
+ var call$4 = FunctionPrototype.call;
7019
+
7020
+ // eslint-disable-next-line es/no-reflect -- safe
7021
+ var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$4.bind(apply$2) : function () {
7022
+ return call$4.apply(apply$2, arguments);
7023
+ });
7024
+
7025
+ var defineProperty = objectDefineProperty.f;
7026
+
7027
+ var proxyAccessor$1 = function (Target, Source, key) {
7028
+ key in Target || defineProperty(Target, key, {
7029
+ configurable: true,
7030
+ get: function () { return Source[key]; },
7031
+ set: function (it) { Source[key] = it; }
7032
+ });
7033
+ };
7034
+
7035
+ var isCallable$2 = isCallable$i;
7036
+ var isObject$1 = isObject$b;
7037
+ var setPrototypeOf$1 = objectSetPrototypeOf;
7038
+
7039
+ // makes subclassing work correct for wrapped built-ins
7040
+ var inheritIfRequired$1 = function ($this, dummy, Wrapper) {
7041
+ var NewTarget, NewTargetPrototype;
7042
+ if (
7043
+ // it can work only with native `setPrototypeOf`
7044
+ setPrototypeOf$1 &&
7045
+ // we haven't completely correct pre-ES6 way for getting `new.target`, so use this
7046
+ isCallable$2(NewTarget = dummy.constructor) &&
7047
+ NewTarget !== Wrapper &&
7048
+ isObject$1(NewTargetPrototype = NewTarget.prototype) &&
7049
+ NewTargetPrototype !== Wrapper.prototype
7050
+ ) setPrototypeOf$1($this, NewTargetPrototype);
7051
+ return $this;
7052
+ };
7053
+
7054
+ var toString$3 = toString$9;
7055
+
7056
+ var normalizeStringArgument$1 = function (argument, $default) {
7057
+ return argument === undefined ? arguments.length < 2 ? '' : $default : toString$3(argument);
7058
+ };
7059
+
7060
+ var isObject = isObject$b;
7061
+ var createNonEnumerableProperty$3 = createNonEnumerableProperty$8;
7062
+
7063
+ // `InstallErrorCause` abstract operation
7064
+ // https://tc39.es/proposal-error-cause/#sec-errorobjects-install-error-cause
7065
+ var installErrorCause$1 = function (O, options) {
7066
+ if (isObject(options) && 'cause' in options) {
7067
+ createNonEnumerableProperty$3(O, 'cause', options.cause);
7068
+ }
7069
+ };
7070
+
7071
+ var uncurryThis$3 = functionUncurryThis;
7072
+
7073
+ var $Error = Error;
7074
+ var replace$1 = uncurryThis$3(''.replace);
7075
+
7076
+ var TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');
7077
+ // eslint-disable-next-line redos/no-vulnerable -- safe
7078
+ var V8_OR_CHAKRA_STACK_ENTRY = /\n\s*at [^:]*:[^\n]*/;
7079
+ var IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);
7080
+
7081
+ var errorStackClear = function (stack, dropEntries) {
7082
+ if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {
7083
+ while (dropEntries--) stack = replace$1(stack, V8_OR_CHAKRA_STACK_ENTRY, '');
7084
+ } return stack;
7085
+ };
7086
+
7087
+ var fails$2 = fails$n;
7088
+ var createPropertyDescriptor = createPropertyDescriptor$4;
7089
+
7090
+ var errorStackInstallable = !fails$2(function () {
7091
+ var error = new Error('a');
7092
+ if (!('stack' in error)) return true;
7093
+ // eslint-disable-next-line es/no-object-defineproperty -- safe
7094
+ Object.defineProperty(error, 'stack', createPropertyDescriptor(1, 7));
7095
+ return error.stack !== 7;
7096
+ });
7097
+
7098
+ var createNonEnumerableProperty$2 = createNonEnumerableProperty$8;
7099
+ var clearErrorStack = errorStackClear;
7100
+ var ERROR_STACK_INSTALLABLE = errorStackInstallable;
7101
+
7102
+ // non-standard V8
7103
+ var captureStackTrace = Error.captureStackTrace;
7104
+
7105
+ var errorStackInstall = function (error, C, stack, dropEntries) {
7106
+ if (ERROR_STACK_INSTALLABLE) {
7107
+ if (captureStackTrace) captureStackTrace(error, C);
7108
+ else createNonEnumerableProperty$2(error, 'stack', clearErrorStack(stack, dropEntries));
7109
+ }
7110
+ };
7111
+
7112
+ var getBuiltIn = getBuiltIn$4;
7113
+ var hasOwn = hasOwnProperty_1;
7114
+ var createNonEnumerableProperty$1 = createNonEnumerableProperty$8;
7115
+ var isPrototypeOf = objectIsPrototypeOf;
7116
+ var setPrototypeOf = objectSetPrototypeOf;
7117
+ var copyConstructorProperties = copyConstructorProperties$2;
7118
+ var proxyAccessor = proxyAccessor$1;
7119
+ var inheritIfRequired = inheritIfRequired$1;
7120
+ var normalizeStringArgument = normalizeStringArgument$1;
7121
+ var installErrorCause = installErrorCause$1;
7122
+ var installErrorStack = errorStackInstall;
7123
+ var DESCRIPTORS = descriptors;
7124
+
7125
+ var wrapErrorConstructorWithCause$1 = function (FULL_NAME, wrapper, FORCED, IS_AGGREGATE_ERROR) {
7126
+ var STACK_TRACE_LIMIT = 'stackTraceLimit';
7127
+ var OPTIONS_POSITION = IS_AGGREGATE_ERROR ? 2 : 1;
7128
+ var path = FULL_NAME.split('.');
7129
+ var ERROR_NAME = path[path.length - 1];
7130
+ var OriginalError = getBuiltIn.apply(null, path);
7131
+
7132
+ if (!OriginalError) return;
7133
+
7134
+ var OriginalErrorPrototype = OriginalError.prototype;
7135
+
7136
+ // V8 9.3- bug https://bugs.chromium.org/p/v8/issues/detail?id=12006
7137
+ if (hasOwn(OriginalErrorPrototype, 'cause')) delete OriginalErrorPrototype.cause;
7138
+
7139
+ if (!FORCED) return OriginalError;
7140
+
7141
+ var BaseError = getBuiltIn('Error');
7142
+
7143
+ var WrappedError = wrapper(function (a, b) {
7144
+ var message = normalizeStringArgument(IS_AGGREGATE_ERROR ? b : a, undefined);
7145
+ var result = IS_AGGREGATE_ERROR ? new OriginalError(a) : new OriginalError();
7146
+ if (message !== undefined) createNonEnumerableProperty$1(result, 'message', message);
7147
+ installErrorStack(result, WrappedError, result.stack, 2);
7148
+ if (this && isPrototypeOf(OriginalErrorPrototype, this)) inheritIfRequired(result, this, WrappedError);
7149
+ if (arguments.length > OPTIONS_POSITION) installErrorCause(result, arguments[OPTIONS_POSITION]);
7150
+ return result;
7151
+ });
7152
+
7153
+ WrappedError.prototype = OriginalErrorPrototype;
7154
+
7155
+ if (ERROR_NAME !== 'Error') {
7156
+ if (setPrototypeOf) setPrototypeOf(WrappedError, BaseError);
7157
+ else copyConstructorProperties(WrappedError, BaseError, { name: true });
7158
+ } else if (DESCRIPTORS && STACK_TRACE_LIMIT in OriginalError) {
7159
+ proxyAccessor(WrappedError, OriginalError, STACK_TRACE_LIMIT);
7160
+ proxyAccessor(WrappedError, OriginalError, 'prepareStackTrace');
7161
+ }
7162
+
7163
+ copyConstructorProperties(WrappedError, OriginalError);
7164
+
7165
+ try {
7166
+ // Safari 13- bug: WebAssembly errors does not have a proper `.name`
7167
+ if (OriginalErrorPrototype.name !== ERROR_NAME) {
7168
+ createNonEnumerableProperty$1(OriginalErrorPrototype, 'name', ERROR_NAME);
7169
+ }
7170
+ OriginalErrorPrototype.constructor = WrappedError;
7171
+ } catch (error) { /* empty */ }
7172
+
7173
+ return WrappedError;
7174
+ };
7175
+
7176
+ /* eslint-disable no-unused-vars -- required for functions `.length` */
7177
+ var $ = _export;
7178
+ var global$1 = global$g;
7179
+ var apply$1 = functionApply;
7180
+ var wrapErrorConstructorWithCause = wrapErrorConstructorWithCause$1;
7181
+
7182
+ var WEB_ASSEMBLY = 'WebAssembly';
7183
+ var WebAssembly = global$1[WEB_ASSEMBLY];
7184
+
7185
+ // eslint-disable-next-line es/no-error-cause -- feature detection
7186
+ var FORCED = new Error('e', { cause: 7 }).cause !== 7;
7187
+
7188
+ var exportGlobalErrorCauseWrapper = function (ERROR_NAME, wrapper) {
7189
+ var O = {};
7190
+ O[ERROR_NAME] = wrapErrorConstructorWithCause(ERROR_NAME, wrapper, FORCED);
7191
+ $({ global: true, constructor: true, arity: 1, forced: FORCED }, O);
7192
+ };
7193
+
7194
+ var exportWebAssemblyErrorCauseWrapper = function (ERROR_NAME, wrapper) {
7195
+ if (WebAssembly && WebAssembly[ERROR_NAME]) {
7196
+ var O = {};
7197
+ O[ERROR_NAME] = wrapErrorConstructorWithCause(WEB_ASSEMBLY + '.' + ERROR_NAME, wrapper, FORCED);
7198
+ $({ target: WEB_ASSEMBLY, stat: true, constructor: true, arity: 1, forced: FORCED }, O);
7199
+ }
6622
7200
  };
6623
7201
 
7202
+ // https://tc39.es/ecma262/#sec-nativeerror
7203
+ exportGlobalErrorCauseWrapper('Error', function (init) {
7204
+ return function Error(message) { return apply$1(init, this, arguments); };
7205
+ });
7206
+ exportGlobalErrorCauseWrapper('EvalError', function (init) {
7207
+ return function EvalError(message) { return apply$1(init, this, arguments); };
7208
+ });
7209
+ exportGlobalErrorCauseWrapper('RangeError', function (init) {
7210
+ return function RangeError(message) { return apply$1(init, this, arguments); };
7211
+ });
7212
+ exportGlobalErrorCauseWrapper('ReferenceError', function (init) {
7213
+ return function ReferenceError(message) { return apply$1(init, this, arguments); };
7214
+ });
7215
+ exportGlobalErrorCauseWrapper('SyntaxError', function (init) {
7216
+ return function SyntaxError(message) { return apply$1(init, this, arguments); };
7217
+ });
7218
+ exportGlobalErrorCauseWrapper('TypeError', function (init) {
7219
+ return function TypeError(message) { return apply$1(init, this, arguments); };
7220
+ });
7221
+ exportGlobalErrorCauseWrapper('URIError', function (init) {
7222
+ return function URIError(message) { return apply$1(init, this, arguments); };
7223
+ });
7224
+ exportWebAssemblyErrorCauseWrapper('CompileError', function (init) {
7225
+ return function CompileError(message) { return apply$1(init, this, arguments); };
7226
+ });
7227
+ exportWebAssemblyErrorCauseWrapper('LinkError', function (init) {
7228
+ return function LinkError(message) { return apply$1(init, this, arguments); };
7229
+ });
7230
+ exportWebAssemblyErrorCauseWrapper('RuntimeError', function (init) {
7231
+ return function RuntimeError(message) { return apply$1(init, this, arguments); };
7232
+ });
7233
+
6624
7234
  // TODO: Remove from `core-js@4` since it's moved to entry points
6625
7235
 
6626
- var call$4 = functionCall;
7236
+ var call$3 = functionCall;
6627
7237
  var defineBuiltIn = defineBuiltIn$5;
6628
7238
  var regexpExec$1 = regexpExec$2;
6629
- var fails$1 = fails$l;
7239
+ var fails$1 = fails$n;
6630
7240
  var wellKnownSymbol$1 = wellKnownSymbol$c;
6631
- var createNonEnumerableProperty = createNonEnumerableProperty$5;
7241
+ var createNonEnumerableProperty = createNonEnumerableProperty$8;
6632
7242
 
6633
7243
  var SPECIES = wellKnownSymbol$1('species');
6634
7244
  var RegExpPrototype = RegExp.prototype;
@@ -6683,9 +7293,9 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
6683
7293
  // The native String method already delegates to @@method (this
6684
7294
  // polyfilled function), leasing to infinite recursion.
6685
7295
  // We avoid it by directly calling the native @@method method.
6686
- return { done: true, value: call$4(nativeRegExpMethod, regexp, str, arg2) };
7296
+ return { done: true, value: call$3(nativeRegExpMethod, regexp, str, arg2) };
6687
7297
  }
6688
- return { done: true, value: call$4(nativeMethod, str, regexp, arg2) };
7298
+ return { done: true, value: call$3(nativeMethod, str, regexp, arg2) };
6689
7299
  }
6690
7300
  return { done: false };
6691
7301
  });
@@ -6699,8 +7309,8 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
6699
7309
 
6700
7310
  var uncurryThis$2 = functionUncurryThis;
6701
7311
  var toIntegerOrInfinity$1 = toIntegerOrInfinity$4;
6702
- var toString$2 = toString$7;
6703
- var requireObjectCoercible$2 = requireObjectCoercible$7;
7312
+ var toString$2 = toString$9;
7313
+ var requireObjectCoercible$2 = requireObjectCoercible$8;
6704
7314
 
6705
7315
  var charAt$2 = uncurryThis$2(''.charAt);
6706
7316
  var charCodeAt = uncurryThis$2(''.charCodeAt);
@@ -6742,9 +7352,9 @@ var advanceStringIndex$2 = function (S, index, unicode) {
6742
7352
  return index + (unicode ? charAt$1(S, index).length : 1);
6743
7353
  };
6744
7354
 
6745
- var call$3 = functionCall;
7355
+ var call$2 = functionCall;
6746
7356
  var anObject$2 = anObject$a;
6747
- var isCallable$1 = isCallable$g;
7357
+ var isCallable$1 = isCallable$i;
6748
7358
  var classof = classofRaw$1;
6749
7359
  var regexpExec = regexpExec$2;
6750
7360
 
@@ -6755,21 +7365,21 @@ var $TypeError = TypeError;
6755
7365
  var regexpExecAbstract = function (R, S) {
6756
7366
  var exec = R.exec;
6757
7367
  if (isCallable$1(exec)) {
6758
- var result = call$3(exec, R, S);
7368
+ var result = call$2(exec, R, S);
6759
7369
  if (result !== null) anObject$2(result);
6760
7370
  return result;
6761
7371
  }
6762
- if (classof(R) === 'RegExp') return call$3(regexpExec, R, S);
7372
+ if (classof(R) === 'RegExp') return call$2(regexpExec, R, S);
6763
7373
  throw new $TypeError('RegExp#exec called on incompatible receiver');
6764
7374
  };
6765
7375
 
6766
- var call$2 = functionCall;
7376
+ var call$1 = functionCall;
6767
7377
  var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
6768
7378
  var anObject$1 = anObject$a;
6769
7379
  var isNullOrUndefined$1 = isNullOrUndefined$4;
6770
7380
  var toLength$1 = toLength$3;
6771
- var toString$1 = toString$7;
6772
- var requireObjectCoercible$1 = requireObjectCoercible$7;
7381
+ var toString$1 = toString$9;
7382
+ var requireObjectCoercible$1 = requireObjectCoercible$8;
6773
7383
  var getMethod$1 = getMethod$3;
6774
7384
  var advanceStringIndex$1 = advanceStringIndex$2;
6775
7385
  var regExpExec$1 = regexpExecAbstract;
@@ -6782,7 +7392,7 @@ fixRegExpWellKnownSymbolLogic$1('match', function (MATCH, nativeMatch, maybeCall
6782
7392
  function match(regexp) {
6783
7393
  var O = requireObjectCoercible$1(this);
6784
7394
  var matcher = isNullOrUndefined$1(regexp) ? undefined : getMethod$1(regexp, MATCH);
6785
- return matcher ? call$2(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString$1(O));
7395
+ return matcher ? call$1(matcher, regexp, O) : new RegExp(regexp)[MATCH](toString$1(O));
6786
7396
  },
6787
7397
  // `RegExp.prototype[@@match]` method
6788
7398
  // https://tc39.es/ecma262/#sec-regexp.prototype-@@match
@@ -7183,7 +7793,7 @@ const MapViewConnect = _a => {
7183
7793
  setTime({
7184
7794
  sourceId: mapId,
7185
7795
  origin: `${mapDimensionPayload.origin}==> ${ORIGIN_REACTMAPVIEWCONNECT_ONMAPCHANGEDIMENSION}`,
7186
- value: handleMomentISOString(mapDimensionPayload.dimension.currentValue)
7796
+ value: handleDateUtilsISOString(mapDimensionPayload.dimension.currentValue)
7187
7797
  });
7188
7798
  } else {
7189
7799
  mapChangeDimension(mapDimensionPayload);
@@ -8119,42 +8729,6 @@ const TimeStepButtonConnect = ({
8119
8729
  });
8120
8730
  };
8121
8731
 
8122
- const NowButtonConnect = ({
8123
- sourceId,
8124
- mapId,
8125
- isDisabled
8126
- }) => {
8127
- const dispatch = useDispatch();
8128
- const currentTime = moment.utc().unix();
8129
- const timeStep = useSelector(store => mapSelectors.getMapTimeStep(store, mapId));
8130
- const [dataStartTime, dataEndTime] = useSelector(store => mapSelectors.getDataLimitsFromLayers(store, mapId));
8131
- const isAnimating = useSelector(store => mapSelectors.isAnimating(store, mapId));
8132
- const turnOffAutoUpdateIfItsOn = useTurnOffAutoUpdateIfItsOn(mapId);
8133
- const onSetNewDate = newDate => {
8134
- turnOffAutoUpdateIfItsOn();
8135
- if (isAnimating) {
8136
- dispatch(mapActions.mapStopAnimation({
8137
- mapId
8138
- }));
8139
- }
8140
- dispatch(genericActions.setTime({
8141
- sourceId,
8142
- origin: 'NowButtonConnect, 140',
8143
- value: handleMomentISOString(newDate)
8144
- }));
8145
- };
8146
- const onSetCenterTime = newTime => {
8147
- dispatch(mapActions.setTimeSliderCenterTime({
8148
- mapId,
8149
- timeSliderCenterTime: newTime
8150
- }));
8151
- };
8152
- return /*#__PURE__*/React.createElement(NowButton, {
8153
- disabled: isDisabled,
8154
- onSetNow: () => handleSetNowEvent(timeStep, dataStartTime, dataEndTime, currentTime, onSetNewDate, onSetCenterTime)
8155
- });
8156
- };
8157
-
8158
8732
  /* *
8159
8733
  * Licensed under the Apache License, Version 2.0 (the "License");
8160
8734
  * you may not use this file except in compliance with the License.
@@ -8178,12 +8752,14 @@ const AnimationLengthButtonConnect = ({
8178
8752
  const isAnimating = useSelector(store => mapSelectors.isAnimating(store, mapId));
8179
8753
  const animationStartTime = useSelector(store => mapSelectors.getAnimationStartTime(store, mapId));
8180
8754
  const animationEndTime = useSelector(store => mapSelectors.getAnimationEndTime(store, mapId));
8181
- const currentDiffInMinutes = moment(animationEndTime).diff(moment(animationStartTime), 'minutes');
8755
+ const currentDiffInMinutes = dateUtils.differenceInMinutes(dateUtils.utc(animationEndTime), dateUtils.utc(animationStartTime));
8182
8756
  const handlechangeAnimationLength = length => {
8183
- const animationEndTime = moment(animationStartTime).add(length, 'minutes').toISOString();
8757
+ const animationEndTime = dateUtils.dateToIsoString(dateUtils.add(dateUtils.utc(animationStartTime), {
8758
+ minutes: length
8759
+ }));
8184
8760
  dispatch(mapActions.setAnimationEndTime({
8185
8761
  mapId,
8186
- animationEndTime,
8762
+ animationEndTime: animationEndTime || dateUtils.dateToIsoString(dateUtils.utc()),
8187
8763
  origin: mapEnums.MapActionOrigin.map
8188
8764
  }));
8189
8765
  };
@@ -8274,47 +8850,6 @@ const TimeSpanButtonConnect = ({
8274
8850
  });
8275
8851
  };
8276
8852
 
8277
- /* *
8278
- * Licensed under the Apache License, Version 2.0 (the "License");
8279
- * you may not use this file except in compliance with the License.
8280
- * You may obtain a copy of the License at
8281
- *
8282
- * http://www.apache.org/licenses/LICENSE-2.0
8283
- *
8284
- * Unless required by applicable law or agreed to in writing, software
8285
- * distributed under the License is distributed on an "AS IS" BASIS,
8286
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8287
- * See the License for the specific language governing permissions and
8288
- * limitations under the License.
8289
- *
8290
- * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8291
- * Copyright 2020 - Finnish Meteorological Institute (FMI)
8292
- * */
8293
- const connectRedux$2 = connect((store, props) => ({
8294
- isAutoUpdating: mapSelectors.isAutoUpdating(store, props.mapId)
8295
- }), {
8296
- toggleAutoUpdate: mapActions.toggleAutoUpdate
8297
- });
8298
- const AutoUpdateButtonConnectComponent = connectRedux$2(({
8299
- mapId,
8300
- isAutoUpdating,
8301
- toggleAutoUpdate
8302
- }) => {
8303
- const onClick = () => {
8304
- toggleAutoUpdate({
8305
- mapId,
8306
- shouldAutoUpdate: !isAutoUpdating,
8307
- origin: mapEnums.MapActionOrigin.map
8308
- });
8309
- };
8310
- return /*#__PURE__*/React.createElement(AutoUpdateButton, {
8311
- isAutoUpdating: isAutoUpdating,
8312
- toggleAutoUpdate: onClick,
8313
- disabled: false
8314
- });
8315
- });
8316
- const AutoUpdateButtonConnect = connectRedux$2(AutoUpdateButtonConnectComponent);
8317
-
8318
8853
  /* *
8319
8854
  * Licensed under the Apache License, Version 2.0 (the "License");
8320
8855
  * you may not use this file except in compliance with the License.
@@ -8340,20 +8875,12 @@ const AutoUpdateButtonConnect = connectRedux$2(AutoUpdateButtonConnectComponent)
8340
8875
  * ``` <OptionsMenuButtonConnect mapId={mapId} />```
8341
8876
  */
8342
8877
  const OptionsMenuButtonConnect = ({
8343
- sourceId,
8344
8878
  mapId
8345
8879
  }) => {
8346
8880
  return /*#__PURE__*/React.createElement(OptionsMenuButton, {
8347
- nowBtn: /*#__PURE__*/React.createElement(NowButtonConnect, {
8348
- mapId: mapId,
8349
- sourceId: sourceId
8350
- }),
8351
8881
  animationLengthBtn: /*#__PURE__*/React.createElement(AnimationLengthButtonConnect, {
8352
8882
  mapId: mapId
8353
8883
  }),
8354
- autoUpdateBtn: /*#__PURE__*/React.createElement(AutoUpdateButtonConnect, {
8355
- mapId: mapId
8356
- }),
8357
8884
  speedBtn: /*#__PURE__*/React.createElement(SpeedButtonConnect, {
8358
8885
  mapId: mapId
8359
8886
  }),
@@ -8382,7 +8909,7 @@ const OptionsMenuButtonConnect = ({
8382
8909
  * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8383
8910
  * Copyright 2020 - Finnish Meteorological Institute (FMI)
8384
8911
  * */
8385
- const connectRedux$1 = connect((store, props) => ({
8912
+ const connectRedux$2 = connect((store, props) => ({
8386
8913
  animationStartTime: mapSelectors.getAnimationStartTime(store, props.mapId),
8387
8914
  animationEndTime: mapSelectors.getAnimationEndTime(store, props.mapId),
8388
8915
  timeStep: mapSelectors.getMapTimeStep(store, props.mapId),
@@ -8391,7 +8918,7 @@ const connectRedux$1 = connect((store, props) => ({
8391
8918
  mapStartAnimation: mapActions.mapStartAnimation,
8392
8919
  mapStopAnimation: mapActions.mapStopAnimation
8393
8920
  });
8394
- const PlayButtonConnect = connectRedux$1(({
8921
+ const PlayButtonConnect = connectRedux$2(({
8395
8922
  mapId,
8396
8923
  animationStartTime,
8397
8924
  animationEndTime,
@@ -8461,6 +8988,83 @@ const BackwardForwardStepButtonConnect = ({
8461
8988
  });
8462
8989
  };
8463
8990
 
8991
+ /* *
8992
+ * Licensed under the Apache License, Version 2.0 (the "License");
8993
+ * you may not use this file except in compliance with the License.
8994
+ * You may obtain a copy of the License at
8995
+ *
8996
+ * http://www.apache.org/licenses/LICENSE-2.0
8997
+ *
8998
+ * Unless required by applicable law or agreed to in writing, software
8999
+ * distributed under the License is distributed on an "AS IS" BASIS,
9000
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9001
+ * See the License for the specific language governing permissions and
9002
+ * limitations under the License.
9003
+ *
9004
+ * Copyright 2020 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
9005
+ * Copyright 2020 - Finnish Meteorological Institute (FMI)
9006
+ * */
9007
+ const connectRedux$1 = connect((store, props) => ({
9008
+ isAutoUpdating: mapSelectors.isAutoUpdating(store, props.mapId)
9009
+ }), {
9010
+ toggleAutoUpdate: mapActions.toggleAutoUpdate
9011
+ });
9012
+ const AutoUpdateButtonConnectComponent = connectRedux$1(({
9013
+ mapId,
9014
+ isAutoUpdating,
9015
+ toggleAutoUpdate
9016
+ }) => {
9017
+ const onClick = () => {
9018
+ toggleAutoUpdate({
9019
+ mapId,
9020
+ shouldAutoUpdate: !isAutoUpdating,
9021
+ origin: mapEnums.MapActionOrigin.map
9022
+ });
9023
+ };
9024
+ return /*#__PURE__*/React.createElement(AutoUpdateButton, {
9025
+ isAutoUpdating: isAutoUpdating,
9026
+ toggleAutoUpdate: onClick,
9027
+ disabled: false
9028
+ });
9029
+ });
9030
+ const AutoUpdateButtonConnect = connectRedux$1(AutoUpdateButtonConnectComponent);
9031
+
9032
+ const NowButtonConnect = ({
9033
+ sourceId,
9034
+ mapId,
9035
+ isDisabled
9036
+ }) => {
9037
+ const dispatch = useDispatch();
9038
+ const currentTime = dateUtils.unix(dateUtils.utc());
9039
+ const timeStep = useSelector(store => mapSelectors.getMapTimeStep(store, mapId));
9040
+ const [dataStartTime, dataEndTime] = useSelector(store => mapSelectors.getDataLimitsFromLayers(store, mapId));
9041
+ const isAnimating = useSelector(store => mapSelectors.isAnimating(store, mapId));
9042
+ const turnOffAutoUpdateIfItsOn = useTurnOffAutoUpdateIfItsOn(mapId);
9043
+ const onSetNewDate = newDate => {
9044
+ turnOffAutoUpdateIfItsOn();
9045
+ if (isAnimating) {
9046
+ dispatch(mapActions.mapStopAnimation({
9047
+ mapId
9048
+ }));
9049
+ }
9050
+ dispatch(genericActions.setTime({
9051
+ sourceId,
9052
+ origin: 'NowButtonConnect, 140',
9053
+ value: handleDateUtilsISOString(newDate)
9054
+ }));
9055
+ };
9056
+ const onSetCenterTime = newTime => {
9057
+ dispatch(mapActions.setTimeSliderCenterTime({
9058
+ mapId,
9059
+ timeSliderCenterTime: newTime
9060
+ }));
9061
+ };
9062
+ return /*#__PURE__*/React.createElement(NowButton, {
9063
+ disabled: isDisabled,
9064
+ onSetNow: () => handleSetNowEvent(timeStep, dataStartTime, dataEndTime, currentTime, onSetNewDate, onSetCenterTime)
9065
+ });
9066
+ };
9067
+
8464
9068
  /* *
8465
9069
  * Licensed under the Apache License, Version 2.0 (the "License");
8466
9070
  * you may not use this file except in compliance with the License.
@@ -8482,17 +9086,24 @@ const BackwardForwardStepButtonConnect = ({
8482
9086
  *
8483
9087
  * Expects the following props:
8484
9088
  * @param {string} mapId mapId: string - Id of the map
9089
+ * @param {string} sourceId mapId: string - Id of the source
8485
9090
  * @example
8486
- * ``` <TimeSliderButtonsConnect mapId={mapId} />```
9091
+ * ``` <TimeSliderButtonsConnect mapId={mapId} sourceId={sourceId} />```
8487
9092
  */
8488
9093
  const TimeSliderButtonsConnectComponent = ({
8489
9094
  sourceId,
8490
9095
  mapId
8491
9096
  }) => ( /*#__PURE__*/React.createElement(TimeSliderButtons, {
8492
- optionsMenuBtn: /*#__PURE__*/React.createElement(OptionsMenuButtonConnect, {
9097
+ nowBtn: /*#__PURE__*/React.createElement(NowButtonConnect, {
8493
9098
  mapId: mapId,
8494
9099
  sourceId: sourceId
8495
9100
  }),
9101
+ autoUpdateBtn: /*#__PURE__*/React.createElement(AutoUpdateButtonConnect, {
9102
+ mapId: mapId
9103
+ }),
9104
+ optionsMenuBtn: /*#__PURE__*/React.createElement(OptionsMenuButtonConnect, {
9105
+ mapId: mapId
9106
+ }),
8496
9107
  playBtn: /*#__PURE__*/React.createElement(PlayButtonConnect, {
8497
9108
  mapId: mapId
8498
9109
  }),
@@ -8721,7 +9332,7 @@ const useUpdateTimeSpan = (mapId, myOnSetTimeSliderSpan) => {
8721
9332
  // eslint-disable-next-line react-hooks/exhaustive-deps
8722
9333
  }, [autoTimeStepLayerId, isTimeSpanAuto, activeLayerTimeDimension, mapId]);
8723
9334
  };
8724
- const timeToIso = selectedTime => handleMomentISOString(dateUtils.fromUnix(selectedTime).toISOString());
9335
+ const timeToIso = selectedTime => handleDateUtilsISOString(dateUtils.fromUnix(selectedTime).toISOString());
8725
9336
  const TimeSliderConnect = ({
8726
9337
  sourceId,
8727
9338
  mapId,
@@ -8796,7 +9407,7 @@ const TimeSliderConnect = ({
8796
9407
  dispatch(genericActions.setTime({
8797
9408
  sourceId,
8798
9409
  origin: 'TimeSliderConnect',
8799
- value: handleMomentISOString(newDate)
9410
+ value: handleDateUtilsISOString(newDate)
8800
9411
  }));
8801
9412
  };
8802
9413
  // Update local state when time is updated outside of this component, e.g. during animation or syncgroups
@@ -8869,9 +9480,17 @@ const TimeSliderConnect = ({
8869
9480
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
8870
9481
  * */
8871
9482
  const ControlButtonsConnect = ({
9483
+ sourceId,
8872
9484
  mapId
8873
9485
  }) => {
8874
9486
  return /*#__PURE__*/React__default.createElement(ControlButtons, {
9487
+ nowBtn: /*#__PURE__*/React__default.createElement(NowButtonConnect, {
9488
+ mapId: mapId,
9489
+ sourceId: sourceId
9490
+ }),
9491
+ autoUpdateBtn: /*#__PURE__*/React__default.createElement(AutoUpdateButtonConnect, {
9492
+ mapId: mapId
9493
+ }),
8875
9494
  playBtn: /*#__PURE__*/React__default.createElement(PlayButtonConnect, {
8876
9495
  mapId: mapId
8877
9496
  }),
@@ -8903,19 +9522,11 @@ const ControlButtonsConnect = ({
8903
9522
  * Copyright 2022 - Finnish Meteorological Institute (FMI)
8904
9523
  * */
8905
9524
  const OptionsMenuConnect = ({
8906
- sourceId,
8907
9525
  mapId
8908
9526
  }) => ( /*#__PURE__*/React__default.createElement(OptionsMenu, {
8909
- nowBtn: /*#__PURE__*/React__default.createElement(NowButtonConnect, {
8910
- mapId: mapId,
8911
- sourceId: sourceId
8912
- }),
8913
9527
  animationLengthBtn: /*#__PURE__*/React__default.createElement(AnimationLengthButtonConnect, {
8914
9528
  mapId: mapId
8915
9529
  }),
8916
- autoUpdateBtn: /*#__PURE__*/React__default.createElement(AutoUpdateButtonConnect, {
8917
- mapId: mapId
8918
- }),
8919
9530
  speedBtn: /*#__PURE__*/React__default.createElement(SpeedButtonConnect, {
8920
9531
  mapId: mapId
8921
9532
  }),
@@ -8951,13 +9562,13 @@ const TimeSliderClockConnect = ({
8951
9562
  return /*#__PURE__*/React__default.createElement(TimeSliderClock, {
8952
9563
  hideButton: isTimeSliderVisible,
8953
9564
  controls: /*#__PURE__*/React__default.createElement(ControlButtonsConnect, {
8954
- mapId: mapId
8955
- }),
8956
- options: /*#__PURE__*/React__default.createElement(OptionsMenuConnect, {
8957
9565
  mapId: mapId,
8958
9566
  sourceId: mapId
8959
9567
  }),
8960
- time: moment.unix(selectedTime)
9568
+ options: /*#__PURE__*/React__default.createElement(OptionsMenuConnect, {
9569
+ mapId: mapId
9570
+ }),
9571
+ time: selectedTime
8961
9572
  });
8962
9573
  };
8963
9574
 
@@ -9138,19 +9749,8 @@ const ConfigurableMapConnect = _a => {
9138
9749
  }, [children, disableTimeSlider, displayDimensionSelectButtonInMap, displayGetFeatureInfoButtonInMap, displayLayerManagerAndLegendButtonInMap, displaySearchButtonInMap, displayTimeInMap, id, mapControls, mapControlsPositionTop, mapId, multiLegend, showClock, shouldAutoFetch, title, mapWidthRef]);
9139
9750
  };
9140
9751
 
9141
- var NATIVE_BIND = functionBindNative;
9142
-
9143
- var FunctionPrototype = Function.prototype;
9144
- var apply$1 = FunctionPrototype.apply;
9145
- var call$1 = FunctionPrototype.call;
9146
-
9147
- // eslint-disable-next-line es/no-reflect -- safe
9148
- var functionApply = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call$1.bind(apply$1) : function () {
9149
- return call$1.apply(apply$1, arguments);
9150
- });
9151
-
9152
9752
  var uncurryThis$1 = functionUncurryThis;
9153
- var toObject = toObject$6;
9753
+ var toObject = toObject$7;
9154
9754
 
9155
9755
  var floor = Math.floor;
9156
9756
  var charAt = uncurryThis$1(''.charAt);
@@ -9199,14 +9799,14 @@ var apply = functionApply;
9199
9799
  var call = functionCall;
9200
9800
  var uncurryThis = functionUncurryThis;
9201
9801
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
9202
- var fails = fails$l;
9802
+ var fails = fails$n;
9203
9803
  var anObject = anObject$a;
9204
- var isCallable = isCallable$g;
9804
+ var isCallable = isCallable$i;
9205
9805
  var isNullOrUndefined = isNullOrUndefined$4;
9206
9806
  var toIntegerOrInfinity = toIntegerOrInfinity$4;
9207
9807
  var toLength = toLength$3;
9208
- var toString = toString$7;
9209
- var requireObjectCoercible = requireObjectCoercible$7;
9808
+ var toString = toString$9;
9809
+ var requireObjectCoercible = requireObjectCoercible$8;
9210
9810
  var advanceStringIndex = advanceStringIndex$2;
9211
9811
  var getMethod = getMethod$3;
9212
9812
  var getSubstitution = getSubstitution$1;
@@ -10093,6 +10693,66 @@ var testLayers = /*#__PURE__*/Object.freeze({
10093
10693
  simplePolygonGeoJSON: simplePolygonGeoJSON
10094
10694
  });
10095
10695
 
10696
+ var en = {
10697
+ core: "Core"
10698
+ };
10699
+ var fi = {
10700
+ core: "Core"
10701
+ };
10702
+ var no = {
10703
+ core: "Core"
10704
+ };
10705
+ var nl = {
10706
+ core: "Core"
10707
+ };
10708
+ var coreTranslations = {
10709
+ en: en,
10710
+ fi: fi,
10711
+ no: no,
10712
+ nl: nl
10713
+ };
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: coreTranslations.en
10742
+ },
10743
+ fi: {
10744
+ core: coreTranslations.fi
10745
+ },
10746
+ no: {
10747
+ core: coreTranslations.no
10748
+ },
10749
+ nl: {
10750
+ core: coreTranslations.nl
10751
+ }
10752
+ }
10753
+ });
10754
+ };
10755
+
10096
10756
  /**
10097
10757
  * A Provider component which provides the GeoWeb theme
10098
10758
  * @param children
@@ -10107,9 +10767,9 @@ const CoreThemeProvider = ({
10107
10767
  const ThemeWrapperWithModules = withEggs([...coreModuleConfig, layerSelectConfig])(({
10108
10768
  theme,
10109
10769
  children
10110
- }) => ( /*#__PURE__*/React__default.createElement(CoreThemeProvider, {
10770
+ }) => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(CoreThemeProvider, {
10111
10771
  theme: theme
10112
- }, children, " ")));
10772
+ }, children))));
10113
10773
  /**
10114
10774
  * A Provider component which provides the GeoWeb theme and store for the core.
10115
10775
  * Note: Should only be used with core components, as the provided store is only for core.
@@ -10120,11 +10780,33 @@ const CoreThemeStoreProvider = ({
10120
10780
  children,
10121
10781
  theme: _theme2 = lightTheme,
10122
10782
  store
10123
- }) => ( /*#__PURE__*/React__default.createElement(Provider, {
10783
+ }) => ( /*#__PURE__*/React__default.createElement(CoreI18nProvider, null, /*#__PURE__*/React__default.createElement(Provider, {
10124
10784
  store: store
10125
10785
  }, /*#__PURE__*/React__default.createElement(ThemeWrapperWithModules, {
10126
10786
  theme: _theme2
10127
- }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children))));
10787
+ }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, children)))));
10788
+ const CoreTranslationsWrapper = ({
10789
+ children
10790
+ }) => {
10791
+ const {
10792
+ i18n
10793
+ } = useTranslation(CORE_NAMESPACE);
10794
+ React__default.useEffect(() => {
10795
+ i18n.addResourceBundle('en', CORE_NAMESPACE, coreTranslations.en);
10796
+ i18n.addResourceBundle('fi', CORE_NAMESPACE, coreTranslations.fi);
10797
+ i18n.addResourceBundle('no', CORE_NAMESPACE, coreTranslations.no);
10798
+ i18n.addResourceBundle('nl', CORE_NAMESPACE, coreTranslations.nl);
10799
+ }, [i18n]);
10800
+ return children;
10801
+ };
10802
+ const CoreI18nProvider = ({
10803
+ children
10804
+ }) => {
10805
+ initCoreReactI18n();
10806
+ return /*#__PURE__*/React__default.createElement(I18nextProvider, {
10807
+ i18n: i18n
10808
+ }, children);
10809
+ };
10128
10810
 
10129
10811
  /* *
10130
10812
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -10168,4 +10850,4 @@ const RouterWrapperConnect = withEggs([routerModuleConfig])(props => {
10168
10850
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(NavigateSetter, null), props.children);
10169
10851
  });
10170
10852
 
10171
- export { ConfigurableMapConnect, CoreThemeProvider, CoreThemeStoreProvider, HarmonieTempAndPrecipPreset, 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 };
10853
+ export { ConfigurableMapConnect, CoreI18nProvider, CoreThemeProvider, CoreThemeStoreProvider, CoreTranslationsWrapper, 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 };