@opengeoweb/workspace 9.14.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.
package/index.esm.js CHANGED
@@ -10,6 +10,8 @@ import * as React from 'react';
10
10
  import React__default, { useCallback } from 'react';
11
11
  import { ThemeWrapper, lightTheme, SplitVertical, SplitHorizontal, Expand, UnExpand, Close, Delete, Preset, PresetWorkspace, PresetTiles, Search, Clear, CloudLoading, CloudIdle, WebAssetOff } from '@opengeoweb/theme';
12
12
  import { Provider, useDispatch, useSelector, useStore, shallowEqual } from 'react-redux';
13
+ import i18n from 'i18next';
14
+ import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
13
15
  import { timeSeriesModuleConfig } from '@opengeoweb/timeseries';
14
16
  import { AuthenticationProvider, useAuthenticationContext } from '@opengeoweb/authentication';
15
17
  import { createStore } from '@redux-eggs/redux-toolkit';
@@ -30,7 +32,7 @@ var check = function (it) {
30
32
  };
31
33
 
32
34
  // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
33
- var global$h =
35
+ var global$g =
34
36
  // eslint-disable-next-line es/no-global-this -- safe
35
37
  check(typeof globalThis == 'object' && globalThis) ||
36
38
  check(typeof window == 'object' && window) ||
@@ -150,17 +152,17 @@ var $TypeError$d = TypeError;
150
152
 
151
153
  // `RequireObjectCoercible` abstract operation
152
154
  // https://tc39.es/ecma262/#sec-requireobjectcoercible
153
- var requireObjectCoercible$9 = function (it) {
155
+ var requireObjectCoercible$a = function (it) {
154
156
  if (isNullOrUndefined$6(it)) throw new $TypeError$d("Can't call method on " + it);
155
157
  return it;
156
158
  };
157
159
 
158
160
  // toObject with fallback for non-array-like ES3 strings
159
161
  var IndexedObject$2 = indexedObject;
160
- var requireObjectCoercible$8 = requireObjectCoercible$9;
162
+ var requireObjectCoercible$9 = requireObjectCoercible$a;
161
163
 
162
164
  var toIndexedObject$5 = function (it) {
163
- return IndexedObject$2(requireObjectCoercible$8(it));
165
+ return IndexedObject$2(requireObjectCoercible$9(it));
164
166
  };
165
167
 
166
168
  // https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot
@@ -177,11 +179,11 @@ var isCallable$i = typeof documentAll == 'undefined' && documentAll !== undefine
177
179
 
178
180
  var isCallable$h = isCallable$i;
179
181
 
180
- var isObject$b = function (it) {
182
+ var isObject$c = function (it) {
181
183
  return typeof it == 'object' ? it !== null : isCallable$h(it);
182
184
  };
183
185
 
184
- var global$g = global$h;
186
+ var global$f = global$g;
185
187
  var isCallable$g = isCallable$i;
186
188
 
187
189
  var aFunction = function (argument) {
@@ -189,7 +191,7 @@ var aFunction = function (argument) {
189
191
  };
190
192
 
191
193
  var getBuiltIn$5 = function (namespace, method) {
192
- return arguments.length < 2 ? aFunction(global$g[namespace]) : global$g[namespace] && global$g[namespace][method];
194
+ return arguments.length < 2 ? aFunction(global$f[namespace]) : global$f[namespace] && global$f[namespace][method];
193
195
  };
194
196
 
195
197
  var uncurryThis$l = functionUncurryThis;
@@ -198,11 +200,11 @@ var objectIsPrototypeOf = uncurryThis$l({}.isPrototypeOf);
198
200
 
199
201
  var engineUserAgent = typeof navigator != 'undefined' && String(navigator.userAgent) || '';
200
202
 
201
- var global$f = global$h;
203
+ var global$e = global$g;
202
204
  var userAgent$2 = engineUserAgent;
203
205
 
204
- var process = global$f.process;
205
- var Deno = global$f.Deno;
206
+ var process = global$e.process;
207
+ var Deno = global$e.Deno;
206
208
  var versions = process && process.versions || Deno && Deno.version;
207
209
  var v8 = versions && versions.v8;
208
210
  var match, version;
@@ -229,9 +231,9 @@ var engineV8Version = version;
229
231
  /* eslint-disable es/no-symbol -- required for testing */
230
232
  var V8_VERSION = engineV8Version;
231
233
  var fails$l = fails$p;
232
- var global$e = global$h;
234
+ var global$d = global$g;
233
235
 
234
- var $String$5 = global$e.String;
236
+ var $String$5 = global$d.String;
235
237
 
236
238
  // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing
237
239
  var symbolConstructorDetection = !!Object.getOwnPropertySymbols && !fails$l(function () {
@@ -299,7 +301,7 @@ var getMethod$5 = function (V, P) {
299
301
 
300
302
  var call$d = functionCall;
301
303
  var isCallable$d = isCallable$i;
302
- var isObject$a = isObject$b;
304
+ var isObject$b = isObject$c;
303
305
 
304
306
  var $TypeError$b = TypeError;
305
307
 
@@ -307,55 +309,55 @@ var $TypeError$b = TypeError;
307
309
  // https://tc39.es/ecma262/#sec-ordinarytoprimitive
308
310
  var ordinaryToPrimitive$1 = function (input, pref) {
309
311
  var fn, val;
310
- if (pref === 'string' && isCallable$d(fn = input.toString) && !isObject$a(val = call$d(fn, input))) return val;
311
- if (isCallable$d(fn = input.valueOf) && !isObject$a(val = call$d(fn, input))) return val;
312
- if (pref !== 'string' && isCallable$d(fn = input.toString) && !isObject$a(val = call$d(fn, input))) return val;
312
+ if (pref === 'string' && isCallable$d(fn = input.toString) && !isObject$b(val = call$d(fn, input))) return val;
313
+ if (isCallable$d(fn = input.valueOf) && !isObject$b(val = call$d(fn, input))) return val;
314
+ if (pref !== 'string' && isCallable$d(fn = input.toString) && !isObject$b(val = call$d(fn, input))) return val;
313
315
  throw new $TypeError$b("Can't convert object to primitive value");
314
316
  };
315
317
 
316
- var shared$4 = {exports: {}};
318
+ var sharedStore = {exports: {}};
317
319
 
318
- var global$d = global$h;
320
+ var global$c = global$g;
319
321
 
320
322
  // eslint-disable-next-line es/no-object-defineproperty -- safe
321
323
  var defineProperty$6 = Object.defineProperty;
322
324
 
323
325
  var defineGlobalProperty$3 = function (key, value) {
324
326
  try {
325
- defineProperty$6(global$d, key, { value: value, configurable: true, writable: true });
327
+ defineProperty$6(global$c, key, { value: value, configurable: true, writable: true });
326
328
  } catch (error) {
327
- global$d[key] = value;
329
+ global$c[key] = value;
328
330
  } return value;
329
331
  };
330
332
 
331
- var global$c = global$h;
333
+ var globalThis$1 = global$g;
332
334
  var defineGlobalProperty$2 = defineGlobalProperty$3;
333
335
 
334
336
  var SHARED = '__core-js_shared__';
335
- var store$4 = global$c[SHARED] || defineGlobalProperty$2(SHARED, {});
337
+ var store$4 = sharedStore.exports = globalThis$1[SHARED] || defineGlobalProperty$2(SHARED, {});
336
338
 
337
- var sharedStore = store$4;
338
-
339
- var store$3 = sharedStore;
340
-
341
- (shared$4.exports = function (key, value) {
342
- return store$3[key] || (store$3[key] = value !== undefined ? value : {});
343
- })('versions', []).push({
344
- version: '3.35.1',
339
+ (store$4.versions || (store$4.versions = [])).push({
340
+ version: '3.36.1',
345
341
  mode: 'global',
346
342
  copyright: '© 2014-2024 Denis Pushkarev (zloirock.ru)',
347
- license: 'https://github.com/zloirock/core-js/blob/v3.35.1/LICENSE',
343
+ license: 'https://github.com/zloirock/core-js/blob/v3.36.1/LICENSE',
348
344
  source: 'https://github.com/zloirock/core-js'
349
345
  });
350
346
 
351
- var requireObjectCoercible$7 = requireObjectCoercible$9;
347
+ var store$3 = sharedStore.exports;
348
+
349
+ var shared$4 = function (key, value) {
350
+ return store$3[key] || (store$3[key] = value || {});
351
+ };
352
+
353
+ var requireObjectCoercible$8 = requireObjectCoercible$a;
352
354
 
353
355
  var $Object$2 = Object;
354
356
 
355
357
  // `ToObject` abstract operation
356
358
  // https://tc39.es/ecma262/#sec-toobject
357
359
  var toObject$8 = function (argument) {
358
- return $Object$2(requireObjectCoercible$7(argument));
360
+ return $Object$2(requireObjectCoercible$8(argument));
359
361
  };
360
362
 
361
363
  var uncurryThis$k = functionUncurryThis;
@@ -380,8 +382,8 @@ var uid$2 = function (key) {
380
382
  return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString$b(++id + postfix, 36);
381
383
  };
382
384
 
383
- var global$b = global$h;
384
- var shared$3 = shared$4.exports;
385
+ var global$b = global$g;
386
+ var shared$3 = shared$4;
385
387
  var hasOwn$a = hasOwnProperty_1;
386
388
  var uid$1 = uid$2;
387
389
  var NATIVE_SYMBOL = symbolConstructorDetection;
@@ -400,7 +402,7 @@ var wellKnownSymbol$e = function (name) {
400
402
  };
401
403
 
402
404
  var call$c = functionCall;
403
- var isObject$9 = isObject$b;
405
+ var isObject$a = isObject$c;
404
406
  var isSymbol$1 = isSymbol$2;
405
407
  var getMethod$4 = getMethod$5;
406
408
  var ordinaryToPrimitive = ordinaryToPrimitive$1;
@@ -412,13 +414,13 @@ var TO_PRIMITIVE = wellKnownSymbol$d('toPrimitive');
412
414
  // `ToPrimitive` abstract operation
413
415
  // https://tc39.es/ecma262/#sec-toprimitive
414
416
  var toPrimitive$1 = function (input, pref) {
415
- if (!isObject$9(input) || isSymbol$1(input)) return input;
417
+ if (!isObject$a(input) || isSymbol$1(input)) return input;
416
418
  var exoticToPrim = getMethod$4(input, TO_PRIMITIVE);
417
419
  var result;
418
420
  if (exoticToPrim) {
419
421
  if (pref === undefined) pref = 'default';
420
422
  result = call$c(exoticToPrim, input, pref);
421
- if (!isObject$9(result) || isSymbol$1(result)) return result;
423
+ if (!isObject$a(result) || isSymbol$1(result)) return result;
422
424
  throw new $TypeError$a("Can't convert object to primitive value");
423
425
  }
424
426
  if (pref === undefined) pref = 'number';
@@ -435,12 +437,12 @@ var toPropertyKey$2 = function (argument) {
435
437
  return isSymbol(key) ? key : key + '';
436
438
  };
437
439
 
438
- var global$a = global$h;
439
- var isObject$8 = isObject$b;
440
+ var global$a = global$g;
441
+ var isObject$9 = isObject$c;
440
442
 
441
443
  var document$1 = global$a.document;
442
444
  // typeof document.createElement is 'object' in old IE
443
- var EXISTS$1 = isObject$8(document$1) && isObject$8(document$1.createElement);
445
+ var EXISTS$1 = isObject$9(document$1) && isObject$9(document$1.createElement);
444
446
 
445
447
  var documentCreateElement$2 = function (it) {
446
448
  return EXISTS$1 ? document$1.createElement(it) : {};
@@ -496,21 +498,21 @@ var v8PrototypeDefineBug = DESCRIPTORS$9 && fails$j(function () {
496
498
  }).prototype !== 42;
497
499
  });
498
500
 
499
- var isObject$7 = isObject$b;
501
+ var isObject$8 = isObject$c;
500
502
 
501
503
  var $String$3 = String;
502
504
  var $TypeError$9 = TypeError;
503
505
 
504
506
  // `Assert: Type(argument) is Object`
505
- var anObject$d = function (argument) {
506
- if (isObject$7(argument)) return argument;
507
+ var anObject$c = function (argument) {
508
+ if (isObject$8(argument)) return argument;
507
509
  throw new $TypeError$9($String$3(argument) + ' is not an object');
508
510
  };
509
511
 
510
512
  var DESCRIPTORS$8 = descriptors;
511
513
  var IE8_DOM_DEFINE = ie8DomDefine;
512
514
  var V8_PROTOTYPE_DEFINE_BUG$1 = v8PrototypeDefineBug;
513
- var anObject$c = anObject$d;
515
+ var anObject$b = anObject$c;
514
516
  var toPropertyKey = toPropertyKey$2;
515
517
 
516
518
  var $TypeError$8 = TypeError;
@@ -525,9 +527,9 @@ var WRITABLE = 'writable';
525
527
  // `Object.defineProperty` method
526
528
  // https://tc39.es/ecma262/#sec-object.defineproperty
527
529
  objectDefineProperty.f = DESCRIPTORS$8 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function defineProperty(O, P, Attributes) {
528
- anObject$c(O);
530
+ anObject$b(O);
529
531
  P = toPropertyKey(P);
530
- anObject$c(Attributes);
532
+ anObject$b(Attributes);
531
533
  if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {
532
534
  var current = $getOwnPropertyDescriptor(O, P);
533
535
  if (current && current[WRITABLE]) {
@@ -540,9 +542,9 @@ objectDefineProperty.f = DESCRIPTORS$8 ? V8_PROTOTYPE_DEFINE_BUG$1 ? function de
540
542
  }
541
543
  } return $defineProperty(O, P, Attributes);
542
544
  } : $defineProperty : function defineProperty(O, P, Attributes) {
543
- anObject$c(O);
545
+ anObject$b(O);
544
546
  P = toPropertyKey(P);
545
- anObject$c(Attributes);
547
+ anObject$b(Attributes);
546
548
  if (IE8_DOM_DEFINE) try {
547
549
  return $defineProperty(O, P, Attributes);
548
550
  } catch (error) { /* empty */ }
@@ -584,7 +586,7 @@ var functionName = {
584
586
 
585
587
  var uncurryThis$i = functionUncurryThis;
586
588
  var isCallable$c = isCallable$i;
587
- var store$2 = sharedStore;
589
+ var store$2 = sharedStore.exports;
588
590
 
589
591
  var functionToString = uncurryThis$i(Function.toString);
590
592
 
@@ -597,14 +599,14 @@ if (!isCallable$c(store$2.inspectSource)) {
597
599
 
598
600
  var inspectSource$2 = store$2.inspectSource;
599
601
 
600
- var global$9 = global$h;
602
+ var global$9 = global$g;
601
603
  var isCallable$b = isCallable$i;
602
604
 
603
605
  var WeakMap$1 = global$9.WeakMap;
604
606
 
605
607
  var weakMapBasicDetection = isCallable$b(WeakMap$1) && /native code/.test(String(WeakMap$1));
606
608
 
607
- var shared$2 = shared$4.exports;
609
+ var shared$2 = shared$4;
608
610
  var uid = uid$2;
609
611
 
610
612
  var keys = shared$2('keys');
@@ -616,11 +618,11 @@ var sharedKey$3 = function (key) {
616
618
  var hiddenKeys$4 = {};
617
619
 
618
620
  var NATIVE_WEAK_MAP = weakMapBasicDetection;
619
- var global$8 = global$h;
620
- var isObject$6 = isObject$b;
621
+ var global$8 = global$g;
622
+ var isObject$7 = isObject$c;
621
623
  var createNonEnumerableProperty$7 = createNonEnumerableProperty$8;
622
624
  var hasOwn$7 = hasOwnProperty_1;
623
- var shared$1 = sharedStore;
625
+ var shared$1 = sharedStore.exports;
624
626
  var sharedKey$2 = sharedKey$3;
625
627
  var hiddenKeys$3 = hiddenKeys$4;
626
628
 
@@ -636,7 +638,7 @@ var enforce = function (it) {
636
638
  var getterFor = function (TYPE) {
637
639
  return function (it) {
638
640
  var state;
639
- if (!isObject$6(it) || (state = get(it)).type !== TYPE) {
641
+ if (!isObject$7(it) || (state = get(it)).type !== TYPE) {
640
642
  throw new TypeError$1('Incompatible receiver, ' + TYPE + ' required');
641
643
  } return state;
642
644
  };
@@ -833,6 +835,7 @@ var createMethod$3 = function (IS_INCLUDES) {
833
835
  return function ($this, el, fromIndex) {
834
836
  var O = toIndexedObject$3($this);
835
837
  var length = lengthOfArrayLike$5(O);
838
+ if (length === 0) return !IS_INCLUDES && -1;
836
839
  var index = toAbsoluteIndex(fromIndex, length);
837
840
  var value;
838
841
  // Array#includes uses SameValueZero equality algorithm
@@ -910,13 +913,13 @@ var getBuiltIn$3 = getBuiltIn$5;
910
913
  var uncurryThis$f = functionUncurryThis;
911
914
  var getOwnPropertyNamesModule = objectGetOwnPropertyNames;
912
915
  var getOwnPropertySymbolsModule$1 = objectGetOwnPropertySymbols;
913
- var anObject$b = anObject$d;
916
+ var anObject$a = anObject$c;
914
917
 
915
918
  var concat$2 = uncurryThis$f([].concat);
916
919
 
917
920
  // all object keys, includes non-enumerable and symbols
918
921
  var ownKeys$1 = getBuiltIn$3('Reflect', 'ownKeys') || function ownKeys(it) {
919
- var keys = getOwnPropertyNamesModule.f(anObject$b(it));
922
+ var keys = getOwnPropertyNamesModule.f(anObject$a(it));
920
923
  var getOwnPropertySymbols = getOwnPropertySymbolsModule$1.f;
921
924
  return getOwnPropertySymbols ? concat$2(keys, getOwnPropertySymbols(it)) : keys;
922
925
  };
@@ -961,7 +964,7 @@ var POLYFILL = isForced$1.POLYFILL = 'P';
961
964
 
962
965
  var isForced_1 = isForced$1;
963
966
 
964
- var global$7 = global$h;
967
+ var global$7 = global$g;
965
968
  var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f;
966
969
  var createNonEnumerableProperty$6 = createNonEnumerableProperty$8;
967
970
  var defineBuiltIn$4 = defineBuiltIn$5;
@@ -1031,7 +1034,7 @@ var objectKeys$2 = Object.keys || function keys(O) {
1031
1034
  var DESCRIPTORS$4 = descriptors;
1032
1035
  var V8_PROTOTYPE_DEFINE_BUG = v8PrototypeDefineBug;
1033
1036
  var definePropertyModule = objectDefineProperty;
1034
- var anObject$a = anObject$d;
1037
+ var anObject$9 = anObject$c;
1035
1038
  var toIndexedObject$1 = toIndexedObject$5;
1036
1039
  var objectKeys$1 = objectKeys$2;
1037
1040
 
@@ -1039,7 +1042,7 @@ var objectKeys$1 = objectKeys$2;
1039
1042
  // https://tc39.es/ecma262/#sec-object.defineproperties
1040
1043
  // eslint-disable-next-line es/no-object-defineproperties -- safe
1041
1044
  objectDefineProperties.f = DESCRIPTORS$4 && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {
1042
- anObject$a(O);
1045
+ anObject$9(O);
1043
1046
  var props = toIndexedObject$1(Properties);
1044
1047
  var keys = objectKeys$1(Properties);
1045
1048
  var length = keys.length;
@@ -1054,7 +1057,7 @@ var getBuiltIn$2 = getBuiltIn$5;
1054
1057
  var html$1 = getBuiltIn$2('document', 'documentElement');
1055
1058
 
1056
1059
  /* global ActiveXObject -- old IE, WSH */
1057
- var anObject$9 = anObject$d;
1060
+ var anObject$8 = anObject$c;
1058
1061
  var definePropertiesModule = objectDefineProperties;
1059
1062
  var enumBugKeys = enumBugKeys$3;
1060
1063
  var hiddenKeys = hiddenKeys$4;
@@ -1128,7 +1131,7 @@ hiddenKeys[IE_PROTO$1] = true;
1128
1131
  var objectCreate = Object.create || function create(O, Properties) {
1129
1132
  var result;
1130
1133
  if (O !== null) {
1131
- EmptyConstructor[PROTOTYPE] = anObject$9(O);
1134
+ EmptyConstructor[PROTOTYPE] = anObject$8(O);
1132
1135
  result = new EmptyConstructor();
1133
1136
  EmptyConstructor[PROTOTYPE] = null;
1134
1137
  // add "__proto__" for Object.getPrototypeOf polyfill
@@ -1333,7 +1336,7 @@ $$8({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }
1333
1336
  assign: assign
1334
1337
  });
1335
1338
 
1336
- var isObject$5 = isObject$b;
1339
+ var isObject$6 = isObject$c;
1337
1340
  var classof$5 = classofRaw$2;
1338
1341
  var wellKnownSymbol$b = wellKnownSymbol$e;
1339
1342
 
@@ -1343,7 +1346,7 @@ var MATCH$1 = wellKnownSymbol$b('match');
1343
1346
  // https://tc39.es/ecma262/#sec-isregexp
1344
1347
  var isRegexp = function (it) {
1345
1348
  var isRegExp;
1346
- return isObject$5(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$5(it) === 'RegExp');
1349
+ return isObject$6(it) && ((isRegExp = it[MATCH$1]) !== undefined ? !!isRegExp : classof$5(it) === 'RegExp');
1347
1350
  };
1348
1351
 
1349
1352
  var isRegExp = isRegexp;
@@ -1423,7 +1426,7 @@ var correctIsRegexpLogic = function (METHOD_NAME) {
1423
1426
  var $$7 = _export;
1424
1427
  var uncurryThis$d = functionUncurryThis;
1425
1428
  var notARegExp = notARegexp;
1426
- var requireObjectCoercible$6 = requireObjectCoercible$9;
1429
+ var requireObjectCoercible$7 = requireObjectCoercible$a;
1427
1430
  var toString$9 = toString$a;
1428
1431
  var correctIsRegExpLogic = correctIsRegexpLogic;
1429
1432
 
@@ -1434,7 +1437,7 @@ var stringIndexOf$1 = uncurryThis$d(''.indexOf);
1434
1437
  $$7({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') }, {
1435
1438
  includes: function includes(searchString /* , position = 0 */) {
1436
1439
  return !!~stringIndexOf$1(
1437
- toString$9(requireObjectCoercible$6(this)),
1440
+ toString$9(requireObjectCoercible$7(this)),
1438
1441
  toString$9(notARegExp(searchString)),
1439
1442
  arguments.length > 1 ? arguments[1] : undefined
1440
1443
  );
@@ -1474,13 +1477,13 @@ var WorkspaceErrorType;
1474
1477
  })(WorkspaceErrorType || (WorkspaceErrorType = {}));
1475
1478
 
1476
1479
  const workspaceListFilterOptions = [{
1477
- label: 'My presets',
1480
+ label: 'workspace-my-presets',
1478
1481
  id: 'user',
1479
1482
  type: 'scope',
1480
1483
  isSelected: true,
1481
1484
  isDisabled: false
1482
1485
  }, {
1483
- label: 'System presets',
1486
+ label: 'workspace-system-presets',
1484
1487
  id: 'system',
1485
1488
  type: 'scope',
1486
1489
  isSelected: true,
@@ -1633,7 +1636,7 @@ var objectGetPrototypeOf = CORRECT_PROTOTYPE_GETTER ? $Object.getPrototypeOf : f
1633
1636
 
1634
1637
  var fails$c = fails$p;
1635
1638
  var isCallable$5 = isCallable$i;
1636
- var isObject$4 = isObject$b;
1639
+ var isObject$5 = isObject$c;
1637
1640
  var getPrototypeOf$1 = objectGetPrototypeOf;
1638
1641
  var defineBuiltIn$3 = defineBuiltIn$5;
1639
1642
  var wellKnownSymbol$7 = wellKnownSymbol$e;
@@ -1656,7 +1659,7 @@ if ([].keys) {
1656
1659
  }
1657
1660
  }
1658
1661
 
1659
- var NEW_ITERATOR_PROTOTYPE = !isObject$4(IteratorPrototype$2) || fails$c(function () {
1662
+ var NEW_ITERATOR_PROTOTYPE = !isObject$5(IteratorPrototype$2) || fails$c(function () {
1660
1663
  var test = {};
1661
1664
  // FF44- legacy iterators case
1662
1665
  return IteratorPrototype$2[ITERATOR$2].call(test) !== test;
@@ -1716,10 +1719,10 @@ var functionUncurryThisAccessor = function (object, key, method) {
1716
1719
  } catch (error) { /* empty */ }
1717
1720
  };
1718
1721
 
1719
- var isObject$3 = isObject$b;
1722
+ var isObject$4 = isObject$c;
1720
1723
 
1721
1724
  var isPossiblePrototype$1 = function (argument) {
1722
- return isObject$3(argument) || argument === null;
1725
+ return isObject$4(argument) || argument === null;
1723
1726
  };
1724
1727
 
1725
1728
  var isPossiblePrototype = isPossiblePrototype$1;
@@ -1734,7 +1737,8 @@ var aPossiblePrototype$1 = function (argument) {
1734
1737
 
1735
1738
  /* eslint-disable no-proto -- safe */
1736
1739
  var uncurryThisAccessor = functionUncurryThisAccessor;
1737
- var anObject$8 = anObject$d;
1740
+ var isObject$3 = isObject$c;
1741
+ var requireObjectCoercible$6 = requireObjectCoercible$a;
1738
1742
  var aPossiblePrototype = aPossiblePrototype$1;
1739
1743
 
1740
1744
  // `Object.setPrototypeOf` method
@@ -1751,8 +1755,9 @@ var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? functio
1751
1755
  CORRECT_SETTER = test instanceof Array;
1752
1756
  } catch (error) { /* empty */ }
1753
1757
  return function setPrototypeOf(O, proto) {
1754
- anObject$8(O);
1758
+ requireObjectCoercible$6(O);
1755
1759
  aPossiblePrototype(proto);
1760
+ if (!isObject$3(O)) return O;
1756
1761
  if (CORRECT_SETTER) setter(O, proto);
1757
1762
  else O.__proto__ = proto;
1758
1763
  return O;
@@ -1933,6 +1938,8 @@ var lengthOfArrayLike$3 = lengthOfArrayLike$6;
1933
1938
 
1934
1939
  var $TypeError$3 = TypeError;
1935
1940
 
1941
+ var REDUCE_EMPTY = 'Reduce of empty array with no initial value';
1942
+
1936
1943
  // `Array.prototype.{ reduce, reduceRight }` methods implementation
1937
1944
  var createMethod$2 = function (IS_RIGHT) {
1938
1945
  return function (that, callbackfn, argumentsLength, memo) {
@@ -1940,6 +1947,7 @@ var createMethod$2 = function (IS_RIGHT) {
1940
1947
  var self = IndexedObject(O);
1941
1948
  var length = lengthOfArrayLike$3(O);
1942
1949
  aCallable$2(callbackfn);
1950
+ if (length === 0 && argumentsLength < 2) throw new $TypeError$3(REDUCE_EMPTY);
1943
1951
  var index = IS_RIGHT ? length - 1 : 0;
1944
1952
  var i = IS_RIGHT ? -1 : 1;
1945
1953
  if (argumentsLength < 2) while (true) {
@@ -1950,7 +1958,7 @@ var createMethod$2 = function (IS_RIGHT) {
1950
1958
  }
1951
1959
  index += i;
1952
1960
  if (IS_RIGHT ? index < 0 : length <= index) {
1953
- throw new $TypeError$3('Reduce of empty array with no initial value');
1961
+ throw new $TypeError$3(REDUCE_EMPTY);
1954
1962
  }
1955
1963
  }
1956
1964
  for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {
@@ -1979,7 +1987,7 @@ var arrayMethodIsStrict$2 = function (METHOD_NAME, argument) {
1979
1987
  });
1980
1988
  };
1981
1989
 
1982
- var global$6 = global$h;
1990
+ var global$6 = global$g;
1983
1991
  var classof$2 = classofRaw$2;
1984
1992
 
1985
1993
  var engineIsNode = classof$2(global$6.process) === 'process';
@@ -2048,7 +2056,7 @@ var DOMTokenListPrototype$1 = classList && classList.constructor && classList.co
2048
2056
 
2049
2057
  var domTokenListPrototype = DOMTokenListPrototype$1 === Object.prototype ? undefined : DOMTokenListPrototype$1;
2050
2058
 
2051
- var global$5 = global$h;
2059
+ var global$5 = global$g;
2052
2060
  var DOMIterables = domIterables;
2053
2061
  var DOMTokenListPrototype = domTokenListPrototype;
2054
2062
  var ArrayIteratorMethods = es_array_iterator;
@@ -2085,7 +2093,7 @@ for (var COLLECTION_NAME in DOMIterables) {
2085
2093
 
2086
2094
  handlePrototype(DOMTokenListPrototype, 'DOMTokenList');
2087
2095
 
2088
- var anObject$7 = anObject$d;
2096
+ var anObject$7 = anObject$c;
2089
2097
 
2090
2098
  // `RegExp.prototype.flags` getter implementation
2091
2099
  // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
@@ -2104,7 +2112,7 @@ var regexpFlags$1 = function () {
2104
2112
  };
2105
2113
 
2106
2114
  var fails$a = fails$p;
2107
- var global$4 = global$h;
2115
+ var global$4 = global$g;
2108
2116
 
2109
2117
  // babel-minify and Closure Compiler transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError
2110
2118
  var $RegExp$2 = global$4.RegExp;
@@ -2135,7 +2143,7 @@ var regexpStickyHelpers = {
2135
2143
  };
2136
2144
 
2137
2145
  var fails$9 = fails$p;
2138
- var global$3 = global$h;
2146
+ var global$3 = global$g;
2139
2147
 
2140
2148
  // babel-minify and Closure Compiler transpiles RegExp('.', 's') -> /./s and it causes SyntaxError
2141
2149
  var $RegExp$1 = global$3.RegExp;
@@ -2146,7 +2154,7 @@ var regexpUnsupportedDotAll = fails$9(function () {
2146
2154
  });
2147
2155
 
2148
2156
  var fails$8 = fails$p;
2149
- var global$2 = global$h;
2157
+ var global$2 = global$g;
2150
2158
 
2151
2159
  // babel-minify and Closure Compiler transpiles RegExp('(?<a>b)', 'g') -> /(?<a>b)/g and it causes SyntaxError
2152
2160
  var $RegExp = global$2.RegExp;
@@ -2164,7 +2172,7 @@ var uncurryThis$b = functionUncurryThis;
2164
2172
  var toString$8 = toString$a;
2165
2173
  var regexpFlags = regexpFlags$1;
2166
2174
  var stickyHelpers$1 = regexpStickyHelpers;
2167
- var shared = shared$4.exports;
2175
+ var shared = shared$4;
2168
2176
  var create = objectCreate;
2169
2177
  var getInternalState = internalState.get;
2170
2178
  var UNSUPPORTED_DOT_ALL = regexpUnsupportedDotAll;
@@ -2362,7 +2370,7 @@ var fixRegexpWellKnownSymbolLogic = function (KEY, exec, FORCED, SHAM) {
2362
2370
  var uncurryThis$a = functionUncurryThis;
2363
2371
  var toIntegerOrInfinity$2 = toIntegerOrInfinity$5;
2364
2372
  var toString$7 = toString$a;
2365
- var requireObjectCoercible$5 = requireObjectCoercible$9;
2373
+ var requireObjectCoercible$5 = requireObjectCoercible$a;
2366
2374
 
2367
2375
  var charAt$2 = uncurryThis$a(''.charAt);
2368
2376
  var charCodeAt = uncurryThis$a(''.charCodeAt);
@@ -2405,7 +2413,7 @@ var advanceStringIndex$3 = function (S, index, unicode) {
2405
2413
  };
2406
2414
 
2407
2415
  var call$6 = functionCall;
2408
- var anObject$6 = anObject$d;
2416
+ var anObject$6 = anObject$c;
2409
2417
  var isCallable$3 = isCallable$i;
2410
2418
  var classof$1 = classofRaw$2;
2411
2419
  var regexpExec = regexpExec$2;
@@ -2427,11 +2435,11 @@ var regexpExecAbstract = function (R, S) {
2427
2435
 
2428
2436
  var call$5 = functionCall;
2429
2437
  var fixRegExpWellKnownSymbolLogic$3 = fixRegexpWellKnownSymbolLogic;
2430
- var anObject$5 = anObject$d;
2438
+ var anObject$5 = anObject$c;
2431
2439
  var isNullOrUndefined$4 = isNullOrUndefined$7;
2432
2440
  var toLength$2 = toLength$4;
2433
2441
  var toString$6 = toString$a;
2434
- var requireObjectCoercible$4 = requireObjectCoercible$9;
2442
+ var requireObjectCoercible$4 = requireObjectCoercible$a;
2435
2443
  var getMethod$3 = getMethod$5;
2436
2444
  var advanceStringIndex$2 = advanceStringIndex$3;
2437
2445
  var regExpExec$3 = regexpExecAbstract;
@@ -2981,7 +2989,7 @@ var regexpGetFlags = function (R) {
2981
2989
 
2982
2990
  var PROPER_FUNCTION_NAME$1 = functionName.PROPER;
2983
2991
  var defineBuiltIn = defineBuiltIn$5;
2984
- var anObject$4 = anObject$d;
2992
+ var anObject$4 = anObject$c;
2985
2993
  var $toString = toString$a;
2986
2994
  var fails$6 = fails$p;
2987
2995
  var getRegExpFlags = regexpGetFlags;
@@ -3010,7 +3018,7 @@ var whitespaces$2 = '\u0009\u000A\u000B\u000C\u000D\u0020\u00A0\u1680\u2000\u200
3010
3018
  '\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF';
3011
3019
 
3012
3020
  var uncurryThis$9 = functionUncurryThis;
3013
- var requireObjectCoercible$3 = requireObjectCoercible$9;
3021
+ var requireObjectCoercible$3 = requireObjectCoercible$a;
3014
3022
  var toString$5 = toString$a;
3015
3023
  var whitespaces$1 = whitespaces$2;
3016
3024
 
@@ -3131,7 +3139,7 @@ var aConstructor$1 = function (argument) {
3131
3139
  throw new $TypeError$1(tryToString$1(argument) + ' is not a constructor');
3132
3140
  };
3133
3141
 
3134
- var anObject$3 = anObject$d;
3142
+ var anObject$3 = anObject$c;
3135
3143
  var aConstructor = aConstructor$1;
3136
3144
  var isNullOrUndefined$3 = isNullOrUndefined$7;
3137
3145
  var wellKnownSymbol$2 = wellKnownSymbol$e;
@@ -3149,9 +3157,9 @@ var speciesConstructor$1 = function (O, defaultConstructor) {
3149
3157
  var call$3 = functionCall;
3150
3158
  var uncurryThis$7 = functionUncurryThis;
3151
3159
  var fixRegExpWellKnownSymbolLogic$2 = fixRegexpWellKnownSymbolLogic;
3152
- var anObject$2 = anObject$d;
3160
+ var anObject$2 = anObject$c;
3153
3161
  var isNullOrUndefined$2 = isNullOrUndefined$7;
3154
- var requireObjectCoercible$2 = requireObjectCoercible$9;
3162
+ var requireObjectCoercible$2 = requireObjectCoercible$a;
3155
3163
  var speciesConstructor = speciesConstructor$1;
3156
3164
  var advanceStringIndex$1 = advanceStringIndex$3;
3157
3165
  var toLength$1 = toLength$4;
@@ -3955,7 +3963,7 @@ var proxyAccessor$1 = function (Target, Source, key) {
3955
3963
  };
3956
3964
 
3957
3965
  var isCallable$1 = isCallable$i;
3958
- var isObject$2 = isObject$b;
3966
+ var isObject$2 = isObject$c;
3959
3967
  var setPrototypeOf$1 = objectSetPrototypeOf;
3960
3968
 
3961
3969
  // makes subclassing work correct for wrapped built-ins
@@ -3979,7 +3987,7 @@ var normalizeStringArgument$1 = function (argument, $default) {
3979
3987
  return argument === undefined ? arguments.length < 2 ? '' : $default : toString$3(argument);
3980
3988
  };
3981
3989
 
3982
- var isObject$1 = isObject$b;
3990
+ var isObject$1 = isObject$c;
3983
3991
  var createNonEnumerableProperty$2 = createNonEnumerableProperty$8;
3984
3992
 
3985
3993
  // `InstallErrorCause` abstract operation
@@ -4097,7 +4105,7 @@ var wrapErrorConstructorWithCause$1 = function (FULL_NAME, wrapper, FORCED, IS_A
4097
4105
 
4098
4106
  /* eslint-disable no-unused-vars -- required for functions `.length` */
4099
4107
  var $$2 = _export;
4100
- var global$1 = global$h;
4108
+ var global$1 = global$g;
4101
4109
  var apply$1 = functionApply;
4102
4110
  var wrapErrorConstructorWithCause = wrapErrorConstructorWithCause$1;
4103
4111
 
@@ -4339,9 +4347,9 @@ var sameValue$1 = Object.is || function is(x, y) {
4339
4347
 
4340
4348
  var call$1 = functionCall;
4341
4349
  var fixRegExpWellKnownSymbolLogic$1 = fixRegexpWellKnownSymbolLogic;
4342
- var anObject$1 = anObject$d;
4350
+ var anObject$1 = anObject$c;
4343
4351
  var isNullOrUndefined$1 = isNullOrUndefined$7;
4344
- var requireObjectCoercible$1 = requireObjectCoercible$9;
4352
+ var requireObjectCoercible$1 = requireObjectCoercible$a;
4345
4353
  var sameValue = sameValue$1;
4346
4354
  var toString$1 = toString$a;
4347
4355
  var getMethod$1 = getMethod$5;
@@ -6490,13 +6498,13 @@ var call = functionCall;
6490
6498
  var uncurryThis$2 = functionUncurryThis;
6491
6499
  var fixRegExpWellKnownSymbolLogic = fixRegexpWellKnownSymbolLogic;
6492
6500
  var fails = fails$p;
6493
- var anObject = anObject$d;
6501
+ var anObject = anObject$c;
6494
6502
  var isCallable = isCallable$i;
6495
6503
  var isNullOrUndefined = isNullOrUndefined$7;
6496
6504
  var toIntegerOrInfinity$1 = toIntegerOrInfinity$5;
6497
6505
  var toLength = toLength$4;
6498
6506
  var toString = toString$a;
6499
- var requireObjectCoercible = requireObjectCoercible$9;
6507
+ var requireObjectCoercible = requireObjectCoercible$a;
6500
6508
  var advanceStringIndex = advanceStringIndex$3;
6501
6509
  var getMethod = getMethod$5;
6502
6510
  var getSubstitution = getSubstitution$1;
@@ -7392,6 +7400,130 @@ const store = createStore({
7392
7400
  devTools: devToolsStateSanitizer
7393
7401
  });
7394
7402
 
7403
+ var en = {
7404
+ "workspace-menu": "Workspace menu",
7405
+ "workspace-new": "New workspace",
7406
+ "workspace-my-presets": "My presets",
7407
+ "workspace-system-presets": "System presets",
7408
+ "workspace-all-button": "All",
7409
+ "workspace-search": "Search",
7410
+ "workspace-loading": "Loading",
7411
+ "workspace-options": "Options",
7412
+ "workspace-results": "results",
7413
+ "workspace-delete": "Delete",
7414
+ "workspce-clear": "Clear",
7415
+ "workspace-save": "Save",
7416
+ "workspace-save-as": "Save as",
7417
+ "workspace-save-incl-viewpresets": "Save (incl. viewpresets)",
7418
+ "workspace-edit": "Edit (name)",
7419
+ "workspace-edit-both": "Edit (name and abstract)",
7420
+ "geoweb-welcome": "Welcome to GeoWeb. Please use one of the presets to open up new views"
7421
+ };
7422
+ var fi = {
7423
+ "workspace-menu": "ei käännetty",
7424
+ "workspace-new": "ei käännetty",
7425
+ "workspace-my-presets": "ei käännetty",
7426
+ "workspace-system-presets": "ei käännetty",
7427
+ "workspace-all-button": "ei käännetty",
7428
+ "workspace-search": "ei käännetty",
7429
+ "workspace-loading": "ei käännetty",
7430
+ "workspace-options": "ei käännetty",
7431
+ "workspace-results": "ei käännetty",
7432
+ "workspace-delete": "ei käännetty",
7433
+ "workspce-clear": "ei käännetty",
7434
+ "workspace-save": "ei käännetty",
7435
+ "workspace-save-as": "ei käännetty",
7436
+ "workspace-save-incl-viewpresets": "ei käännetty",
7437
+ "workspace-edit": "ei käännetty",
7438
+ "workspace-edit-both": "ei käännetty",
7439
+ "geoweb-welcome": "ei käännetty"
7440
+ };
7441
+ var no = {
7442
+ "workspace-menu": "Arbeidsrommeny",
7443
+ "workspace-new": "Nytt arbeidsrom",
7444
+ "workspace-my-presets": "Mine presets",
7445
+ "workspace-system-presets": "System presets",
7446
+ "workspace-all-button": "Alle",
7447
+ "workspace-search": "Søk",
7448
+ "workspace-loading": "Laster",
7449
+ "workspace-options": "Valg",
7450
+ "workspace-results": "resultater",
7451
+ "workspace-delete": "Slett",
7452
+ "workspce-clear": "Tøm",
7453
+ "workspace-save": "Lagre",
7454
+ "workspace-save-as": "Lagre som",
7455
+ "workspace-save-incl-viewpresets": "Lagre (inkl. viewpresets)",
7456
+ "workspace-edit": "Endre (navn)",
7457
+ "workspace-edit-both": "Endre (navn og abstrakt)",
7458
+ "geoweb-welcome": "Velkommen til GeoWeb. Åpne et forhåndsvalg for å åpne nye vinduer"
7459
+ };
7460
+ var nl = {
7461
+ "workspace-menu": "niet vertaald",
7462
+ "workspace-new": "niet vertaald",
7463
+ "workspace-my-presets": "niet vertaald",
7464
+ "workspace-system-presets": "niet vertaald",
7465
+ "workspace-all-button": "niet vertaald",
7466
+ "workspce-search": "niet vertaald",
7467
+ "workspace-loading": "niet vertaald",
7468
+ "workspace-options": "niet vertaald",
7469
+ "workspace-results": "niet vertaald",
7470
+ "workspace-delete": "niet vertaald",
7471
+ "workspce-clear": "niet vertaald",
7472
+ "workspace-save": "niet vertaald",
7473
+ "workspace-save-as": "niet vertaald",
7474
+ "workspace-save-incl-viewpresets": "niet vertaald",
7475
+ "workspace-edit": "niet vertaald",
7476
+ "workspace-edit-both": "niet vertaald",
7477
+ "geoweb-welcome": "niet vertaald"
7478
+ };
7479
+ var workspaceTranslations = {
7480
+ en: en,
7481
+ fi: fi,
7482
+ no: no,
7483
+ nl: nl
7484
+ };
7485
+
7486
+ /* *
7487
+ * Licensed under the Apache License, Version 2.0 (the "License");
7488
+ * you may not use this file except in compliance with the License.
7489
+ * You may obtain a copy of the License at
7490
+ *
7491
+ * http://www.apache.org/licenses/LICENSE-2.0
7492
+ *
7493
+ * Unless required by applicable law or agreed to in writing, software
7494
+ * distributed under the License is distributed on an "AS IS" BASIS,
7495
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
7496
+ * See the License for the specific language governing permissions and
7497
+ * limitations under the License.
7498
+ *
7499
+ * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
7500
+ * Copyright 2023 - Finnish Meteorological Institute (FMI)
7501
+ * */
7502
+ const WORKSPACE_NAMESPACE = 'workspace';
7503
+ const initWorkspaceTestI18n = () => {
7504
+ i18n.use(initReactI18next).init({
7505
+ lng: 'en',
7506
+ ns: WORKSPACE_NAMESPACE,
7507
+ interpolation: {
7508
+ escapeValue: false
7509
+ },
7510
+ resources: {
7511
+ en: {
7512
+ workspace: workspaceTranslations.en
7513
+ },
7514
+ fi: {
7515
+ workspace: workspaceTranslations.fi
7516
+ },
7517
+ no: {
7518
+ workspace: workspaceTranslations.no
7519
+ },
7520
+ nl: {
7521
+ workspace: workspaceTranslations.nl
7522
+ }
7523
+ }
7524
+ });
7525
+ };
7526
+
7395
7527
  const WorkspaceThemeProvider = ({
7396
7528
  children,
7397
7529
  theme: _theme = lightTheme
@@ -7421,7 +7553,7 @@ const WorkspaceWrapperProviderWithStore = ({
7421
7553
  createApi: _createApi = createApi,
7422
7554
  theme,
7423
7555
  auth: _auth = defaultAuthConfig
7424
- }) => ( /*#__PURE__*/React__default.createElement(AuthenticationProvider, {
7556
+ }) => ( /*#__PURE__*/React__default.createElement(WorkspaceI18nProvider, null, /*#__PURE__*/React__default.createElement(AuthenticationProvider, {
7425
7557
  value: _auth
7426
7558
  }, /*#__PURE__*/React__default.createElement(ApiProvider, {
7427
7559
  createApi: _createApi,
@@ -7430,7 +7562,29 @@ const WorkspaceWrapperProviderWithStore = ({
7430
7562
  store: _store
7431
7563
  }, /*#__PURE__*/React__default.createElement(WorkspaceWrapperProvider, {
7432
7564
  theme: theme
7433
- }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, children)))))));
7565
+ }, /*#__PURE__*/React__default.createElement(SnackbarWrapperConnect, null, /*#__PURE__*/React__default.createElement(ConfirmationServiceProvider, null, children))))))));
7566
+ const WorkspaceTranslationsWrapper = ({
7567
+ children
7568
+ }) => {
7569
+ const {
7570
+ i18n
7571
+ } = useTranslation();
7572
+ React__default.useEffect(() => {
7573
+ i18n.addResourceBundle('en', WORKSPACE_NAMESPACE, workspaceTranslations.en);
7574
+ i18n.addResourceBundle('fi', WORKSPACE_NAMESPACE, workspaceTranslations.fi);
7575
+ i18n.addResourceBundle('no', WORKSPACE_NAMESPACE, workspaceTranslations.no);
7576
+ i18n.addResourceBundle('nl', WORKSPACE_NAMESPACE, workspaceTranslations.nl);
7577
+ }, [i18n]);
7578
+ return children;
7579
+ };
7580
+ const WorkspaceI18nProvider = ({
7581
+ children
7582
+ }) => {
7583
+ initWorkspaceTestI18n();
7584
+ return /*#__PURE__*/React__default.createElement(I18nextProvider, {
7585
+ i18n: i18n
7586
+ }, children);
7587
+ };
7434
7588
 
7435
7589
  /* *
7436
7590
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -7586,7 +7740,7 @@ var flattenIntoArray_1 = flattenIntoArray$1;
7586
7740
 
7587
7741
  var isArray = isArray$3;
7588
7742
  var isConstructor = isConstructor$2;
7589
- var isObject = isObject$b;
7743
+ var isObject = isObject$c;
7590
7744
  var wellKnownSymbol = wellKnownSymbol$e;
7591
7745
 
7592
7746
  var SPECIES = wellKnownSymbol('species');
@@ -7753,19 +7907,24 @@ const WorkspaceControls = ({
7753
7907
  * */
7754
7908
  const ViewLoading = ({
7755
7909
  viewPresetId
7756
- }) => ( /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinearProgress, {
7757
- "data-testid": "loading-bar",
7758
- color: "secondary",
7759
- sx: {
7760
- position: 'absolute',
7761
- width: '100%',
7762
- top: 0
7763
- }
7764
- }), /*#__PURE__*/React.createElement(Typography, {
7765
- sx: {
7766
- margin: 1
7767
- }
7768
- }, "Loading ", viewPresetId)));
7910
+ }) => {
7911
+ const {
7912
+ t
7913
+ } = useTranslation(WORKSPACE_NAMESPACE);
7914
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(LinearProgress, {
7915
+ "data-testid": "loading-bar",
7916
+ color: "secondary",
7917
+ sx: {
7918
+ position: 'absolute',
7919
+ width: '100%',
7920
+ top: 0
7921
+ }
7922
+ }), /*#__PURE__*/React.createElement(Typography, {
7923
+ sx: {
7924
+ margin: 1
7925
+ }
7926
+ }, t('workspace-loading'), " ", viewPresetId));
7927
+ };
7769
7928
  const ViewError = ({
7770
7929
  viewPresetId,
7771
7930
  mosaicNodeId
@@ -8048,26 +8207,28 @@ const FilterChip = ({
8048
8207
  * Copyright 2023 - Koninklijk Nederlands Meteorologisch Instituut (KNMI)
8049
8208
  * Copyright 2023 - Finnish Meteorological Institute (FMI)
8050
8209
  * */
8051
- const allLabel = 'All';
8052
8210
  const FilterList = ({
8053
8211
  filters: _filters = workspaceListFilterOptions,
8054
8212
  onChipClick: _onChipClick = () => {},
8055
8213
  isAllSelected: _isAllSelected = false
8056
8214
  }) => {
8215
+ const {
8216
+ t
8217
+ } = useTranslation(WORKSPACE_NAMESPACE);
8057
8218
  return /*#__PURE__*/React.createElement(Stack, {
8058
8219
  direction: "row",
8059
8220
  spacing: 1,
8060
8221
  "data-testid": "filterList"
8061
8222
  }, /*#__PURE__*/React.createElement(FilterChip, {
8062
8223
  id: "all",
8063
- label: allLabel,
8224
+ label: t('workspace-all-button'),
8064
8225
  isSelected: _isAllSelected,
8065
8226
  handleClick: key => _onChipClick(key, !_isAllSelected)
8066
8227
  }), _filters.map(filter => {
8067
8228
  return /*#__PURE__*/React.createElement(FilterChip, {
8068
8229
  key: filter.id,
8069
8230
  id: filter.id,
8070
- label: filter.label,
8231
+ label: t(filter.label),
8071
8232
  isSelected: _isAllSelected ? false : filter.isSelected,
8072
8233
  isDisabled: filter.isDisabled,
8073
8234
  handleClick: key => {
@@ -8096,11 +8257,14 @@ const ClearButton = ({
8096
8257
  size: "large"
8097
8258
  }, /*#__PURE__*/React.createElement(Clear, null)));
8098
8259
  const SearchField = ({
8099
- label: _label = 'Search',
8100
8260
  valueChanged,
8101
8261
  value: _value = ''
8102
8262
  }) => {
8103
8263
  const [localValue, setLocalValue] = React.useState(_value);
8264
+ const {
8265
+ t
8266
+ } = useTranslation(WORKSPACE_NAMESPACE);
8267
+ const label = t('workspace-search');
8104
8268
  // eslint-disable-next-line react-hooks/exhaustive-deps
8105
8269
  const handleValueChangeDebounced = React.useCallback(debounce$1(valueChanged, DEBOUNCE_TIMEOUT), []);
8106
8270
  return /*#__PURE__*/React.createElement(TextField, {
@@ -8111,7 +8275,7 @@ const SearchField = ({
8111
8275
  paddingTop: '18px'
8112
8276
  }
8113
8277
  },
8114
- label: _label,
8278
+ label: label,
8115
8279
  value: localValue,
8116
8280
  autoFocus: true,
8117
8281
  fullWidth: true,
@@ -8128,7 +8292,7 @@ const SearchField = ({
8128
8292
  valueChanged('');
8129
8293
  }
8130
8294
  })) : ( /*#__PURE__*/React.createElement(SearchButton, {
8131
- label: _label
8295
+ label: label
8132
8296
  }))))
8133
8297
  }
8134
8298
  });
@@ -8197,6 +8361,9 @@ const WorkspaceSelectList = ({
8197
8361
  newPreset: _newPreset = emptyWorkspaceListItem,
8198
8362
  testIdPrefix: _testIdPrefix = 'workspace'
8199
8363
  }) => {
8364
+ const {
8365
+ t
8366
+ } = useTranslation(WORKSPACE_NAMESPACE);
8200
8367
  const items = React.useMemo(() => !hideNewWorkspace ? [_newPreset, ...workspacePresets] : workspacePresets, [hideNewWorkspace, _newPreset, workspacePresets]);
8201
8368
  return /*#__PURE__*/React.createElement(Box, {
8202
8369
  "data-testid": `${_testIdPrefix}-selectList`,
@@ -8209,7 +8376,7 @@ const WorkspaceSelectList = ({
8209
8376
  marginBottom: '4px',
8210
8377
  fontSize: '12px'
8211
8378
  }
8212
- }, workspacePresets.length, " results"), /*#__PURE__*/React.createElement(AutoSizer, null, ({
8379
+ }, workspacePresets.length, " ", t('workspace-results')), /*#__PURE__*/React.createElement(AutoSizer, null, ({
8213
8380
  height: _height = 0,
8214
8381
  width: _width = 0
8215
8382
  }) => ( /*#__PURE__*/React.createElement(Box, {
@@ -8480,6 +8647,9 @@ const WorkspaceOptionsNoMemo = ({
8480
8647
  panelId,
8481
8648
  id: _id = 'workspace-options-toolbutton'
8482
8649
  }) => {
8650
+ const {
8651
+ t
8652
+ } = useTranslation(WORKSPACE_NAMESPACE);
8483
8653
  const [anchorEl, setAnchorEl] = React.useState(null);
8484
8654
  const isOpen = Boolean(anchorEl);
8485
8655
  const handleClick = event => {
@@ -8490,21 +8660,21 @@ const WorkspaceOptionsNoMemo = ({
8490
8660
  setAnchorEl(document.getElementById(_id));
8491
8661
  }
8492
8662
  }, [_isDefaultOpen, _id]);
8493
- const editTitle = _id === 'viewpreset-options-toolbutton' ? 'Edit (name)' : 'Edit (name and abstract)';
8663
+ const editTitle = _id === 'viewpreset-options-toolbutton' ? t('workspace-edit') : t('workspace-edit-both');
8494
8664
  const options = [{
8495
- title: 'Save',
8665
+ title: t('workspace-save'),
8496
8666
  callback: handleSave
8497
8667
  }, {
8498
- title: 'Save as',
8668
+ title: t('workspace-save-as'),
8499
8669
  callback: handleSaveAs
8500
8670
  }, ...(handleSaveAll ? [{
8501
- title: 'Save (incl. viewpresets)',
8671
+ title: t('workspace-save-incl-viewpresets'),
8502
8672
  callback: handleSaveAll
8503
8673
  }] : []), {
8504
8674
  title: editTitle,
8505
8675
  callback: handleEdit
8506
8676
  }, {
8507
- title: 'Delete',
8677
+ title: t('workspace-delete'),
8508
8678
  callback: handleDelete
8509
8679
  }];
8510
8680
  const renderButton = () => ( /*#__PURE__*/React.createElement(CustomToggleButton, {
@@ -8583,7 +8753,7 @@ const WorkspaceOptionsNoMemo = ({
8583
8753
  letterSpacing: '0.4px',
8584
8754
  fontSize: 12
8585
8755
  }
8586
- }, "Options")), options.map(({
8756
+ }, t('workspace-options'))), options.map(({
8587
8757
  title,
8588
8758
  callback
8589
8759
  }) => ( /*#__PURE__*/React.createElement(MenuItem, {
@@ -8937,6 +9107,9 @@ const WorkspaceView = ({
8937
9107
  setActiveWindowId,
8938
9108
  isWorkspaceLoading: _isWorkspaceLoading = false
8939
9109
  }) => {
9110
+ const {
9111
+ t
9112
+ } = useTranslation(WORKSPACE_NAMESPACE);
8940
9113
  const EmptyView = !_isWorkspaceLoading && ( /*#__PURE__*/React.createElement(Box, {
8941
9114
  sx: {
8942
9115
  backgroundColor: 'geowebColors.background.surface',
@@ -8955,7 +9128,7 @@ const WorkspaceView = ({
8955
9128
  sx: {
8956
9129
  color: 'geowebColors.typographyAndIcons.text'
8957
9130
  }
8958
- }, "Welcome to GeoWeb. Please use one of the presets to open up new views.")));
9131
+ }, t('geoweb-welcome'))));
8959
9132
  useControlActiveWindowId(screenConfig, activeWindowId, setActiveWindowId);
8960
9133
  const getNewViewId = (element, viewId) => {
8961
9134
  if (element instanceof Element) {
@@ -9298,6 +9471,9 @@ const WorkspaceMenu = ({
9298
9471
  hideBackdrop: _hideBackdrop = false,
9299
9472
  closeMenu
9300
9473
  }) => {
9474
+ const {
9475
+ t
9476
+ } = useTranslation(WORKSPACE_NAMESPACE);
9301
9477
  const toolContainer = /*#__PURE__*/React__default.createElement(ToolContainer, {
9302
9478
  style: {
9303
9479
  width: 320,
@@ -9305,7 +9481,7 @@ const WorkspaceMenu = ({
9305
9481
  position: 'absolute',
9306
9482
  top: '16px'
9307
9483
  },
9308
- title: "Workspace menu",
9484
+ title: t('workspace-menu'),
9309
9485
  onClose: closeMenu,
9310
9486
  onClick: event => {
9311
9487
  event.stopPropagation();
@@ -9348,6 +9524,10 @@ const WorkspaceMenuButton = ({
9348
9524
  const onCloseMenu = () => {
9349
9525
  _onToggleDialog(false);
9350
9526
  };
9527
+ const {
9528
+ t
9529
+ } = useTranslation(WORKSPACE_NAMESPACE);
9530
+ const tooltipTitle = t('workspace-menu');
9351
9531
  return /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Box, {
9352
9532
  sx: {
9353
9533
  padding: '4px 8px',
@@ -9361,7 +9541,7 @@ const WorkspaceMenuButton = ({
9361
9541
  isSelected: _showMenu,
9362
9542
  "aria-label": "workspace menu",
9363
9543
  variant: "tool",
9364
- tooltipTitle: "Workspace menu",
9544
+ tooltipTitle: tooltipTitle,
9365
9545
  sx: {
9366
9546
  '&&': {
9367
9547
  backgroundColor: !_showMenu ? 'transparent' : undefined,
@@ -9799,7 +9979,7 @@ const WorkspaceTabConnect = ({
9799
9979
  const WorkspaceTopBar = ({
9800
9980
  workspaceId
9801
9981
  }) => {
9802
- return /*#__PURE__*/React.createElement(Tabs, {
9982
+ return /*#__PURE__*/React.createElement(WorkspaceTranslationsWrapper, null, /*#__PURE__*/React.createElement(Tabs, {
9803
9983
  value: 0,
9804
9984
  "aria-label": "workspace-bar-tabs",
9805
9985
  sx: {
@@ -9814,7 +9994,7 @@ const WorkspaceTopBar = ({
9814
9994
  }
9815
9995
  }, /*#__PURE__*/React.createElement(WorkspaceTabConnect, {
9816
9996
  workspaceId: workspaceId
9817
- }));
9997
+ })));
9818
9998
  };
9819
9999
 
9820
10000
  const validateTitle = value => {
@@ -10145,4 +10325,4 @@ const WorkspaceDetail = ({
10145
10325
  }))))), /*#__PURE__*/React.createElement(MapPresetsFormDialogConnect, null));
10146
10326
  };
10147
10327
 
10148
- export { ComponentsLookUpWrapper, WorkspaceDetail, WorkspaceErrorType, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, workspaceActions as actions, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, emptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, viewPresetActions, workspaceListActions, workspaceModuleConfig, reducer$1 as workspaceReducer, routes as workspaceRoutes };
10328
+ export { ComponentsLookUpWrapper, WorkspaceDetail, WorkspaceErrorType, WorkspaceI18nProvider, WorkspaceModuleProvider, WorkspacePresetAction, WorkspaceTopBar, WorkspaceTranslationsWrapper, WorkspaceViewConnect, WorkspaceWrapperProviderWithStore, workspaceActions as actions, createBalancedMosaicNode, createCustomEmptyMapWorkspace, defaultAuthConfig, emptyMapWorkspace, getWorkspaceRouteUrl, selectors$1 as selectors, viewPresetActions, workspaceListActions, workspaceModuleConfig, reducer$1 as workspaceReducer, routes as workspaceRoutes };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opengeoweb/workspace",
3
- "version": "9.14.0",
3
+ "version": "9.15.0",
4
4
  "description": "GeoWeb Workspace library for the opengeoweb project",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -34,7 +34,9 @@
34
34
  "@opengeoweb/core": "*",
35
35
  "@opengeoweb/taf": "*",
36
36
  "@opengeoweb/sigmet-airmet": "*",
37
- "@opengeoweb/warnings": "*"
37
+ "@opengeoweb/warnings": "*",
38
+ "i18next": "^23.7.11",
39
+ "react-i18next": "^13.5.0"
38
40
  },
39
41
  "peerDependencies": {
40
42
  "react": "18"
@@ -19,4 +19,9 @@ export declare const defaultAuthConfig: {
19
19
  sessionStorageProvider: never;
20
20
  };
21
21
  export declare const WorkspaceWrapperProviderWithStore: React.FC<WorkspaceWrapperProviderWithStoreProps>;
22
+ interface WorkspaceTranslationsWrapperProps {
23
+ children?: React.ReactNode;
24
+ }
25
+ export declare const WorkspaceTranslationsWrapper: React.FC<WorkspaceTranslationsWrapperProps>;
26
+ export declare const WorkspaceI18nProvider: React.FC<WorkspaceTranslationsWrapperProps>;
22
27
  export {};
@@ -1,6 +1,5 @@
1
1
  import * as React from 'react';
2
2
  import { WorkspaceListFilter } from '../../store/workspaceList/types';
3
- export declare const allLabel = "All";
4
3
  interface FilterListProps {
5
4
  filters?: WorkspaceListFilter[];
6
5
  onChipClick?: (id: string, selected: boolean) => void;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  export declare const DEBOUNCE_TIMEOUT = 300;
3
3
  interface SearchFieldProps {
4
- label?: string;
5
4
  valueChanged: (value: string) => void;
6
5
  value?: string;
7
6
  }
@@ -0,0 +1,4 @@
1
+ import i18n from 'i18next';
2
+ export declare const WORKSPACE_NAMESPACE = "workspace";
3
+ export declare const initWorkspaceTestI18n: () => void;
4
+ export { i18n };