@bigbinary/neeto-tags-frontend 0.0.50 → 0.0.52

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/dist/index.js CHANGED
@@ -9,32 +9,29 @@ import _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConst
9
9
  import _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';
10
10
  import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
11
11
  import _toArray from '@babel/runtime/helpers/esm/toArray';
12
- import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
13
- import _typeof$1 from '@babel/runtime/helpers/typeof';
14
12
  import _defineProperty$1 from '@babel/runtime/helpers/defineProperty';
15
- import React, { createContext, useContext, createElement, isValidElement, cloneElement, useState, useRef, useEffect, useMemo } from 'react';
16
13
  import _classCallCheck$1 from '@babel/runtime/helpers/classCallCheck';
17
14
  import _createClass$1 from '@babel/runtime/helpers/createClass';
18
- import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
15
+ import React, { createElement, isValidElement, cloneElement, createContext, useContext, useState, useRef, useEffect, useMemo } from 'react';
19
16
  import _extends from '@babel/runtime/helpers/extends';
17
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
20
18
  import { Plus, MenuHorizontal, Merge as Merge$1 } from '@bigbinary/neeto-icons';
21
19
  import { Typography, Tag, Select, Button, Dropdown, Toastr, Pane, PageLoader, NoData, Table, Alert, Input as Input$1, Modal } from '@bigbinary/neetoui';
22
20
  import { useHistory, Switch, Route } from 'react-router-dom';
23
21
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
24
- import * as yup from 'yup';
25
- import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
26
- import _extends$1 from '@babel/runtime/helpers/esm/extends';
27
22
  import ReactDOM from 'react-dom';
23
+ import _extends$1 from '@babel/runtime/helpers/esm/extends';
24
+ import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
28
25
  import axios from 'axios';
29
26
  import { Container, Header, SubHeader, MenuBar } from '@bigbinary/neetoui/layouts';
30
- import { Formik, Form } from 'formik';
31
- import { Input, Textarea } from '@bigbinary/neetoui/formik';
27
+ import * as yup from 'yup';
28
+ import { Form, Input, Textarea } from '@bigbinary/neetoui/formik';
32
29
  import classames from 'classnames';
30
+ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
31
+ import _typeof$1 from '@babel/runtime/helpers/typeof';
33
32
 
34
- function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
35
-
36
- function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
37
-
33
+ function ownKeys$6$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
34
+ function _objectSpread$6$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
38
35
  var consoleLogger = {
39
36
  type: 'logger',
40
37
  log: function log(args) {
@@ -50,16 +47,12 @@ var consoleLogger = {
50
47
  if (console && console[type]) console[type].apply(console, args);
51
48
  }
52
49
  };
53
-
54
50
  var Logger = function () {
55
51
  function Logger(concreteLogger) {
56
52
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
57
-
58
53
  _classCallCheck(this, Logger);
59
-
60
54
  this.init(concreteLogger, options);
61
55
  }
62
-
63
56
  _createClass(Logger, [{
64
57
  key: "init",
65
58
  value: function init(concreteLogger) {
@@ -80,7 +73,6 @@ var Logger = function () {
80
73
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
81
74
  args[_key] = arguments[_key];
82
75
  }
83
-
84
76
  return this.forward(args, 'log', '', true);
85
77
  }
86
78
  }, {
@@ -89,7 +81,6 @@ var Logger = function () {
89
81
  for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
90
82
  args[_key2] = arguments[_key2];
91
83
  }
92
-
93
84
  return this.forward(args, 'warn', '', true);
94
85
  }
95
86
  }, {
@@ -98,7 +89,6 @@ var Logger = function () {
98
89
  for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
99
90
  args[_key3] = arguments[_key3];
100
91
  }
101
-
102
92
  return this.forward(args, 'error', '');
103
93
  }
104
94
  }, {
@@ -107,7 +97,6 @@ var Logger = function () {
107
97
  for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
108
98
  args[_key4] = arguments[_key4];
109
99
  }
110
-
111
100
  return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);
112
101
  }
113
102
  }, {
@@ -120,32 +109,33 @@ var Logger = function () {
120
109
  }, {
121
110
  key: "create",
122
111
  value: function create(moduleName) {
123
- return new Logger(this.logger, _objectSpread$8(_objectSpread$8({}, {
112
+ return new Logger(this.logger, _objectSpread$6$1(_objectSpread$6$1({}, {
124
113
  prefix: "".concat(this.prefix, ":").concat(moduleName, ":")
125
114
  }), this.options));
126
115
  }
116
+ }, {
117
+ key: "clone",
118
+ value: function clone(options) {
119
+ options = options || this.options;
120
+ options.prefix = options.prefix || this.prefix;
121
+ return new Logger(this.logger, options);
122
+ }
127
123
  }]);
128
-
129
124
  return Logger;
130
125
  }();
131
-
132
126
  var baseLogger = new Logger();
133
127
 
134
128
  var EventEmitter = function () {
135
129
  function EventEmitter() {
136
130
  _classCallCheck(this, EventEmitter);
137
-
138
131
  this.observers = {};
139
132
  }
140
-
141
133
  _createClass(EventEmitter, [{
142
134
  key: "on",
143
135
  value: function on(events, listener) {
144
136
  var _this = this;
145
-
146
137
  events.split(' ').forEach(function (event) {
147
138
  _this.observers[event] = _this.observers[event] || [];
148
-
149
139
  _this.observers[event].push(listener);
150
140
  });
151
141
  return this;
@@ -154,12 +144,10 @@ var EventEmitter = function () {
154
144
  key: "off",
155
145
  value: function off(event, listener) {
156
146
  if (!this.observers[event]) return;
157
-
158
147
  if (!listener) {
159
148
  delete this.observers[event];
160
149
  return;
161
150
  }
162
-
163
151
  this.observers[event] = this.observers[event].filter(function (l) {
164
152
  return l !== listener;
165
153
  });
@@ -170,24 +158,20 @@ var EventEmitter = function () {
170
158
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
171
159
  args[_key - 1] = arguments[_key];
172
160
  }
173
-
174
161
  if (this.observers[event]) {
175
162
  var cloned = [].concat(this.observers[event]);
176
163
  cloned.forEach(function (observer) {
177
164
  observer.apply(void 0, args);
178
165
  });
179
166
  }
180
-
181
167
  if (this.observers['*']) {
182
168
  var _cloned = [].concat(this.observers['*']);
183
-
184
169
  _cloned.forEach(function (observer) {
185
170
  observer.apply(observer, [event].concat(args));
186
171
  });
187
172
  }
188
173
  }
189
174
  }]);
190
-
191
175
  return EventEmitter;
192
176
  }();
193
177
 
@@ -211,68 +195,56 @@ function copy(a, s, t) {
211
195
  if (s[m]) t[m] = s[m];
212
196
  });
213
197
  }
214
-
215
198
  function getLastOfPath(object, path, Empty) {
216
199
  function cleanKey(key) {
217
200
  return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;
218
201
  }
219
-
220
202
  function canNotTraverseDeeper() {
221
203
  return !object || typeof object === 'string';
222
204
  }
223
-
224
205
  var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');
225
-
226
206
  while (stack.length > 1) {
227
207
  if (canNotTraverseDeeper()) return {};
228
208
  var key = cleanKey(stack.shift());
229
209
  if (!object[key] && Empty) object[key] = new Empty();
230
-
231
210
  if (Object.prototype.hasOwnProperty.call(object, key)) {
232
211
  object = object[key];
233
212
  } else {
234
213
  object = {};
235
214
  }
236
215
  }
237
-
238
216
  if (canNotTraverseDeeper()) return {};
239
217
  return {
240
218
  obj: object,
241
219
  k: cleanKey(stack.shift())
242
220
  };
243
221
  }
244
-
245
222
  function setPath(object, path, newValue) {
246
223
  var _getLastOfPath = getLastOfPath(object, path, Object),
247
- obj = _getLastOfPath.obj,
248
- k = _getLastOfPath.k;
249
-
224
+ obj = _getLastOfPath.obj,
225
+ k = _getLastOfPath.k;
250
226
  obj[k] = newValue;
251
227
  }
252
228
  function pushPath(object, path, newValue, concat) {
253
229
  var _getLastOfPath2 = getLastOfPath(object, path, Object),
254
- obj = _getLastOfPath2.obj,
255
- k = _getLastOfPath2.k;
256
-
230
+ obj = _getLastOfPath2.obj,
231
+ k = _getLastOfPath2.k;
257
232
  obj[k] = obj[k] || [];
258
233
  if (concat) obj[k] = obj[k].concat(newValue);
259
234
  if (!concat) obj[k].push(newValue);
260
235
  }
261
236
  function getPath(object, path) {
262
237
  var _getLastOfPath3 = getLastOfPath(object, path),
263
- obj = _getLastOfPath3.obj,
264
- k = _getLastOfPath3.k;
265
-
238
+ obj = _getLastOfPath3.obj,
239
+ k = _getLastOfPath3.k;
266
240
  if (!obj) return undefined;
267
241
  return obj[k];
268
242
  }
269
243
  function getPathWithDefaults(data, defaultData, key) {
270
244
  var value = getPath(data, key);
271
-
272
245
  if (value !== undefined) {
273
246
  return value;
274
247
  }
275
-
276
248
  return getPath(defaultData, key);
277
249
  }
278
250
  function deepExtend(target, source, overwrite) {
@@ -289,7 +261,6 @@ function deepExtend(target, source, overwrite) {
289
261
  }
290
262
  }
291
263
  }
292
-
293
264
  return target;
294
265
  }
295
266
  function regexEscape(str) {
@@ -309,7 +280,6 @@ function escape(data) {
309
280
  return _entityMap[s];
310
281
  });
311
282
  }
312
-
313
283
  return data;
314
284
  }
315
285
  var isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;
@@ -325,105 +295,77 @@ function looksLikeObjectPath(key, nsSeparator, keySeparator) {
325
295
  return c === '?' ? '\\?' : c;
326
296
  }).join('|'), ")"));
327
297
  var matched = !r.test(key);
328
-
329
298
  if (!matched) {
330
299
  var ki = key.indexOf(keySeparator);
331
-
332
300
  if (ki > 0 && !r.test(key.substring(0, ki))) {
333
301
  matched = true;
334
302
  }
335
303
  }
336
-
337
304
  return matched;
338
305
  }
339
306
 
340
- function ownKeys$1$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
341
-
342
- function _objectSpread$1$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
343
-
344
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
345
-
346
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
347
-
307
+ function ownKeys$5$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
308
+ function _objectSpread$5$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
309
+ function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
310
+ function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
348
311
  function deepFind(obj, path) {
349
312
  var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';
350
313
  if (!obj) return undefined;
351
314
  if (obj[path]) return obj[path];
352
315
  var paths = path.split(keySeparator);
353
316
  var current = obj;
354
-
355
317
  for (var i = 0; i < paths.length; ++i) {
356
318
  if (!current) return undefined;
357
-
358
319
  if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {
359
320
  return undefined;
360
321
  }
361
-
362
322
  if (current[paths[i]] === undefined) {
363
323
  var j = 2;
364
324
  var p = paths.slice(i, i + j).join(keySeparator);
365
325
  var mix = current[p];
366
-
367
326
  while (mix === undefined && paths.length > i + j) {
368
327
  j++;
369
328
  p = paths.slice(i, i + j).join(keySeparator);
370
329
  mix = current[p];
371
330
  }
372
-
373
331
  if (mix === undefined) return undefined;
374
332
  if (mix === null) return null;
375
-
376
333
  if (path.endsWith(p)) {
377
334
  if (typeof mix === 'string') return mix;
378
335
  if (p && typeof mix[p] === 'string') return mix[p];
379
336
  }
380
-
381
337
  var joinedPath = paths.slice(i + j).join(keySeparator);
382
338
  if (joinedPath) return deepFind(mix, joinedPath, keySeparator);
383
339
  return undefined;
384
340
  }
385
-
386
341
  current = current[paths[i]];
387
342
  }
388
-
389
343
  return current;
390
344
  }
391
-
392
345
  var ResourceStore = function (_EventEmitter) {
393
346
  _inherits(ResourceStore, _EventEmitter);
394
-
395
- var _super = _createSuper(ResourceStore);
396
-
347
+ var _super = _createSuper$3(ResourceStore);
397
348
  function ResourceStore(data) {
398
349
  var _this;
399
-
400
350
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
401
351
  ns: ['translation'],
402
352
  defaultNS: 'translation'
403
353
  };
404
-
405
354
  _classCallCheck(this, ResourceStore);
406
-
407
355
  _this = _super.call(this);
408
-
409
356
  if (isIE10) {
410
357
  EventEmitter.call(_assertThisInitialized(_this));
411
358
  }
412
-
413
359
  _this.data = data || {};
414
360
  _this.options = options;
415
-
416
361
  if (_this.options.keySeparator === undefined) {
417
362
  _this.options.keySeparator = '.';
418
363
  }
419
-
420
364
  if (_this.options.ignoreJSONStructure === undefined) {
421
365
  _this.options.ignoreJSONStructure = true;
422
366
  }
423
-
424
367
  return _this;
425
368
  }
426
-
427
369
  _createClass(ResourceStore, [{
428
370
  key: "addNamespaces",
429
371
  value: function addNamespaces(ns) {
@@ -435,7 +377,6 @@ var ResourceStore = function (_EventEmitter) {
435
377
  key: "removeNamespaces",
436
378
  value: function removeNamespaces(ns) {
437
379
  var index = this.options.ns.indexOf(ns);
438
-
439
380
  if (index > -1) {
440
381
  this.options.ns.splice(index, 1);
441
382
  }
@@ -449,11 +390,9 @@ var ResourceStore = function (_EventEmitter) {
449
390
  var path = [lng, ns];
450
391
  if (key && typeof key !== 'string') path = path.concat(key);
451
392
  if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);
452
-
453
393
  if (lng.indexOf('.') > -1) {
454
394
  path = lng.split('.');
455
395
  }
456
-
457
396
  var result = getPath(this.data, path);
458
397
  if (result || !ignoreJSONStructure || typeof key !== 'string') return result;
459
398
  return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);
@@ -468,13 +407,11 @@ var ResourceStore = function (_EventEmitter) {
468
407
  if (keySeparator === undefined) keySeparator = '.';
469
408
  var path = [lng, ns];
470
409
  if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);
471
-
472
410
  if (lng.indexOf('.') > -1) {
473
411
  path = lng.split('.');
474
412
  value = ns;
475
413
  ns = path[1];
476
414
  }
477
-
478
415
  this.addNamespaces(ns);
479
416
  setPath(this.data, path, value);
480
417
  if (!options.silent) this.emit('added', lng, ns, key, value);
@@ -485,13 +422,11 @@ var ResourceStore = function (_EventEmitter) {
485
422
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
486
423
  silent: false
487
424
  };
488
-
489
425
  for (var m in resources) {
490
426
  if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {
491
427
  silent: true
492
428
  });
493
429
  }
494
-
495
430
  if (!options.silent) this.emit('added', lng, ns, resources);
496
431
  }
497
432
  }, {
@@ -501,23 +436,19 @@ var ResourceStore = function (_EventEmitter) {
501
436
  silent: false
502
437
  };
503
438
  var path = [lng, ns];
504
-
505
439
  if (lng.indexOf('.') > -1) {
506
440
  path = lng.split('.');
507
441
  deep = resources;
508
442
  resources = ns;
509
443
  ns = path[1];
510
444
  }
511
-
512
445
  this.addNamespaces(ns);
513
446
  var pack = getPath(this.data, path) || {};
514
-
515
447
  if (deep) {
516
448
  deepExtend(pack, resources, overwrite);
517
449
  } else {
518
- pack = _objectSpread$1$1(_objectSpread$1$1({}, pack), resources);
450
+ pack = _objectSpread$5$1(_objectSpread$5$1({}, pack), resources);
519
451
  }
520
-
521
452
  setPath(this.data, path, pack);
522
453
  if (!options.silent) this.emit('added', lng, ns, resources);
523
454
  }
@@ -527,7 +458,6 @@ var ResourceStore = function (_EventEmitter) {
527
458
  if (this.hasResourceBundle(lng, ns)) {
528
459
  delete this.data[lng][ns];
529
460
  }
530
-
531
461
  this.removeNamespaces(ns);
532
462
  this.emit('removed', lng, ns);
533
463
  }
@@ -540,7 +470,7 @@ var ResourceStore = function (_EventEmitter) {
540
470
  key: "getResourceBundle",
541
471
  value: function getResourceBundle(lng, ns) {
542
472
  if (!ns) ns = this.options.defaultNS;
543
- if (this.options.compatibilityAPI === 'v1') return _objectSpread$1$1(_objectSpread$1$1({}, {}), this.getResource(lng, ns));
473
+ if (this.options.compatibilityAPI === 'v1') return _objectSpread$5$1(_objectSpread$5$1({}, {}), this.getResource(lng, ns));
544
474
  return this.getResource(lng, ns);
545
475
  }
546
476
  }, {
@@ -563,7 +493,6 @@ var ResourceStore = function (_EventEmitter) {
563
493
  return this.data;
564
494
  }
565
495
  }]);
566
-
567
496
  return ResourceStore;
568
497
  }(EventEmitter);
569
498
 
@@ -574,7 +503,6 @@ var postProcessor = {
574
503
  },
575
504
  handle: function handle(processors, value, key, options, translator) {
576
505
  var _this = this;
577
-
578
506
  processors.forEach(function (processor) {
579
507
  if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);
580
508
  });
@@ -582,44 +510,30 @@ var postProcessor = {
582
510
  }
583
511
  };
584
512
 
585
- function ownKeys$2$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
586
-
587
- function _objectSpread$2$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
588
-
589
- function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
590
-
591
- function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
513
+ function ownKeys$4$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
514
+ function _objectSpread$4$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
515
+ function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
516
+ function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
592
517
  var checkedLoadedFor = {};
593
-
594
518
  var Translator = function (_EventEmitter) {
595
519
  _inherits(Translator, _EventEmitter);
596
-
597
- var _super = _createSuper$1(Translator);
598
-
520
+ var _super = _createSuper$2(Translator);
599
521
  function Translator(services) {
600
522
  var _this;
601
-
602
523
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
603
-
604
524
  _classCallCheck(this, Translator);
605
-
606
525
  _this = _super.call(this);
607
-
608
526
  if (isIE10) {
609
527
  EventEmitter.call(_assertThisInitialized(_this));
610
528
  }
611
-
612
529
  copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));
613
530
  _this.options = options;
614
-
615
531
  if (_this.options.keySeparator === undefined) {
616
532
  _this.options.keySeparator = '.';
617
533
  }
618
-
619
534
  _this.logger = baseLogger.create('translator');
620
535
  return _this;
621
536
  }
622
-
623
537
  _createClass(Translator, [{
624
538
  key: "changeLanguage",
625
539
  value: function changeLanguage(lng) {
@@ -631,11 +545,9 @@ var Translator = function (_EventEmitter) {
631
545
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {
632
546
  interpolation: {}
633
547
  };
634
-
635
548
  if (key === undefined || key === null) {
636
549
  return false;
637
550
  }
638
-
639
551
  var resolved = this.resolve(key, options);
640
552
  return resolved && resolved.res !== undefined;
641
553
  }
@@ -648,22 +560,18 @@ var Translator = function (_EventEmitter) {
648
560
  var namespaces = options.ns || this.options.defaultNS || [];
649
561
  var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;
650
562
  var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);
651
-
652
563
  if (wouldCheckForNsInKey && !seemsNaturalLanguage) {
653
564
  var m = key.match(this.interpolator.nestingRegexp);
654
-
655
565
  if (m && m.length > 0) {
656
566
  return {
657
567
  key: key,
658
568
  namespaces: namespaces
659
569
  };
660
570
  }
661
-
662
571
  var parts = key.split(nsSeparator);
663
572
  if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();
664
573
  key = parts.join(keySeparator);
665
574
  }
666
-
667
575
  if (typeof namespaces === 'string') namespaces = [namespaces];
668
576
  return {
669
577
  key: key,
@@ -674,45 +582,35 @@ var Translator = function (_EventEmitter) {
674
582
  key: "translate",
675
583
  value: function translate(keys, options, lastKey) {
676
584
  var _this2 = this;
677
-
678
585
  if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {
679
586
  options = this.options.overloadTranslationOptionHandler(arguments);
680
587
  }
681
-
682
588
  if (!options) options = {};
683
589
  if (keys === undefined || keys === null) return '';
684
590
  if (!Array.isArray(keys)) keys = [String(keys)];
685
591
  var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;
686
592
  var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;
687
-
688
593
  var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),
689
- key = _this$extractFromKey.key,
690
- namespaces = _this$extractFromKey.namespaces;
691
-
594
+ key = _this$extractFromKey.key,
595
+ namespaces = _this$extractFromKey.namespaces;
692
596
  var namespace = namespaces[namespaces.length - 1];
693
597
  var lng = options.lng || this.language;
694
598
  var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
695
-
696
599
  if (lng && lng.toLowerCase() === 'cimode') {
697
600
  if (appendNamespaceToCIMode) {
698
601
  var nsSeparator = options.nsSeparator || this.options.nsSeparator;
699
-
700
602
  if (returnDetails) {
701
603
  resolved.res = "".concat(namespace).concat(nsSeparator).concat(key);
702
604
  return resolved;
703
605
  }
704
-
705
606
  return "".concat(namespace).concat(nsSeparator).concat(key);
706
607
  }
707
-
708
608
  if (returnDetails) {
709
609
  resolved.res = key;
710
610
  return resolved;
711
611
  }
712
-
713
612
  return key;
714
613
  }
715
-
716
614
  var resolved = this.resolve(keys, options);
717
615
  var res = resolved && resolved.res;
718
616
  var resUsedKey = resolved && resolved.usedKey || key;
@@ -722,41 +620,34 @@ var Translator = function (_EventEmitter) {
722
620
  var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;
723
621
  var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;
724
622
  var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';
725
-
726
623
  if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {
727
624
  if (!options.returnObjects && !this.options.returnObjects) {
728
625
  if (!this.options.returnedObjectHandler) {
729
626
  this.logger.warn('accessing an object - but returnObjects options is not enabled!');
730
627
  }
731
-
732
- var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2$1(_objectSpread$2$1({}, options), {}, {
628
+ var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4$1(_objectSpread$4$1({}, options), {}, {
733
629
  ns: namespaces
734
630
  })) : "key '".concat(key, " (").concat(this.language, ")' returned an object instead of string.");
735
-
736
631
  if (returnDetails) {
737
632
  resolved.res = r;
738
633
  return resolved;
739
634
  }
740
-
741
635
  return r;
742
636
  }
743
-
744
637
  if (keySeparator) {
745
638
  var resTypeIsArray = resType === '[object Array]';
746
639
  var copy = resTypeIsArray ? [] : {};
747
640
  var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;
748
-
749
641
  for (var m in res) {
750
642
  if (Object.prototype.hasOwnProperty.call(res, m)) {
751
643
  var deepKey = "".concat(newKeyToUse).concat(keySeparator).concat(m);
752
- copy[m] = this.translate(deepKey, _objectSpread$2$1(_objectSpread$2$1({}, options), {
644
+ copy[m] = this.translate(deepKey, _objectSpread$4$1(_objectSpread$4$1({}, options), {
753
645
  joinArrays: false,
754
646
  ns: namespaces
755
647
  }));
756
648
  if (copy[m] === deepKey) copy[m] = res[m];
757
649
  }
758
650
  }
759
-
760
651
  res = copy;
761
652
  }
762
653
  } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {
@@ -769,34 +660,27 @@ var Translator = function (_EventEmitter) {
769
660
  var hasDefaultValue = Translator.hasDefaultValue(options);
770
661
  var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';
771
662
  var defaultValue = options["defaultValue".concat(defaultValueSuffix)] || options.defaultValue;
772
-
773
663
  if (!this.isValidLookup(res) && hasDefaultValue) {
774
664
  usedDefault = true;
775
665
  res = defaultValue;
776
666
  }
777
-
778
667
  if (!this.isValidLookup(res)) {
779
668
  usedKey = true;
780
669
  res = key;
781
670
  }
782
-
783
671
  var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;
784
672
  var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;
785
673
  var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;
786
-
787
674
  if (usedKey || usedDefault || updateMissing) {
788
675
  this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);
789
-
790
676
  if (keySeparator) {
791
- var fk = this.resolve(key, _objectSpread$2$1(_objectSpread$2$1({}, options), {}, {
677
+ var fk = this.resolve(key, _objectSpread$4$1(_objectSpread$4$1({}, options), {}, {
792
678
  keySeparator: false
793
679
  }));
794
680
  if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');
795
681
  }
796
-
797
682
  var lngs = [];
798
683
  var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);
799
-
800
684
  if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {
801
685
  for (var i = 0; i < fallbackLngs.length; i++) {
802
686
  lngs.push(fallbackLngs[i]);
@@ -806,19 +690,15 @@ var Translator = function (_EventEmitter) {
806
690
  } else {
807
691
  lngs.push(options.lng || this.language);
808
692
  }
809
-
810
693
  var send = function send(l, k, specificDefaultValue) {
811
694
  var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;
812
-
813
695
  if (_this2.options.missingKeyHandler) {
814
696
  _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);
815
697
  } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {
816
698
  _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);
817
699
  }
818
-
819
700
  _this2.emit('missingKey', l, namespace, k, res);
820
701
  };
821
-
822
702
  if (this.options.saveMissing) {
823
703
  if (this.options.saveMissingPlurals && needsPluralHandling) {
824
704
  lngs.forEach(function (language) {
@@ -831,10 +711,8 @@ var Translator = function (_EventEmitter) {
831
711
  }
832
712
  }
833
713
  }
834
-
835
714
  res = this.extendTranslation(res, keys, options, resolved, lastKey);
836
715
  if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = "".concat(namespace, ":").concat(key);
837
-
838
716
  if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {
839
717
  if (this.options.compatibilityAPI !== 'v1') {
840
718
  res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? "".concat(namespace, ":").concat(key) : key, usedDefault ? res : undefined);
@@ -843,77 +721,63 @@ var Translator = function (_EventEmitter) {
843
721
  }
844
722
  }
845
723
  }
846
-
847
724
  if (returnDetails) {
848
725
  resolved.res = res;
849
726
  return resolved;
850
727
  }
851
-
852
728
  return res;
853
729
  }
854
730
  }, {
855
731
  key: "extendTranslation",
856
732
  value: function extendTranslation(res, key, options, resolved, lastKey) {
857
733
  var _this3 = this;
858
-
859
734
  if (this.i18nFormat && this.i18nFormat.parse) {
860
- res = this.i18nFormat.parse(res, _objectSpread$2$1(_objectSpread$2$1({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {
735
+ res = this.i18nFormat.parse(res, _objectSpread$4$1(_objectSpread$4$1({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {
861
736
  resolved: resolved
862
737
  });
863
738
  } else if (!options.skipInterpolation) {
864
- if (options.interpolation) this.interpolator.init(_objectSpread$2$1(_objectSpread$2$1({}, options), {
865
- interpolation: _objectSpread$2$1(_objectSpread$2$1({}, this.options.interpolation), options.interpolation)
739
+ if (options.interpolation) this.interpolator.init(_objectSpread$4$1(_objectSpread$4$1({}, options), {
740
+ interpolation: _objectSpread$4$1(_objectSpread$4$1({}, this.options.interpolation), options.interpolation)
866
741
  }));
867
742
  var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);
868
743
  var nestBef;
869
-
870
744
  if (skipOnVariables) {
871
745
  var nb = res.match(this.interpolator.nestingRegexp);
872
746
  nestBef = nb && nb.length;
873
747
  }
874
-
875
748
  var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;
876
- if (this.options.interpolation.defaultVariables) data = _objectSpread$2$1(_objectSpread$2$1({}, this.options.interpolation.defaultVariables), data);
749
+ if (this.options.interpolation.defaultVariables) data = _objectSpread$4$1(_objectSpread$4$1({}, this.options.interpolation.defaultVariables), data);
877
750
  res = this.interpolator.interpolate(res, data, options.lng || this.language, options);
878
-
879
751
  if (skipOnVariables) {
880
752
  var na = res.match(this.interpolator.nestingRegexp);
881
753
  var nestAft = na && na.length;
882
754
  if (nestBef < nestAft) options.nest = false;
883
755
  }
884
-
885
756
  if (options.nest !== false) res = this.interpolator.nest(res, function () {
886
757
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
887
758
  args[_key] = arguments[_key];
888
759
  }
889
-
890
760
  if (lastKey && lastKey[0] === args[0] && !options.context) {
891
761
  _this3.logger.warn("It seems you are nesting recursively key: ".concat(args[0], " in key: ").concat(key[0]));
892
-
893
762
  return null;
894
763
  }
895
-
896
764
  return _this3.translate.apply(_this3, args.concat([key]));
897
765
  }, options);
898
766
  if (options.interpolation) this.interpolator.reset();
899
767
  }
900
-
901
768
  var postProcess = options.postProcess || this.options.postProcess;
902
769
  var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;
903
-
904
770
  if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {
905
- res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2$1({
771
+ res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4$1({
906
772
  i18nResolved: resolved
907
773
  }, options) : options, this);
908
774
  }
909
-
910
775
  return res;
911
776
  }
912
777
  }, {
913
778
  key: "resolve",
914
779
  value: function resolve(keys) {
915
780
  var _this4 = this;
916
-
917
781
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
918
782
  var found;
919
783
  var usedKey;
@@ -923,65 +787,50 @@ var Translator = function (_EventEmitter) {
923
787
  if (typeof keys === 'string') keys = [keys];
924
788
  keys.forEach(function (k) {
925
789
  if (_this4.isValidLookup(found)) return;
926
-
927
790
  var extracted = _this4.extractFromKey(k, options);
928
-
929
791
  var key = extracted.key;
930
792
  usedKey = key;
931
793
  var namespaces = extracted.namespaces;
932
794
  if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);
933
795
  var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';
934
-
935
796
  var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();
936
-
937
797
  var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';
938
798
  var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);
939
799
  namespaces.forEach(function (ns) {
940
800
  if (_this4.isValidLookup(found)) return;
941
801
  usedNS = ns;
942
-
943
802
  if (!checkedLoadedFor["".concat(codes[0], "-").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {
944
803
  checkedLoadedFor["".concat(codes[0], "-").concat(ns)] = true;
945
-
946
804
  _this4.logger.warn("key \"".concat(usedKey, "\" for languages \"").concat(codes.join(', '), "\" won't get resolved as namespace \"").concat(usedNS, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');
947
805
  }
948
-
949
806
  codes.forEach(function (code) {
950
807
  if (_this4.isValidLookup(found)) return;
951
808
  usedLng = code;
952
809
  var finalKeys = [key];
953
-
954
810
  if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {
955
811
  _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);
956
812
  } else {
957
813
  var pluralSuffix;
958
814
  if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);
959
815
  var zeroSuffix = "".concat(_this4.options.pluralSeparator, "zero");
960
-
961
816
  if (needsPluralHandling) {
962
817
  finalKeys.push(key + pluralSuffix);
963
-
964
818
  if (needsZeroSuffixLookup) {
965
819
  finalKeys.push(key + zeroSuffix);
966
820
  }
967
821
  }
968
-
969
822
  if (needsContextHandling) {
970
823
  var contextKey = "".concat(key).concat(_this4.options.contextSeparator).concat(options.context);
971
824
  finalKeys.push(contextKey);
972
-
973
825
  if (needsPluralHandling) {
974
826
  finalKeys.push(contextKey + pluralSuffix);
975
-
976
827
  if (needsZeroSuffixLookup) {
977
828
  finalKeys.push(contextKey + zeroSuffix);
978
829
  }
979
830
  }
980
831
  }
981
832
  }
982
-
983
833
  var possibleKey;
984
-
985
834
  while (possibleKey = finalKeys.pop()) {
986
835
  if (!_this4.isValidLookup(found)) {
987
836
  exactUsedKey = possibleKey;
@@ -1015,33 +864,27 @@ var Translator = function (_EventEmitter) {
1015
864
  key: "hasDefaultValue",
1016
865
  value: function hasDefaultValue(options) {
1017
866
  var prefix = 'defaultValue';
1018
-
1019
867
  for (var option in options) {
1020
868
  if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {
1021
869
  return true;
1022
870
  }
1023
871
  }
1024
-
1025
872
  return false;
1026
873
  }
1027
874
  }]);
1028
-
1029
875
  return Translator;
1030
876
  }(EventEmitter);
1031
877
 
1032
878
  function capitalize(string) {
1033
879
  return string.charAt(0).toUpperCase() + string.slice(1);
1034
880
  }
1035
-
1036
881
  var LanguageUtil = function () {
1037
882
  function LanguageUtil(options) {
1038
883
  _classCallCheck(this, LanguageUtil);
1039
-
1040
884
  this.options = options;
1041
885
  this.supportedLngs = this.options.supportedLngs || false;
1042
886
  this.logger = baseLogger.create('languageUtils');
1043
887
  }
1044
-
1045
888
  _createClass(LanguageUtil, [{
1046
889
  key: "getScriptPartFromCode",
1047
890
  value: function getScriptPartFromCode(code) {
@@ -1065,7 +908,6 @@ var LanguageUtil = function () {
1065
908
  if (typeof code === 'string' && code.indexOf('-') > -1) {
1066
909
  var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];
1067
910
  var p = code.split('-');
1068
-
1069
911
  if (this.options.lowerCaseLng) {
1070
912
  p = p.map(function (part) {
1071
913
  return part.toLowerCase();
@@ -1081,10 +923,8 @@ var LanguageUtil = function () {
1081
923
  if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());
1082
924
  if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());
1083
925
  }
1084
-
1085
926
  return p.join('-');
1086
927
  }
1087
-
1088
928
  return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;
1089
929
  }
1090
930
  }, {
@@ -1093,37 +933,29 @@ var LanguageUtil = function () {
1093
933
  if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {
1094
934
  code = this.getLanguagePartFromCode(code);
1095
935
  }
1096
-
1097
936
  return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;
1098
937
  }
1099
938
  }, {
1100
939
  key: "getBestMatchFromCodes",
1101
940
  value: function getBestMatchFromCodes(codes) {
1102
941
  var _this = this;
1103
-
1104
942
  if (!codes) return null;
1105
943
  var found;
1106
944
  codes.forEach(function (code) {
1107
945
  if (found) return;
1108
-
1109
946
  var cleanedLng = _this.formatLanguageCode(code);
1110
-
1111
947
  if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;
1112
948
  });
1113
-
1114
949
  if (!found && this.options.supportedLngs) {
1115
950
  codes.forEach(function (code) {
1116
951
  if (found) return;
1117
-
1118
952
  var lngOnly = _this.getLanguagePartFromCode(code);
1119
-
1120
953
  if (_this.isSupportedCode(lngOnly)) return found = lngOnly;
1121
954
  found = _this.options.supportedLngs.find(function (supportedLng) {
1122
955
  if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;
1123
956
  });
1124
957
  });
1125
958
  }
1126
-
1127
959
  if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];
1128
960
  return found;
1129
961
  }
@@ -1146,20 +978,16 @@ var LanguageUtil = function () {
1146
978
  key: "toResolveHierarchy",
1147
979
  value: function toResolveHierarchy(code, fallbackCode) {
1148
980
  var _this2 = this;
1149
-
1150
981
  var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);
1151
982
  var codes = [];
1152
-
1153
983
  var addCode = function addCode(c) {
1154
984
  if (!c) return;
1155
-
1156
985
  if (_this2.isSupportedCode(c)) {
1157
986
  codes.push(c);
1158
987
  } else {
1159
988
  _this2.logger.warn("rejecting language code not found in supportedLngs: ".concat(c));
1160
989
  }
1161
990
  };
1162
-
1163
991
  if (typeof code === 'string' && code.indexOf('-') > -1) {
1164
992
  if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));
1165
993
  if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));
@@ -1167,14 +995,12 @@ var LanguageUtil = function () {
1167
995
  } else if (typeof code === 'string') {
1168
996
  addCode(this.formatLanguageCode(code));
1169
997
  }
1170
-
1171
998
  fallbackCodes.forEach(function (fc) {
1172
999
  if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));
1173
1000
  });
1174
1001
  return codes;
1175
1002
  }
1176
1003
  }]);
1177
-
1178
1004
  return LanguageUtil;
1179
1005
  }();
1180
1006
 
@@ -1348,7 +1174,6 @@ var suffixesOrder = {
1348
1174
  many: 4,
1349
1175
  other: 5
1350
1176
  };
1351
-
1352
1177
  function createRules() {
1353
1178
  var rules = {};
1354
1179
  sets.forEach(function (set) {
@@ -1361,25 +1186,19 @@ function createRules() {
1361
1186
  });
1362
1187
  return rules;
1363
1188
  }
1364
-
1365
1189
  var PluralResolver = function () {
1366
1190
  function PluralResolver(languageUtils) {
1367
1191
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1368
-
1369
1192
  _classCallCheck(this, PluralResolver);
1370
-
1371
1193
  this.languageUtils = languageUtils;
1372
1194
  this.options = options;
1373
1195
  this.logger = baseLogger.create('pluralResolver');
1374
-
1375
1196
  if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {
1376
1197
  this.options.compatibilityJSON = 'v3';
1377
1198
  this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');
1378
1199
  }
1379
-
1380
1200
  this.rules = createRules();
1381
1201
  }
1382
-
1383
1202
  _createClass(PluralResolver, [{
1384
1203
  key: "addRule",
1385
1204
  value: function addRule(lng, obj) {
@@ -1389,7 +1208,6 @@ var PluralResolver = function () {
1389
1208
  key: "getRule",
1390
1209
  value: function getRule(code) {
1391
1210
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1392
-
1393
1211
  if (this.shouldUseIntlApi()) {
1394
1212
  try {
1395
1213
  return new Intl.PluralRules(code, {
@@ -1399,7 +1217,6 @@ var PluralResolver = function () {
1399
1217
  return;
1400
1218
  }
1401
1219
  }
1402
-
1403
1220
  return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];
1404
1221
  }
1405
1222
  }, {
@@ -1407,11 +1224,9 @@ var PluralResolver = function () {
1407
1224
  value: function needsPlural(code) {
1408
1225
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1409
1226
  var rule = this.getRule(code, options);
1410
-
1411
1227
  if (this.shouldUseIntlApi()) {
1412
1228
  return rule && rule.resolvedOptions().pluralCategories.length > 1;
1413
1229
  }
1414
-
1415
1230
  return rule && rule.numbers.length > 1;
1416
1231
  }
1417
1232
  }, {
@@ -1426,14 +1241,11 @@ var PluralResolver = function () {
1426
1241
  key: "getSuffixes",
1427
1242
  value: function getSuffixes(code) {
1428
1243
  var _this = this;
1429
-
1430
1244
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
1431
1245
  var rule = this.getRule(code, options);
1432
-
1433
1246
  if (!rule) {
1434
1247
  return [];
1435
1248
  }
1436
-
1437
1249
  if (this.shouldUseIntlApi()) {
1438
1250
  return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {
1439
1251
  return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];
@@ -1441,7 +1253,6 @@ var PluralResolver = function () {
1441
1253
  return "".concat(_this.options.prepend).concat(pluralCategory);
1442
1254
  });
1443
1255
  }
1444
-
1445
1256
  return rule.numbers.map(function (number) {
1446
1257
  return _this.getSuffix(code, number, options);
1447
1258
  });
@@ -1451,15 +1262,12 @@ var PluralResolver = function () {
1451
1262
  value: function getSuffix(code, count) {
1452
1263
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1453
1264
  var rule = this.getRule(code, options);
1454
-
1455
1265
  if (rule) {
1456
1266
  if (this.shouldUseIntlApi()) {
1457
1267
  return "".concat(this.options.prepend).concat(rule.select(count));
1458
1268
  }
1459
-
1460
1269
  return this.getSuffixRetroCompatible(rule, count);
1461
1270
  }
1462
-
1463
1271
  this.logger.warn("no plural rule found for: ".concat(code));
1464
1272
  return '';
1465
1273
  }
@@ -1467,10 +1275,8 @@ var PluralResolver = function () {
1467
1275
  key: "getSuffixRetroCompatible",
1468
1276
  value: function getSuffixRetroCompatible(rule, count) {
1469
1277
  var _this2 = this;
1470
-
1471
1278
  var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));
1472
1279
  var suffix = rule.numbers[idx];
1473
-
1474
1280
  if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {
1475
1281
  if (suffix === 2) {
1476
1282
  suffix = 'plural';
@@ -1478,11 +1284,9 @@ var PluralResolver = function () {
1478
1284
  suffix = '';
1479
1285
  }
1480
1286
  }
1481
-
1482
1287
  var returnSuffix = function returnSuffix() {
1483
1288
  return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();
1484
1289
  };
1485
-
1486
1290
  if (this.options.compatibilityJSON === 'v1') {
1487
1291
  if (suffix === 1) return '';
1488
1292
  if (typeof suffix === 'number') return "_plural_".concat(suffix.toString());
@@ -1492,7 +1296,6 @@ var PluralResolver = function () {
1492
1296
  } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {
1493
1297
  return returnSuffix();
1494
1298
  }
1495
-
1496
1299
  return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();
1497
1300
  }
1498
1301
  }, {
@@ -1501,30 +1304,22 @@ var PluralResolver = function () {
1501
1304
  return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);
1502
1305
  }
1503
1306
  }]);
1504
-
1505
1307
  return PluralResolver;
1506
1308
  }();
1507
1309
 
1508
- function ownKeys$3$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1509
-
1510
- function _objectSpread$3$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1511
-
1310
+ function ownKeys$3$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1311
+ function _objectSpread$3$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1512
1312
  var Interpolator = function () {
1513
1313
  function Interpolator() {
1514
1314
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1515
-
1516
1315
  _classCallCheck(this, Interpolator);
1517
-
1518
1316
  this.logger = baseLogger.create('interpolator');
1519
1317
  this.options = options;
1520
-
1521
1318
  this.format = options.interpolation && options.interpolation.format || function (value) {
1522
1319
  return value;
1523
1320
  };
1524
-
1525
1321
  this.init(options);
1526
1322
  }
1527
-
1528
1323
  _createClass(Interpolator, [{
1529
1324
  key: "init",
1530
1325
  value: function init() {
@@ -1567,16 +1362,13 @@ var Interpolator = function () {
1567
1362
  key: "interpolate",
1568
1363
  value: function interpolate(str, data, lng, options) {
1569
1364
  var _this = this;
1570
-
1571
1365
  var match;
1572
1366
  var value;
1573
1367
  var replaces;
1574
1368
  var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};
1575
-
1576
1369
  function regexSafe(val) {
1577
1370
  return val.replace(/\$/g, '$$$$');
1578
1371
  }
1579
-
1580
1372
  var handleFormat = function handleFormat(key) {
1581
1373
  if (key.indexOf(_this.formatSeparator) < 0) {
1582
1374
  var path = getPathWithDefaults(data, defaultData, key);
@@ -1584,7 +1376,6 @@ var Interpolator = function () {
1584
1376
  interpolationkey: key
1585
1377
  })) : path;
1586
1378
  }
1587
-
1588
1379
  var p = key.split(_this.formatSeparator);
1589
1380
  var k = p.shift().trim();
1590
1381
  var f = p.join(_this.formatSeparator).trim();
@@ -1592,7 +1383,6 @@ var Interpolator = function () {
1592
1383
  interpolationkey: k
1593
1384
  }));
1594
1385
  };
1595
-
1596
1386
  this.resetRegExp();
1597
1387
  var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;
1598
1388
  var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;
@@ -1609,11 +1399,9 @@ var Interpolator = function () {
1609
1399
  }];
1610
1400
  todos.forEach(function (todo) {
1611
1401
  replaces = 0;
1612
-
1613
1402
  while (match = todo.regex.exec(str)) {
1614
1403
  var matchedVar = match[1].trim();
1615
1404
  value = handleFormat(matchedVar);
1616
-
1617
1405
  if (value === undefined) {
1618
1406
  if (typeof missingInterpolationHandler === 'function') {
1619
1407
  var temp = missingInterpolationHandler(str, match, options);
@@ -1625,25 +1413,20 @@ var Interpolator = function () {
1625
1413
  continue;
1626
1414
  } else {
1627
1415
  _this.logger.warn("missed to pass in variable ".concat(matchedVar, " for interpolating ").concat(str));
1628
-
1629
1416
  value = '';
1630
1417
  }
1631
1418
  } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {
1632
1419
  value = makeString(value);
1633
1420
  }
1634
-
1635
1421
  var safeValue = todo.safeValue(value);
1636
1422
  str = str.replace(match[0], safeValue);
1637
-
1638
1423
  if (skipOnVariables) {
1639
1424
  todo.regex.lastIndex += value.length;
1640
1425
  todo.regex.lastIndex -= match[0].length;
1641
1426
  } else {
1642
1427
  todo.regex.lastIndex = 0;
1643
1428
  }
1644
-
1645
1429
  replaces++;
1646
-
1647
1430
  if (replaces >= _this.maxReplaces) {
1648
1431
  break;
1649
1432
  }
@@ -1655,16 +1438,10 @@ var Interpolator = function () {
1655
1438
  key: "nest",
1656
1439
  value: function nest(str, fc) {
1657
1440
  var _this2 = this;
1658
-
1659
1441
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1660
1442
  var match;
1661
1443
  var value;
1662
-
1663
- var clonedOptions = _objectSpread$3$1({}, options);
1664
-
1665
- clonedOptions.applyPostProcessor = false;
1666
- delete clonedOptions.defaultValue;
1667
-
1444
+ var clonedOptions;
1668
1445
  function handleHasOptions(key, inheritedOptions) {
1669
1446
  var sep = this.nestingOptionsSeparator;
1670
1447
  if (key.indexOf(sep) < 0) return key;
@@ -1672,8 +1449,11 @@ var Interpolator = function () {
1672
1449
  var optionsString = "{".concat(c[1]);
1673
1450
  key = c[0];
1674
1451
  optionsString = this.interpolate(optionsString, clonedOptions);
1675
- optionsString = optionsString.replace(/'/g, '"');
1676
-
1452
+ var matchedSingleQuotes = optionsString.match(/'/g);
1453
+ var matchedDoubleQuotes = optionsString.match(/"/g);
1454
+ if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {
1455
+ optionsString = optionsString.replace(/'/g, '"');
1456
+ }
1677
1457
  try {
1678
1458
  clonedOptions = JSON.parse(optionsString);
1679
1459
  if (inheritedOptions) clonedOptions = _objectSpread$3$1(_objectSpread$3$1({}, inheritedOptions), clonedOptions);
@@ -1681,15 +1461,16 @@ var Interpolator = function () {
1681
1461
  this.logger.warn("failed parsing options string in nesting for key ".concat(key), e);
1682
1462
  return "".concat(key).concat(sep).concat(optionsString);
1683
1463
  }
1684
-
1685
1464
  delete clonedOptions.defaultValue;
1686
1465
  return key;
1687
1466
  }
1688
-
1689
1467
  while (match = this.nestingRegexp.exec(str)) {
1690
1468
  var formatters = [];
1469
+ clonedOptions = _objectSpread$3$1({}, options);
1470
+ clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;
1471
+ clonedOptions.applyPostProcessor = false;
1472
+ delete clonedOptions.defaultValue;
1691
1473
  var doReduce = false;
1692
-
1693
1474
  if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {
1694
1475
  var r = match[1].split(this.formatSeparator).map(function (elem) {
1695
1476
  return elem.trim();
@@ -1698,16 +1479,13 @@ var Interpolator = function () {
1698
1479
  formatters = r;
1699
1480
  doReduce = true;
1700
1481
  }
1701
-
1702
1482
  value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);
1703
1483
  if (value && match[0] === str && typeof value !== 'string') return value;
1704
1484
  if (typeof value !== 'string') value = makeString(value);
1705
-
1706
1485
  if (!value) {
1707
1486
  this.logger.warn("missed to resolve ".concat(match[1], " for nesting ").concat(str));
1708
1487
  value = '';
1709
1488
  }
1710
-
1711
1489
  if (doReduce) {
1712
1490
  value = formatters.reduce(function (v, f) {
1713
1491
  return _this2.format(v, f, options.lng, _objectSpread$3$1(_objectSpread$3$1({}, options), {}, {
@@ -1715,31 +1493,24 @@ var Interpolator = function () {
1715
1493
  }));
1716
1494
  }, value.trim());
1717
1495
  }
1718
-
1719
1496
  str = str.replace(match[0], value);
1720
1497
  this.regexp.lastIndex = 0;
1721
1498
  }
1722
-
1723
1499
  return str;
1724
1500
  }
1725
1501
  }]);
1726
-
1727
1502
  return Interpolator;
1728
1503
  }();
1729
1504
 
1730
- function ownKeys$4$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1731
-
1732
- function _objectSpread$4$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1733
-
1505
+ function ownKeys$2$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1506
+ function _objectSpread$2$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1734
1507
  function parseFormatStr(formatStr) {
1735
1508
  var formatName = formatStr.toLowerCase().trim();
1736
1509
  var formatOptions = {};
1737
-
1738
1510
  if (formatStr.indexOf('(') > -1) {
1739
1511
  var p = formatStr.split('(');
1740
1512
  formatName = p[0].toLowerCase().trim();
1741
1513
  var optStr = p[1].substring(0, p[1].length - 1);
1742
-
1743
1514
  if (formatName === 'currency' && optStr.indexOf(':') < 0) {
1744
1515
  if (!formatOptions.currency) formatOptions.currency = optStr.trim();
1745
1516
  } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {
@@ -1748,12 +1519,10 @@ function parseFormatStr(formatStr) {
1748
1519
  var opts = optStr.split(';');
1749
1520
  opts.forEach(function (opt) {
1750
1521
  if (!opt) return;
1751
-
1752
1522
  var _opt$split = opt.split(':'),
1753
- _opt$split2 = _toArray(_opt$split),
1754
- key = _opt$split2[0],
1755
- rest = _opt$split2.slice(1);
1756
-
1523
+ _opt$split2 = _toArray(_opt$split),
1524
+ key = _opt$split2[0],
1525
+ rest = _opt$split2.slice(1);
1757
1526
  var val = rest.join(':').trim().replace(/^'+|'+$/g, '');
1758
1527
  if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;
1759
1528
  if (val === 'false') formatOptions[key.trim()] = false;
@@ -1762,43 +1531,65 @@ function parseFormatStr(formatStr) {
1762
1531
  });
1763
1532
  }
1764
1533
  }
1765
-
1766
1534
  return {
1767
1535
  formatName: formatName,
1768
1536
  formatOptions: formatOptions
1769
1537
  };
1770
1538
  }
1771
-
1539
+ function createCachedFormatter(fn) {
1540
+ var cache = {};
1541
+ return function invokeFormatter(val, lng, options) {
1542
+ var key = lng + JSON.stringify(options);
1543
+ var formatter = cache[key];
1544
+ if (!formatter) {
1545
+ formatter = fn(lng, options);
1546
+ cache[key] = formatter;
1547
+ }
1548
+ return formatter(val);
1549
+ };
1550
+ }
1772
1551
  var Formatter = function () {
1773
1552
  function Formatter() {
1774
1553
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
1775
-
1776
1554
  _classCallCheck(this, Formatter);
1777
-
1778
1555
  this.logger = baseLogger.create('formatter');
1779
1556
  this.options = options;
1780
1557
  this.formats = {
1781
- number: function number(val, lng, options) {
1782
- return new Intl.NumberFormat(lng, options).format(val);
1783
- },
1784
- currency: function currency(val, lng, options) {
1785
- return new Intl.NumberFormat(lng, _objectSpread$4$1(_objectSpread$4$1({}, options), {}, {
1558
+ number: createCachedFormatter(function (lng, options) {
1559
+ var formatter = new Intl.NumberFormat(lng, options);
1560
+ return function (val) {
1561
+ return formatter.format(val);
1562
+ };
1563
+ }),
1564
+ currency: createCachedFormatter(function (lng, options) {
1565
+ var formatter = new Intl.NumberFormat(lng, _objectSpread$2$1(_objectSpread$2$1({}, options), {}, {
1786
1566
  style: 'currency'
1787
- })).format(val);
1788
- },
1789
- datetime: function datetime(val, lng, options) {
1790
- return new Intl.DateTimeFormat(lng, _objectSpread$4$1({}, options)).format(val);
1791
- },
1792
- relativetime: function relativetime(val, lng, options) {
1793
- return new Intl.RelativeTimeFormat(lng, _objectSpread$4$1({}, options)).format(val, options.range || 'day');
1794
- },
1795
- list: function list(val, lng, options) {
1796
- return new Intl.ListFormat(lng, _objectSpread$4$1({}, options)).format(val);
1797
- }
1567
+ }));
1568
+ return function (val) {
1569
+ return formatter.format(val);
1570
+ };
1571
+ }),
1572
+ datetime: createCachedFormatter(function (lng, options) {
1573
+ var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2$1({}, options));
1574
+ return function (val) {
1575
+ return formatter.format(val);
1576
+ };
1577
+ }),
1578
+ relativetime: createCachedFormatter(function (lng, options) {
1579
+ var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2$1({}, options));
1580
+ return function (val) {
1581
+ return formatter.format(val, options.range || 'day');
1582
+ };
1583
+ }),
1584
+ list: createCachedFormatter(function (lng, options) {
1585
+ var formatter = new Intl.ListFormat(lng, _objectSpread$2$1({}, options));
1586
+ return function (val) {
1587
+ return formatter.format(val);
1588
+ };
1589
+ })
1798
1590
  };
1799
1591
  this.init(options);
1800
1592
  }
1801
-
1802
1593
  _createClass(Formatter, [{
1803
1594
  key: "init",
1804
1595
  value: function init(services) {
@@ -1813,76 +1604,62 @@ var Formatter = function () {
1813
1604
  value: function add(name, fc) {
1814
1605
  this.formats[name.toLowerCase().trim()] = fc;
1815
1606
  }
1607
+ }, {
1608
+ key: "addCached",
1609
+ value: function addCached(name, fc) {
1610
+ this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);
1611
+ }
1816
1612
  }, {
1817
1613
  key: "format",
1818
1614
  value: function format(value, _format, lng, options) {
1819
1615
  var _this = this;
1820
-
1821
1616
  var formats = _format.split(this.formatSeparator);
1822
-
1823
1617
  var result = formats.reduce(function (mem, f) {
1824
1618
  var _parseFormatStr = parseFormatStr(f),
1825
- formatName = _parseFormatStr.formatName,
1826
- formatOptions = _parseFormatStr.formatOptions;
1827
-
1619
+ formatName = _parseFormatStr.formatName,
1620
+ formatOptions = _parseFormatStr.formatOptions;
1828
1621
  if (_this.formats[formatName]) {
1829
1622
  var formatted = mem;
1830
-
1831
1623
  try {
1832
1624
  var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};
1833
1625
  var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;
1834
- formatted = _this.formats[formatName](mem, l, _objectSpread$4$1(_objectSpread$4$1(_objectSpread$4$1({}, formatOptions), options), valOptions));
1626
+ formatted = _this.formats[formatName](mem, l, _objectSpread$2$1(_objectSpread$2$1(_objectSpread$2$1({}, formatOptions), options), valOptions));
1835
1627
  } catch (error) {
1836
1628
  _this.logger.warn(error);
1837
1629
  }
1838
-
1839
1630
  return formatted;
1840
1631
  } else {
1841
1632
  _this.logger.warn("there was no format function for ".concat(formatName));
1842
1633
  }
1843
-
1844
1634
  return mem;
1845
1635
  }, value);
1846
1636
  return result;
1847
1637
  }
1848
1638
  }]);
1849
-
1850
1639
  return Formatter;
1851
1640
  }();
1852
1641
 
1853
- function ownKeys$5$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
1854
-
1855
- function _objectSpread$5$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1856
-
1857
- function _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1858
-
1859
- function _isNativeReflectConstruct$2() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1860
-
1642
+ function ownKeys$1$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1643
+ function _objectSpread$1$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1644
+ function _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1645
+ function _isNativeReflectConstruct$1() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
1861
1646
  function removePending(q, name) {
1862
1647
  if (q.pending[name] !== undefined) {
1863
1648
  delete q.pending[name];
1864
1649
  q.pendingCount--;
1865
1650
  }
1866
1651
  }
1867
-
1868
1652
  var Connector = function (_EventEmitter) {
1869
1653
  _inherits(Connector, _EventEmitter);
1870
-
1871
- var _super = _createSuper$2(Connector);
1872
-
1654
+ var _super = _createSuper$1(Connector);
1873
1655
  function Connector(backend, store, services) {
1874
1656
  var _this;
1875
-
1876
1657
  var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
1877
-
1878
1658
  _classCallCheck(this, Connector);
1879
-
1880
1659
  _this = _super.call(this);
1881
-
1882
1660
  if (isIE10) {
1883
1661
  EventEmitter.call(_assertThisInitialized(_this));
1884
1662
  }
1885
-
1886
1663
  _this.backend = backend;
1887
1664
  _this.store = store;
1888
1665
  _this.services = services;
@@ -1892,21 +1669,19 @@ var Connector = function (_EventEmitter) {
1892
1669
  _this.waitingReads = [];
1893
1670
  _this.maxParallelReads = options.maxParallelReads || 10;
1894
1671
  _this.readingCalls = 0;
1672
+ _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;
1673
+ _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;
1895
1674
  _this.state = {};
1896
1675
  _this.queue = [];
1897
-
1898
1676
  if (_this.backend && _this.backend.init) {
1899
1677
  _this.backend.init(services, options.backend, options);
1900
1678
  }
1901
-
1902
1679
  return _this;
1903
1680
  }
1904
-
1905
1681
  _createClass(Connector, [{
1906
1682
  key: "queueLoad",
1907
1683
  value: function queueLoad(languages, namespaces, options, callback) {
1908
1684
  var _this2 = this;
1909
-
1910
1685
  var toLoad = {};
1911
1686
  var pending = {};
1912
1687
  var toLoadLanguages = {};
@@ -1915,7 +1690,6 @@ var Connector = function (_EventEmitter) {
1915
1690
  var hasAllNamespaces = true;
1916
1691
  namespaces.forEach(function (ns) {
1917
1692
  var name = "".concat(lng, "|").concat(ns);
1918
-
1919
1693
  if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {
1920
1694
  _this2.state[name] = 2;
1921
1695
  } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {
@@ -1930,7 +1704,6 @@ var Connector = function (_EventEmitter) {
1930
1704
  });
1931
1705
  if (!hasAllNamespaces) toLoadLanguages[lng] = true;
1932
1706
  });
1933
-
1934
1707
  if (Object.keys(toLoad).length || Object.keys(pending).length) {
1935
1708
  this.queue.push({
1936
1709
  pending: pending,
@@ -1940,7 +1713,6 @@ var Connector = function (_EventEmitter) {
1940
1713
  callback: callback
1941
1714
  });
1942
1715
  }
1943
-
1944
1716
  return {
1945
1717
  toLoad: Object.keys(toLoad),
1946
1718
  pending: Object.keys(pending),
@@ -1955,23 +1727,19 @@ var Connector = function (_EventEmitter) {
1955
1727
  var lng = s[0];
1956
1728
  var ns = s[1];
1957
1729
  if (err) this.emit('failedLoading', lng, ns, err);
1958
-
1959
1730
  if (data) {
1960
1731
  this.store.addResourceBundle(lng, ns, data);
1961
1732
  }
1962
-
1963
1733
  this.state[name] = err ? -1 : 2;
1964
1734
  var loaded = {};
1965
1735
  this.queue.forEach(function (q) {
1966
1736
  pushPath(q.loaded, [lng], ns);
1967
1737
  removePending(q, name);
1968
1738
  if (err) q.errors.push(err);
1969
-
1970
1739
  if (q.pendingCount === 0 && !q.done) {
1971
1740
  Object.keys(q.loaded).forEach(function (l) {
1972
1741
  if (!loaded[l]) loaded[l] = {};
1973
1742
  var loadedKeys = q.loaded[l];
1974
-
1975
1743
  if (loadedKeys.length) {
1976
1744
  loadedKeys.forEach(function (ns) {
1977
1745
  if (loaded[l][ns] === undefined) loaded[l][ns] = true;
@@ -1979,7 +1747,6 @@ var Connector = function (_EventEmitter) {
1979
1747
  }
1980
1748
  });
1981
1749
  q.done = true;
1982
-
1983
1750
  if (q.errors.length) {
1984
1751
  q.callback(q.errors);
1985
1752
  } else {
@@ -1996,12 +1763,10 @@ var Connector = function (_EventEmitter) {
1996
1763
  key: "read",
1997
1764
  value: function read(lng, ns, fcName) {
1998
1765
  var _this3 = this;
1999
-
2000
1766
  var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
2001
- var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;
1767
+ var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;
2002
1768
  var callback = arguments.length > 5 ? arguments[5] : undefined;
2003
1769
  if (!lng.length) return callback(null, {});
2004
-
2005
1770
  if (this.readingCalls >= this.maxParallelReads) {
2006
1771
  this.waitingReads.push({
2007
1772
  lng: lng,
@@ -2013,49 +1778,56 @@ var Connector = function (_EventEmitter) {
2013
1778
  });
2014
1779
  return;
2015
1780
  }
2016
-
2017
1781
  this.readingCalls++;
2018
- return this.backend[fcName](lng, ns, function (err, data) {
2019
- if (err && data && tried < 5) {
2020
- setTimeout(function () {
2021
- _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);
2022
- }, wait);
2023
- return;
2024
- }
2025
-
1782
+ var resolver = function resolver(err, data) {
2026
1783
  _this3.readingCalls--;
2027
-
2028
1784
  if (_this3.waitingReads.length > 0) {
2029
1785
  var next = _this3.waitingReads.shift();
2030
-
2031
1786
  _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);
2032
1787
  }
2033
-
1788
+ if (err && data && tried < _this3.maxRetries) {
1789
+ setTimeout(function () {
1790
+ _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);
1791
+ }, wait);
1792
+ return;
1793
+ }
2034
1794
  callback(err, data);
2035
- });
1795
+ };
1796
+ var fc = this.backend[fcName].bind(this.backend);
1797
+ if (fc.length === 2) {
1798
+ try {
1799
+ var r = fc(lng, ns);
1800
+ if (r && typeof r.then === 'function') {
1801
+ r.then(function (data) {
1802
+ return resolver(null, data);
1803
+ })["catch"](resolver);
1804
+ } else {
1805
+ resolver(null, r);
1806
+ }
1807
+ } catch (err) {
1808
+ resolver(err);
1809
+ }
1810
+ return;
1811
+ }
1812
+ return fc(lng, ns, resolver);
2036
1813
  }
2037
1814
  }, {
2038
1815
  key: "prepareLoading",
2039
1816
  value: function prepareLoading(languages, namespaces) {
2040
1817
  var _this4 = this;
2041
-
2042
1818
  var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2043
1819
  var callback = arguments.length > 3 ? arguments[3] : undefined;
2044
-
2045
1820
  if (!this.backend) {
2046
1821
  this.logger.warn('No backend was added via i18next.use. Will not load resources.');
2047
1822
  return callback && callback();
2048
1823
  }
2049
-
2050
1824
  if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);
2051
1825
  if (typeof namespaces === 'string') namespaces = [namespaces];
2052
1826
  var toLoad = this.queueLoad(languages, namespaces, options, callback);
2053
-
2054
1827
  if (!toLoad.toLoad.length) {
2055
1828
  if (!toLoad.pending.length) callback();
2056
1829
  return null;
2057
1830
  }
2058
-
2059
1831
  toLoad.toLoad.forEach(function (name) {
2060
1832
  _this4.loadOne(name);
2061
1833
  });
@@ -2076,7 +1848,6 @@ var Connector = function (_EventEmitter) {
2076
1848
  key: "loadOne",
2077
1849
  value: function loadOne(name) {
2078
1850
  var _this5 = this;
2079
-
2080
1851
  var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
2081
1852
  var s = name.split('|');
2082
1853
  var lng = s[0];
@@ -2084,7 +1855,6 @@ var Connector = function (_EventEmitter) {
2084
1855
  this.read(lng, ns, 'read', undefined, undefined, function (err, data) {
2085
1856
  if (err) _this5.logger.warn("".concat(prefix, "loading namespace ").concat(ns, " for language ").concat(lng, " failed"), err);
2086
1857
  if (!err && data) _this5.logger.log("".concat(prefix, "loaded namespace ").concat(ns, " for language ").concat(lng), data);
2087
-
2088
1858
  _this5.loaded(name, err, data);
2089
1859
  });
2090
1860
  }
@@ -2092,25 +1862,43 @@ var Connector = function (_EventEmitter) {
2092
1862
  key: "saveMissing",
2093
1863
  value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {
2094
1864
  var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};
2095
-
1865
+ var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};
2096
1866
  if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {
2097
1867
  this.logger.warn("did not save key \"".concat(key, "\" as the namespace \"").concat(namespace, "\" was not yet loaded"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');
2098
1868
  return;
2099
1869
  }
2100
-
2101
1870
  if (key === undefined || key === null || key === '') return;
2102
-
2103
1871
  if (this.backend && this.backend.create) {
2104
- this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5$1(_objectSpread$5$1({}, options), {}, {
1872
+ var opts = _objectSpread$1$1(_objectSpread$1$1({}, options), {}, {
2105
1873
  isUpdate: isUpdate
2106
- }));
1874
+ });
1875
+ var fc = this.backend.create.bind(this.backend);
1876
+ if (fc.length < 6) {
1877
+ try {
1878
+ var r;
1879
+ if (fc.length === 5) {
1880
+ r = fc(languages, namespace, key, fallbackValue, opts);
1881
+ } else {
1882
+ r = fc(languages, namespace, key, fallbackValue);
1883
+ }
1884
+ if (r && typeof r.then === 'function') {
1885
+ r.then(function (data) {
1886
+ return clb(null, data);
1887
+ })["catch"](clb);
1888
+ } else {
1889
+ clb(null, r);
1890
+ }
1891
+ } catch (err) {
1892
+ clb(err);
1893
+ }
1894
+ } else {
1895
+ fc(languages, namespace, key, fallbackValue, clb, opts);
1896
+ }
2107
1897
  }
2108
-
2109
1898
  if (!languages || !languages[0]) return;
2110
1899
  this.store.addResource(languages[0], namespace, key, fallbackValue);
2111
1900
  }
2112
1901
  }]);
2113
-
2114
1902
  return Connector;
2115
1903
  }(EventEmitter);
2116
1904
 
@@ -2153,14 +1941,12 @@ function get() {
2153
1941
  if (_typeof(args[1]) === 'object') ret = args[1];
2154
1942
  if (typeof args[1] === 'string') ret.defaultValue = args[1];
2155
1943
  if (typeof args[2] === 'string') ret.tDescription = args[2];
2156
-
2157
1944
  if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {
2158
1945
  var options = args[3] || args[2];
2159
1946
  Object.keys(options).forEach(function (key) {
2160
1947
  ret[key] = options[key];
2161
1948
  });
2162
1949
  }
2163
-
2164
1950
  return ret;
2165
1951
  },
2166
1952
  interpolation: {
@@ -2184,24 +1970,17 @@ function transformOptions(options) {
2184
1970
  if (typeof options.ns === 'string') options.ns = [options.ns];
2185
1971
  if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];
2186
1972
  if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];
2187
-
2188
1973
  if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {
2189
1974
  options.supportedLngs = options.supportedLngs.concat(['cimode']);
2190
1975
  }
2191
-
2192
1976
  return options;
2193
1977
  }
2194
1978
 
2195
- function ownKeys$6$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2196
-
2197
- function _objectSpread$6$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2198
-
2199
- function _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
2200
-
2201
- function _isNativeReflectConstruct$3() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2202
-
1979
+ function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
1980
+ function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
1981
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
1982
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
2203
1983
  function noop$1() {}
2204
-
2205
1984
  function bindMemberFunctions(inst) {
2206
1985
  var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));
2207
1986
  mems.forEach(function (mem) {
@@ -2210,26 +1989,18 @@ function bindMemberFunctions(inst) {
2210
1989
  }
2211
1990
  });
2212
1991
  }
2213
-
2214
1992
  var I18n = function (_EventEmitter) {
2215
1993
  _inherits(I18n, _EventEmitter);
2216
-
2217
- var _super = _createSuper$3(I18n);
2218
-
1994
+ var _super = _createSuper(I18n);
2219
1995
  function I18n() {
2220
1996
  var _this;
2221
-
2222
1997
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2223
1998
  var callback = arguments.length > 1 ? arguments[1] : undefined;
2224
-
2225
1999
  _classCallCheck(this, I18n);
2226
-
2227
2000
  _this = _super.call(this);
2228
-
2229
2001
  if (isIE10) {
2230
2002
  EventEmitter.call(_assertThisInitialized(_this));
2231
2003
  }
2232
-
2233
2004
  _this.options = transformOptions(options);
2234
2005
  _this.services = {};
2235
2006
  _this.logger = baseLogger;
@@ -2237,79 +2008,62 @@ var I18n = function (_EventEmitter) {
2237
2008
  external: []
2238
2009
  };
2239
2010
  bindMemberFunctions(_assertThisInitialized(_this));
2240
-
2241
2011
  if (callback && !_this.isInitialized && !options.isClone) {
2242
2012
  if (!_this.options.initImmediate) {
2243
2013
  _this.init(options, callback);
2244
-
2245
2014
  return _possibleConstructorReturn(_this, _assertThisInitialized(_this));
2246
2015
  }
2247
-
2248
2016
  setTimeout(function () {
2249
2017
  _this.init(options, callback);
2250
2018
  }, 0);
2251
2019
  }
2252
-
2253
2020
  return _this;
2254
2021
  }
2255
-
2256
2022
  _createClass(I18n, [{
2257
2023
  key: "init",
2258
2024
  value: function init() {
2259
2025
  var _this2 = this;
2260
-
2261
2026
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2262
2027
  var callback = arguments.length > 1 ? arguments[1] : undefined;
2263
-
2264
2028
  if (typeof options === 'function') {
2265
2029
  callback = options;
2266
2030
  options = {};
2267
2031
  }
2268
-
2269
- if (!options.defaultNS && options.ns) {
2032
+ if (!options.defaultNS && options.defaultNS !== false && options.ns) {
2270
2033
  if (typeof options.ns === 'string') {
2271
2034
  options.defaultNS = options.ns;
2272
2035
  } else if (options.ns.indexOf('translation') < 0) {
2273
2036
  options.defaultNS = options.ns[0];
2274
2037
  }
2275
2038
  }
2276
-
2277
2039
  var defOpts = get();
2278
- this.options = _objectSpread$6$1(_objectSpread$6$1(_objectSpread$6$1({}, defOpts), this.options), transformOptions(options));
2279
-
2040
+ this.options = _objectSpread$a(_objectSpread$a(_objectSpread$a({}, defOpts), this.options), transformOptions(options));
2280
2041
  if (this.options.compatibilityAPI !== 'v1') {
2281
- this.options.interpolation = _objectSpread$6$1(_objectSpread$6$1({}, defOpts.interpolation), this.options.interpolation);
2042
+ this.options.interpolation = _objectSpread$a(_objectSpread$a({}, defOpts.interpolation), this.options.interpolation);
2282
2043
  }
2283
-
2284
2044
  if (options.keySeparator !== undefined) {
2285
2045
  this.options.userDefinedKeySeparator = options.keySeparator;
2286
2046
  }
2287
-
2288
2047
  if (options.nsSeparator !== undefined) {
2289
2048
  this.options.userDefinedNsSeparator = options.nsSeparator;
2290
2049
  }
2291
-
2292
2050
  function createClassOnDemand(ClassOrObject) {
2293
2051
  if (!ClassOrObject) return null;
2294
2052
  if (typeof ClassOrObject === 'function') return new ClassOrObject();
2295
2053
  return ClassOrObject;
2296
2054
  }
2297
-
2298
2055
  if (!this.options.isClone) {
2299
2056
  if (this.modules.logger) {
2300
2057
  baseLogger.init(createClassOnDemand(this.modules.logger), this.options);
2301
2058
  } else {
2302
2059
  baseLogger.init(null, this.options);
2303
2060
  }
2304
-
2305
2061
  var formatter;
2306
-
2307
2062
  if (this.modules.formatter) {
2308
2063
  formatter = this.modules.formatter;
2309
2064
  } else if (typeof Intl !== 'undefined') {
2310
2065
  formatter = Formatter;
2311
2066
  }
2312
-
2313
2067
  var lu = new LanguageUtil(this.options);
2314
2068
  this.store = new ResourceStore(this.options.resources, this.options);
2315
2069
  var s = this.services;
@@ -2321,13 +2075,11 @@ var I18n = function (_EventEmitter) {
2321
2075
  compatibilityJSON: this.options.compatibilityJSON,
2322
2076
  simplifyPluralSuffix: this.options.simplifyPluralSuffix
2323
2077
  });
2324
-
2325
2078
  if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {
2326
2079
  s.formatter = createClassOnDemand(formatter);
2327
2080
  s.formatter.init(s, this.options);
2328
2081
  this.options.interpolation.format = s.formatter.format.bind(s.formatter);
2329
2082
  }
2330
-
2331
2083
  s.interpolator = new Interpolator(this.options);
2332
2084
  s.utils = {
2333
2085
  hasLoadedNamespace: this.hasLoadedNamespace.bind(this)
@@ -2337,50 +2089,40 @@ var I18n = function (_EventEmitter) {
2337
2089
  for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
2338
2090
  args[_key - 1] = arguments[_key];
2339
2091
  }
2340
-
2341
2092
  _this2.emit.apply(_this2, [event].concat(args));
2342
2093
  });
2343
-
2344
2094
  if (this.modules.languageDetector) {
2345
2095
  s.languageDetector = createClassOnDemand(this.modules.languageDetector);
2346
- s.languageDetector.init(s, this.options.detection, this.options);
2096
+ if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);
2347
2097
  }
2348
-
2349
2098
  if (this.modules.i18nFormat) {
2350
2099
  s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);
2351
2100
  if (s.i18nFormat.init) s.i18nFormat.init(this);
2352
2101
  }
2353
-
2354
2102
  this.translator = new Translator(this.services, this.options);
2355
2103
  this.translator.on('*', function (event) {
2356
2104
  for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
2357
2105
  args[_key2 - 1] = arguments[_key2];
2358
2106
  }
2359
-
2360
2107
  _this2.emit.apply(_this2, [event].concat(args));
2361
2108
  });
2362
2109
  this.modules.external.forEach(function (m) {
2363
2110
  if (m.init) m.init(_this2);
2364
2111
  });
2365
2112
  }
2366
-
2367
2113
  this.format = this.options.interpolation.format;
2368
2114
  if (!callback) callback = noop$1;
2369
-
2370
2115
  if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
2371
2116
  var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
2372
2117
  if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];
2373
2118
  }
2374
-
2375
2119
  if (!this.services.languageDetector && !this.options.lng) {
2376
2120
  this.logger.warn('init: no languageDetector is used and no lng is defined');
2377
2121
  }
2378
-
2379
2122
  var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];
2380
2123
  storeApi.forEach(function (fcName) {
2381
2124
  _this2[fcName] = function () {
2382
2125
  var _this2$store;
2383
-
2384
2126
  return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);
2385
2127
  };
2386
2128
  });
@@ -2388,63 +2130,48 @@ var I18n = function (_EventEmitter) {
2388
2130
  storeApiChained.forEach(function (fcName) {
2389
2131
  _this2[fcName] = function () {
2390
2132
  var _this2$store2;
2391
-
2392
2133
  (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);
2393
-
2394
2134
  return _this2;
2395
2135
  };
2396
2136
  });
2397
2137
  var deferred = defer();
2398
-
2399
2138
  var load = function load() {
2400
2139
  var finish = function finish(err, t) {
2401
2140
  if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');
2402
2141
  _this2.isInitialized = true;
2403
2142
  if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);
2404
-
2405
2143
  _this2.emit('initialized', _this2.options);
2406
-
2407
2144
  deferred.resolve(t);
2408
2145
  callback(err, t);
2409
2146
  };
2410
-
2411
2147
  if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));
2412
-
2413
2148
  _this2.changeLanguage(_this2.options.lng, finish);
2414
2149
  };
2415
-
2416
2150
  if (this.options.resources || !this.options.initImmediate) {
2417
2151
  load();
2418
2152
  } else {
2419
2153
  setTimeout(load, 0);
2420
2154
  }
2421
-
2422
2155
  return deferred;
2423
2156
  }
2424
2157
  }, {
2425
2158
  key: "loadResources",
2426
2159
  value: function loadResources(language) {
2427
2160
  var _this3 = this;
2428
-
2429
2161
  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
2430
2162
  var usedCallback = callback;
2431
2163
  var usedLng = typeof language === 'string' ? language : this.language;
2432
2164
  if (typeof language === 'function') usedCallback = language;
2433
-
2434
2165
  if (!this.options.resources || this.options.partialBundledLanguages) {
2435
2166
  if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();
2436
2167
  var toLoad = [];
2437
-
2438
2168
  var append = function append(lng) {
2439
2169
  if (!lng) return;
2440
-
2441
2170
  var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);
2442
-
2443
2171
  lngs.forEach(function (l) {
2444
2172
  if (toLoad.indexOf(l) < 0) toLoad.push(l);
2445
2173
  });
2446
2174
  };
2447
-
2448
2175
  if (!usedLng) {
2449
2176
  var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
2450
2177
  fallbacks.forEach(function (l) {
@@ -2453,13 +2180,11 @@ var I18n = function (_EventEmitter) {
2453
2180
  } else {
2454
2181
  append(usedLng);
2455
2182
  }
2456
-
2457
2183
  if (this.options.preload) {
2458
2184
  this.options.preload.forEach(function (l) {
2459
2185
  return append(l);
2460
2186
  });
2461
2187
  }
2462
-
2463
2188
  this.services.backendConnector.load(toLoad, this.options.ns, function (e) {
2464
2189
  if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);
2465
2190
  usedCallback(e);
@@ -2486,35 +2211,27 @@ var I18n = function (_EventEmitter) {
2486
2211
  value: function use(module) {
2487
2212
  if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');
2488
2213
  if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');
2489
-
2490
2214
  if (module.type === 'backend') {
2491
2215
  this.modules.backend = module;
2492
2216
  }
2493
-
2494
2217
  if (module.type === 'logger' || module.log && module.warn && module.error) {
2495
2218
  this.modules.logger = module;
2496
2219
  }
2497
-
2498
2220
  if (module.type === 'languageDetector') {
2499
2221
  this.modules.languageDetector = module;
2500
2222
  }
2501
-
2502
2223
  if (module.type === 'i18nFormat') {
2503
2224
  this.modules.i18nFormat = module;
2504
2225
  }
2505
-
2506
2226
  if (module.type === 'postProcessor') {
2507
2227
  postProcessor.addPostProcessor(module);
2508
2228
  }
2509
-
2510
2229
  if (module.type === 'formatter') {
2511
2230
  this.modules.formatter = module;
2512
2231
  }
2513
-
2514
2232
  if (module.type === '3rdParty') {
2515
2233
  this.modules.external.push(module);
2516
2234
  }
2517
-
2518
2235
  return this;
2519
2236
  }
2520
2237
  }, {
@@ -2522,11 +2239,9 @@ var I18n = function (_EventEmitter) {
2522
2239
  value: function setResolvedLanguage(l) {
2523
2240
  if (!l || !this.languages) return;
2524
2241
  if (['cimode', 'dev'].indexOf(l) > -1) return;
2525
-
2526
2242
  for (var li = 0; li < this.languages.length; li++) {
2527
2243
  var lngInLngs = this.languages[li];
2528
2244
  if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;
2529
-
2530
2245
  if (this.store.hasLanguageSomeTranslations(lngInLngs)) {
2531
2246
  this.resolvedLanguage = lngInLngs;
2532
2247
  break;
@@ -2537,34 +2252,25 @@ var I18n = function (_EventEmitter) {
2537
2252
  key: "changeLanguage",
2538
2253
  value: function changeLanguage(lng, callback) {
2539
2254
  var _this4 = this;
2540
-
2541
2255
  this.isLanguageChangingTo = lng;
2542
2256
  var deferred = defer();
2543
2257
  this.emit('languageChanging', lng);
2544
-
2545
2258
  var setLngProps = function setLngProps(l) {
2546
2259
  _this4.language = l;
2547
2260
  _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);
2548
2261
  _this4.resolvedLanguage = undefined;
2549
-
2550
2262
  _this4.setResolvedLanguage(l);
2551
2263
  };
2552
-
2553
2264
  var done = function done(err, l) {
2554
2265
  if (l) {
2555
2266
  setLngProps(l);
2556
-
2557
2267
  _this4.translator.changeLanguage(l);
2558
-
2559
2268
  _this4.isLanguageChangingTo = undefined;
2560
-
2561
2269
  _this4.emit('languageChanged', l);
2562
-
2563
2270
  _this4.logger.log('languageChanged', l);
2564
2271
  } else {
2565
2272
  _this4.isLanguageChangingTo = undefined;
2566
2273
  }
2567
-
2568
2274
  deferred.resolve(function () {
2569
2275
  return _this4.t.apply(_this4, arguments);
2570
2276
  });
@@ -2572,67 +2278,67 @@ var I18n = function (_EventEmitter) {
2572
2278
  return _this4.t.apply(_this4, arguments);
2573
2279
  });
2574
2280
  };
2575
-
2576
2281
  var setLng = function setLng(lngs) {
2577
2282
  if (!lng && !lngs && _this4.services.languageDetector) lngs = [];
2578
2283
  var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);
2579
-
2580
2284
  if (l) {
2581
2285
  if (!_this4.language) {
2582
2286
  setLngProps(l);
2583
2287
  }
2584
-
2585
2288
  if (!_this4.translator.language) _this4.translator.changeLanguage(l);
2586
- if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);
2289
+ if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);
2587
2290
  }
2588
-
2589
2291
  _this4.loadResources(l, function (err) {
2590
2292
  done(err, l);
2591
2293
  });
2592
2294
  };
2593
-
2594
2295
  if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {
2595
2296
  setLng(this.services.languageDetector.detect());
2596
2297
  } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {
2597
- this.services.languageDetector.detect(setLng);
2298
+ if (this.services.languageDetector.detect.length === 0) {
2299
+ this.services.languageDetector.detect().then(setLng);
2300
+ } else {
2301
+ this.services.languageDetector.detect(setLng);
2302
+ }
2598
2303
  } else {
2599
2304
  setLng(lng);
2600
2305
  }
2601
-
2602
2306
  return deferred;
2603
2307
  }
2604
2308
  }, {
2605
2309
  key: "getFixedT",
2606
2310
  value: function getFixedT(lng, ns, keyPrefix) {
2607
2311
  var _this5 = this;
2608
-
2609
2312
  var fixedT = function fixedT(key, opts) {
2610
2313
  var options;
2611
-
2612
2314
  if (_typeof(opts) !== 'object') {
2613
2315
  for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {
2614
2316
  rest[_key3 - 2] = arguments[_key3];
2615
2317
  }
2616
-
2617
2318
  options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));
2618
2319
  } else {
2619
- options = _objectSpread$6$1({}, opts);
2320
+ options = _objectSpread$a({}, opts);
2620
2321
  }
2621
-
2622
2322
  options.lng = options.lng || fixedT.lng;
2623
2323
  options.lngs = options.lngs || fixedT.lngs;
2624
2324
  options.ns = options.ns || fixedT.ns;
2325
+ options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;
2625
2326
  var keySeparator = _this5.options.keySeparator || '.';
2626
- var resultKey = keyPrefix ? "".concat(keyPrefix).concat(keySeparator).concat(key) : key;
2327
+ var resultKey;
2328
+ if (options.keyPrefix && Array.isArray(key)) {
2329
+ resultKey = key.map(function (k) {
2330
+ return "".concat(options.keyPrefix).concat(keySeparator).concat(k);
2331
+ });
2332
+ } else {
2333
+ resultKey = options.keyPrefix ? "".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;
2334
+ }
2627
2335
  return _this5.t(resultKey, options);
2628
2336
  };
2629
-
2630
2337
  if (typeof lng === 'string') {
2631
2338
  fixedT.lng = lng;
2632
2339
  } else {
2633
2340
  fixedT.lngs = lng;
2634
2341
  }
2635
-
2636
2342
  fixedT.ns = ns;
2637
2343
  fixedT.keyPrefix = keyPrefix;
2638
2344
  return fixedT;
@@ -2641,14 +2347,12 @@ var I18n = function (_EventEmitter) {
2641
2347
  key: "t",
2642
2348
  value: function t() {
2643
2349
  var _this$translator;
2644
-
2645
2350
  return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);
2646
2351
  }
2647
2352
  }, {
2648
2353
  key: "exists",
2649
2354
  value: function exists() {
2650
2355
  var _this$translator2;
2651
-
2652
2356
  return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);
2653
2357
  }
2654
2358
  }, {
@@ -2660,35 +2364,27 @@ var I18n = function (_EventEmitter) {
2660
2364
  key: "hasLoadedNamespace",
2661
2365
  value: function hasLoadedNamespace(ns) {
2662
2366
  var _this6 = this;
2663
-
2664
2367
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
2665
-
2666
2368
  if (!this.isInitialized) {
2667
2369
  this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);
2668
2370
  return false;
2669
2371
  }
2670
-
2671
2372
  if (!this.languages || !this.languages.length) {
2672
2373
  this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);
2673
2374
  return false;
2674
2375
  }
2675
-
2676
2376
  var lng = this.resolvedLanguage || this.languages[0];
2677
2377
  var fallbackLng = this.options ? this.options.fallbackLng : false;
2678
2378
  var lastLng = this.languages[this.languages.length - 1];
2679
2379
  if (lng.toLowerCase() === 'cimode') return true;
2680
-
2681
2380
  var loadNotPending = function loadNotPending(l, n) {
2682
2381
  var loadState = _this6.services.backendConnector.state["".concat(l, "|").concat(n)];
2683
-
2684
2382
  return loadState === -1 || loadState === 2;
2685
2383
  };
2686
-
2687
2384
  if (options.precheck) {
2688
2385
  var preResult = options.precheck(this, loadNotPending);
2689
2386
  if (preResult !== undefined) return preResult;
2690
2387
  }
2691
-
2692
2388
  if (this.hasResourceBundle(lng, ns)) return true;
2693
2389
  if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;
2694
2390
  if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;
@@ -2698,14 +2394,11 @@ var I18n = function (_EventEmitter) {
2698
2394
  key: "loadNamespaces",
2699
2395
  value: function loadNamespaces(ns, callback) {
2700
2396
  var _this7 = this;
2701
-
2702
2397
  var deferred = defer();
2703
-
2704
2398
  if (!this.options.ns) {
2705
2399
  callback && callback();
2706
2400
  return Promise.resolve();
2707
2401
  }
2708
-
2709
2402
  if (typeof ns === 'string') ns = [ns];
2710
2403
  ns.forEach(function (n) {
2711
2404
  if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);
@@ -2725,12 +2418,10 @@ var I18n = function (_EventEmitter) {
2725
2418
  var newLngs = lngs.filter(function (lng) {
2726
2419
  return preloaded.indexOf(lng) < 0;
2727
2420
  });
2728
-
2729
2421
  if (!newLngs.length) {
2730
2422
  if (callback) callback();
2731
2423
  return Promise.resolve();
2732
2424
  }
2733
-
2734
2425
  this.options.preload = preloaded.concat(newLngs);
2735
2426
  this.loadResources(function (err) {
2736
2427
  deferred.resolve();
@@ -2744,26 +2435,27 @@ var I18n = function (_EventEmitter) {
2744
2435
  if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);
2745
2436
  if (!lng) return 'rtl';
2746
2437
  var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];
2747
- return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';
2438
+ var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());
2439
+ return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';
2748
2440
  }
2749
2441
  }, {
2750
2442
  key: "cloneInstance",
2751
2443
  value: function cloneInstance() {
2752
2444
  var _this8 = this;
2753
-
2754
2445
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2755
2446
  var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop$1;
2756
-
2757
- var mergedOptions = _objectSpread$6$1(_objectSpread$6$1(_objectSpread$6$1({}, this.options), options), {
2447
+ var mergedOptions = _objectSpread$a(_objectSpread$a(_objectSpread$a({}, this.options), options), {
2758
2448
  isClone: true
2759
2449
  });
2760
-
2761
2450
  var clone = new I18n(mergedOptions);
2451
+ if (options.debug !== undefined || options.prefix !== undefined) {
2452
+ clone.logger = clone.logger.clone(options);
2453
+ }
2762
2454
  var membersToCopy = ['store', 'services', 'language'];
2763
2455
  membersToCopy.forEach(function (m) {
2764
2456
  clone[m] = _this8[m];
2765
2457
  });
2766
- clone.services = _objectSpread$6$1({}, this.services);
2458
+ clone.services = _objectSpread$a({}, this.services);
2767
2459
  clone.services.utils = {
2768
2460
  hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)
2769
2461
  };
@@ -2772,7 +2464,6 @@ var I18n = function (_EventEmitter) {
2772
2464
  for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {
2773
2465
  args[_key4 - 1] = arguments[_key4];
2774
2466
  }
2775
-
2776
2467
  clone.emit.apply(clone, [event].concat(args));
2777
2468
  });
2778
2469
  clone.init(mergedOptions, callback);
@@ -2794,20 +2485,18 @@ var I18n = function (_EventEmitter) {
2794
2485
  };
2795
2486
  }
2796
2487
  }]);
2797
-
2798
2488
  return I18n;
2799
2489
  }(EventEmitter);
2800
-
2801
2490
  _defineProperty(I18n, "createInstance", function () {
2802
2491
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2803
2492
  var callback = arguments.length > 1 ? arguments[1] : undefined;
2804
2493
  return new I18n(options, callback);
2805
2494
  });
2806
-
2807
2495
  var instance = I18n.createInstance();
2808
2496
  instance.createInstance = I18n.createInstance;
2809
2497
 
2810
2498
  instance.createInstance;
2499
+ instance.dir;
2811
2500
  instance.init;
2812
2501
  instance.loadResources;
2813
2502
  instance.reloadResources;
@@ -2845,89 +2534,6 @@ var voidElements = {
2845
2534
 
2846
2535
  var t=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function n(n){var r={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},i=n.match(/<\/?([^\s]+?)[/\s>]/);if(i&&(r.name=i[1],(voidElements[i[1]]||"/"===n.charAt(n.length-2))&&(r.voidElement=!0),r.name.startsWith("!--"))){var s=n.indexOf("--\x3e");return {type:"comment",comment:-1!==s?n.slice(4,s):""}}for(var a=new RegExp(t),c=null;null!==(c=a.exec(n));)if(c[0].trim())if(c[1]){var o=c[1].trim(),l=[o,""];o.indexOf("=")>-1&&(l=o.split("=")),r.attrs[l[0]]=l[1],a.lastIndex--;}else c[2]&&(r.attrs[c[2]]=c[3].trim().substring(1,c[3].length-1));return r}var r=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,i=/^\s*$/,s=Object.create(null);function a(e,t){switch(t.type){case"text":return e+t.content;case"tag":return e+="<"+t.name+(t.attrs?function(e){var t=[];for(var n in e)t.push(n+'="'+e[n]+'"');return t.length?" "+t.join(" "):""}(t.attrs):"")+(t.voidElement?"/>":">"),t.voidElement?e:e+t.children.reduce(a,"")+"</"+t.name+">";case"comment":return e+"\x3c!--"+t.comment+"--\x3e"}}var c={parse:function(e,t){t||(t={}),t.components||(t.components=s);var a,c=[],o=[],l=-1,m=!1;if(0!==e.indexOf("<")){var u=e.indexOf("<");c.push({type:"text",content:-1===u?e:e.substring(0,u)});}return e.replace(r,function(r,s){if(m){if(r!=="</"+a.name+">")return;m=!1;}var u,f="/"!==r.charAt(1),h=r.startsWith("\x3c!--"),p=s+r.length,d=e.charAt(p);if(h){var v=n(r);return l<0?(c.push(v),c):((u=o[l]).children.push(v),c)}if(f&&(l++,"tag"===(a=n(r)).type&&t.components[a.name]&&(a.type="component",m=!0),a.voidElement||m||!d||"<"===d||a.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===l&&c.push(a),(u=o[l-1])&&u.children.push(a),o[l]=a),(!f||a.voidElement)&&(l>-1&&(a.voidElement||a.name===r.slice(2,-1))&&(l--,a=-1===l?c:o[l]),!m&&"<"!==d&&d)){u=-1===l?c:o[l].children;var x=e.indexOf("<",p),g=e.slice(p,-1===x?void 0:x);i.test(g)&&(g=" "),(x>-1&&l+u.length>=0||" "!==g)&&u.push({type:"text",content:g});}}),c},stringify:function(e){return e.reduce(function(e,t){return e+a("",t)},"")}};
2847
2536
 
2848
- var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g;
2849
- var htmlEntities = {
2850
- '&amp;': '&',
2851
- '&#38;': '&',
2852
- '&lt;': '<',
2853
- '&#60;': '<',
2854
- '&gt;': '>',
2855
- '&#62;': '>',
2856
- '&apos;': "'",
2857
- '&#39;': "'",
2858
- '&quot;': '"',
2859
- '&#34;': '"'
2860
- };
2861
-
2862
- var unescapeHtmlEntity = function unescapeHtmlEntity(m) {
2863
- return htmlEntities[m];
2864
- };
2865
-
2866
- var unescape = function unescape(text) {
2867
- return text.replace(matchHtmlEntity, unescapeHtmlEntity);
2868
- };
2869
-
2870
- function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2871
-
2872
- function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2873
- var defaultOptions = {
2874
- bindI18n: 'languageChanged',
2875
- bindI18nStore: '',
2876
- transEmptyNodeValue: '',
2877
- transSupportBasicHtmlNodes: true,
2878
- transWrapTextNodes: '',
2879
- transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
2880
- useSuspense: true,
2881
- unescape: unescape
2882
- };
2883
- var i18nInstance;
2884
- var I18nContext = createContext();
2885
- function setDefaults() {
2886
- var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2887
- defaultOptions = _objectSpread$7(_objectSpread$7({}, defaultOptions), options);
2888
- }
2889
- function getDefaults() {
2890
- return defaultOptions;
2891
- }
2892
- var ReportNamespaces = function () {
2893
- function ReportNamespaces() {
2894
- _classCallCheck$1(this, ReportNamespaces);
2895
-
2896
- this.usedNamespaces = {};
2897
- }
2898
-
2899
- _createClass$1(ReportNamespaces, [{
2900
- key: "addUsedNamespaces",
2901
- value: function addUsedNamespaces(namespaces) {
2902
- var _this = this;
2903
-
2904
- namespaces.forEach(function (ns) {
2905
- if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;
2906
- });
2907
- }
2908
- }, {
2909
- key: "getUsedNamespaces",
2910
- value: function getUsedNamespaces() {
2911
- return Object.keys(this.usedNamespaces);
2912
- }
2913
- }]);
2914
-
2915
- return ReportNamespaces;
2916
- }();
2917
- function setI18n(instance) {
2918
- i18nInstance = instance;
2919
- }
2920
- function getI18n() {
2921
- return i18nInstance;
2922
- }
2923
- var initReactI18next = {
2924
- type: '3rdParty',
2925
- init: function init(instance) {
2926
- setDefaults(instance.options.react);
2927
- setI18n(instance);
2928
- }
2929
- };
2930
-
2931
2537
  function warn() {
2932
2538
  if (console && console.warn) {
2933
2539
  var _console;
@@ -2987,33 +2593,94 @@ function oldI18nextHasLoadedNamespace(ns, i18n) {
2987
2593
  return false;
2988
2594
  }
2989
2595
 
2990
- function hasLoadedNamespace(ns, i18n) {
2991
- var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2992
-
2993
- if (!i18n.languages || !i18n.languages.length) {
2994
- warnOnce('i18n.languages were undefined or empty', i18n.languages);
2995
- return true;
2996
- }
2997
-
2998
- var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;
2999
-
3000
- if (!isNewerI18next) {
3001
- return oldI18nextHasLoadedNamespace(ns, i18n, options);
3002
- }
3003
-
3004
- return i18n.hasLoadedNamespace(ns, {
3005
- precheck: function precheck(i18nInstance, loadNotPending) {
3006
- if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;
3007
- }
3008
- });
2596
+ function hasLoadedNamespace(ns, i18n) {
2597
+ var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
2598
+
2599
+ if (!i18n.languages || !i18n.languages.length) {
2600
+ warnOnce('i18n.languages were undefined or empty', i18n.languages);
2601
+ return true;
2602
+ }
2603
+
2604
+ var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;
2605
+
2606
+ if (!isNewerI18next) {
2607
+ return oldI18nextHasLoadedNamespace(ns, i18n, options);
2608
+ }
2609
+
2610
+ return i18n.hasLoadedNamespace(ns, {
2611
+ precheck: function precheck(i18nInstance, loadNotPending) {
2612
+ if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;
2613
+ }
2614
+ });
2615
+ }
2616
+
2617
+ var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
2618
+ var htmlEntities = {
2619
+ '&amp;': '&',
2620
+ '&#38;': '&',
2621
+ '&lt;': '<',
2622
+ '&#60;': '<',
2623
+ '&gt;': '>',
2624
+ '&#62;': '>',
2625
+ '&apos;': "'",
2626
+ '&#39;': "'",
2627
+ '&quot;': '"',
2628
+ '&#34;': '"',
2629
+ '&nbsp;': ' ',
2630
+ '&#160;': ' ',
2631
+ '&copy;': '©',
2632
+ '&#169;': '©',
2633
+ '&reg;': '®',
2634
+ '&#174;': '®',
2635
+ '&hellip;': '…',
2636
+ '&#8230;': '…',
2637
+ '&#x2F;': '/',
2638
+ '&#47;': '/'
2639
+ };
2640
+
2641
+ var unescapeHtmlEntity = function unescapeHtmlEntity(m) {
2642
+ return htmlEntities[m];
2643
+ };
2644
+
2645
+ var unescape = function unescape(text) {
2646
+ return text.replace(matchHtmlEntity, unescapeHtmlEntity);
2647
+ };
2648
+
2649
+ function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2650
+
2651
+ function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$9(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2652
+ var defaultOptions = {
2653
+ bindI18n: 'languageChanged',
2654
+ bindI18nStore: '',
2655
+ transEmptyNodeValue: '',
2656
+ transSupportBasicHtmlNodes: true,
2657
+ transWrapTextNodes: '',
2658
+ transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
2659
+ useSuspense: true,
2660
+ unescape: unescape
2661
+ };
2662
+ function setDefaults() {
2663
+ var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
2664
+ defaultOptions = _objectSpread$9(_objectSpread$9({}, defaultOptions), options);
2665
+ }
2666
+ function getDefaults() {
2667
+ return defaultOptions;
2668
+ }
2669
+
2670
+ var i18nInstance;
2671
+ function setI18n(instance) {
2672
+ i18nInstance = instance;
2673
+ }
2674
+ function getI18n() {
2675
+ return i18nInstance;
3009
2676
  }
3010
2677
 
3011
- var _excluded = ["format"],
2678
+ var _excluded$1 = ["format"],
3012
2679
  _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
3013
2680
 
3014
- function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2681
+ function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3015
2682
 
3016
- function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2683
+ function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$8(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3017
2684
 
3018
2685
  function hasChildren(node, checkLength) {
3019
2686
  if (!node) return false;
@@ -3024,7 +2691,7 @@ function hasChildren(node, checkLength) {
3024
2691
 
3025
2692
  function getChildren(node) {
3026
2693
  if (!node) return [];
3027
- return node && node.children ? node.children : node.props && node.props.children;
2694
+ return node.props ? node.props.children : node.children;
3028
2695
  }
3029
2696
 
3030
2697
  function hasValidReactChildren(children) {
@@ -3039,7 +2706,7 @@ function getAsArray(data) {
3039
2706
  }
3040
2707
 
3041
2708
  function mergeProps(source, target) {
3042
- var newTarget = _objectSpread$6({}, target);
2709
+ var newTarget = _objectSpread$8({}, target);
3043
2710
 
3044
2711
  newTarget.props = Object.assign(source.props, target.props);
3045
2712
  return newTarget;
@@ -3074,7 +2741,7 @@ function nodesToString(children, i18nOptions) {
3074
2741
  warn("Trans: the passed in value is invalid - seems you passed in a null child.");
3075
2742
  } else if (_typeof$1(child) === 'object') {
3076
2743
  var format = child.format,
3077
- clone = _objectWithoutProperties(child, _excluded);
2744
+ clone = _objectWithoutProperties(child, _excluded$1);
3078
2745
 
3079
2746
  var keys = Object.keys(clone);
3080
2747
 
@@ -3109,7 +2776,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
3109
2776
  getData(children);
3110
2777
  var ast = c.parse("<0>".concat(targetString, "</0>"));
3111
2778
 
3112
- var opts = _objectSpread$6(_objectSpread$6({}, data), combinedTOpts);
2779
+ var opts = _objectSpread$8(_objectSpread$8({}, data), combinedTOpts);
3113
2780
 
3114
2781
  function renderInner(child, node, rootReactNode) {
3115
2782
  var childs = getChildren(child);
@@ -3119,7 +2786,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
3119
2786
 
3120
2787
  function pushTranslatedJSX(child, inner, mem, i, isVoid) {
3121
2788
  if (child.dummy) child.children = inner;
3122
- mem.push(cloneElement(child, _objectSpread$6(_objectSpread$6({}, child.props), {}, {
2789
+ mem.push(cloneElement(child, _objectSpread$8(_objectSpread$8({}, child.props), {}, {
3123
2790
  key: i
3124
2791
  }), isVoid ? undefined : inner));
3125
2792
  }
@@ -3151,7 +2818,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
3151
2818
  } else if (isEmptyTransWithHTML) {
3152
2819
  var _inner = mapAST(reactNodes, node.children, rootReactNode);
3153
2820
 
3154
- mem.push(cloneElement(child, _objectSpread$6(_objectSpread$6({}, child.props), {}, {
2821
+ mem.push(cloneElement(child, _objectSpread$8(_objectSpread$8({}, child.props), {}, {
3155
2822
  key: i
3156
2823
  }), _inner));
3157
2824
  } else if (Number.isNaN(parseFloat(node.name))) {
@@ -3182,11 +2849,11 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
3182
2849
  var content = node.children[0] ? translationContent : null;
3183
2850
  if (content) mem.push(content);
3184
2851
  } else if (node.children.length === 1 && translationContent) {
3185
- mem.push(cloneElement(child, _objectSpread$6(_objectSpread$6({}, child.props), {}, {
2852
+ mem.push(cloneElement(child, _objectSpread$8(_objectSpread$8({}, child.props), {}, {
3186
2853
  key: i
3187
2854
  }), translationContent));
3188
2855
  } else {
3189
- mem.push(cloneElement(child, _objectSpread$6(_objectSpread$6({}, child.props), {}, {
2856
+ mem.push(cloneElement(child, _objectSpread$8(_objectSpread$8({}, child.props), {}, {
3190
2857
  key: i
3191
2858
  })));
3192
2859
  }
@@ -3215,7 +2882,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
3215
2882
  return getChildren(result[0]);
3216
2883
  }
3217
2884
 
3218
- function Trans(_ref) {
2885
+ function Trans$1(_ref) {
3219
2886
  var children = _ref.children,
3220
2887
  count = _ref.count,
3221
2888
  parent = _ref.parent,
@@ -3232,11 +2899,7 @@ function Trans(_ref) {
3232
2899
  shouldUnescape = _ref.shouldUnescape,
3233
2900
  additionalProps = _objectWithoutProperties(_ref, _excluded2);
3234
2901
 
3235
- var _ref2 = useContext(I18nContext) || {},
3236
- i18nFromContext = _ref2.i18n,
3237
- defaultNSFromContext = _ref2.defaultNS;
3238
-
3239
- var i18n = i18nFromProps || i18nFromContext || getI18n();
2902
+ var i18n = i18nFromProps || getI18n();
3240
2903
 
3241
2904
  if (!i18n) {
3242
2905
  warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
@@ -3249,21 +2912,21 @@ function Trans(_ref) {
3249
2912
 
3250
2913
  if (context) tOptions.context = context;
3251
2914
 
3252
- var reactI18nextOptions = _objectSpread$6(_objectSpread$6({}, getDefaults()), i18n.options && i18n.options.react);
2915
+ var reactI18nextOptions = _objectSpread$8(_objectSpread$8({}, getDefaults()), i18n.options && i18n.options.react);
3253
2916
 
3254
- var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
2917
+ var namespaces = ns || t.ns || i18n.options && i18n.options.defaultNS;
3255
2918
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
3256
2919
  var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
3257
2920
  var hashTransKey = reactI18nextOptions.hashTransKey;
3258
2921
  var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
3259
2922
  var interpolationOverride = values ? tOptions.interpolation : {
3260
- interpolation: _objectSpread$6(_objectSpread$6({}, tOptions.interpolation), {}, {
2923
+ interpolation: _objectSpread$8(_objectSpread$8({}, tOptions.interpolation), {}, {
3261
2924
  prefix: '#$?',
3262
2925
  suffix: '?$#'
3263
2926
  })
3264
2927
  };
3265
2928
 
3266
- var combinedTOpts = _objectSpread$6(_objectSpread$6(_objectSpread$6(_objectSpread$6({}, tOptions), {}, {
2929
+ var combinedTOpts = _objectSpread$8(_objectSpread$8(_objectSpread$8(_objectSpread$8({}, tOptions), {}, {
3267
2930
  count: count
3268
2931
  }, values), interpolationOverride), {}, {
3269
2932
  defaultValue: defaultValue,
@@ -3276,9 +2939,89 @@ function Trans(_ref) {
3276
2939
  return useAsParent ? createElement(useAsParent, additionalProps, content) : content;
3277
2940
  }
3278
2941
 
3279
- function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2942
+ var initReactI18next = {
2943
+ type: '3rdParty',
2944
+ init: function init(instance) {
2945
+ setDefaults(instance.options.react);
2946
+ setI18n(instance);
2947
+ }
2948
+ };
2949
+
2950
+ var I18nContext = createContext();
2951
+ var ReportNamespaces = function () {
2952
+ function ReportNamespaces() {
2953
+ _classCallCheck$1(this, ReportNamespaces);
2954
+
2955
+ this.usedNamespaces = {};
2956
+ }
2957
+
2958
+ _createClass$1(ReportNamespaces, [{
2959
+ key: "addUsedNamespaces",
2960
+ value: function addUsedNamespaces(namespaces) {
2961
+ var _this = this;
2962
+
2963
+ namespaces.forEach(function (ns) {
2964
+ if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;
2965
+ });
2966
+ }
2967
+ }, {
2968
+ key: "getUsedNamespaces",
2969
+ value: function getUsedNamespaces() {
2970
+ return Object.keys(this.usedNamespaces);
2971
+ }
2972
+ }]);
2973
+
2974
+ return ReportNamespaces;
2975
+ }();
2976
+
2977
+ var _excluded = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
2978
+
2979
+ function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
2980
+
2981
+ function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$7(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2982
+ function Trans(_ref) {
2983
+ var children = _ref.children,
2984
+ count = _ref.count,
2985
+ parent = _ref.parent,
2986
+ i18nKey = _ref.i18nKey,
2987
+ context = _ref.context,
2988
+ _ref$tOptions = _ref.tOptions,
2989
+ tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
2990
+ values = _ref.values,
2991
+ defaults = _ref.defaults,
2992
+ components = _ref.components,
2993
+ ns = _ref.ns,
2994
+ i18nFromProps = _ref.i18n,
2995
+ tFromProps = _ref.t,
2996
+ shouldUnescape = _ref.shouldUnescape,
2997
+ additionalProps = _objectWithoutProperties(_ref, _excluded);
2998
+
2999
+ var _ref2 = useContext(I18nContext) || {},
3000
+ i18nFromContext = _ref2.i18n,
3001
+ defaultNSFromContext = _ref2.defaultNS;
3002
+
3003
+ var i18n = i18nFromProps || i18nFromContext || getI18n();
3004
+ var t = tFromProps || i18n && i18n.t.bind(i18n);
3005
+ return Trans$1(_objectSpread$7({
3006
+ children: children,
3007
+ count: count,
3008
+ parent: parent,
3009
+ i18nKey: i18nKey,
3010
+ context: context,
3011
+ tOptions: tOptions,
3012
+ values: values,
3013
+ defaults: defaults,
3014
+ components: components,
3015
+ ns: ns || t && t.ns || defaultNSFromContext || i18n && i18n.options && i18n.options.defaultNS,
3016
+ i18n: i18n,
3017
+ t: tFromProps,
3018
+ shouldUnescape: shouldUnescape
3019
+ }, additionalProps));
3020
+ }
3021
+
3022
+ function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
3280
3023
 
3281
- function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3024
+ function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty$1(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3282
3025
 
3283
3026
  var usePrevious = function usePrevious(value, ignore) {
3284
3027
  var ref = useRef();
@@ -3315,7 +3058,7 @@ function useTranslation(ns) {
3315
3058
 
3316
3059
  if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');
3317
3060
 
3318
- var i18nOptions = _objectSpread$5(_objectSpread$5(_objectSpread$5({}, getDefaults()), i18n.options.react), props);
3061
+ var i18nOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, getDefaults()), i18n.options.react), props);
3319
3062
 
3320
3063
  var useSuspense = i18nOptions.useSuspense,
3321
3064
  keyPrefix = i18nOptions.keyPrefix;
@@ -3376,7 +3119,7 @@ function useTranslation(ns) {
3376
3119
  }
3377
3120
 
3378
3121
  isInitial.current = false;
3379
- }, [i18n]);
3122
+ }, [i18n, keyPrefix]);
3380
3123
  var ret = [t, i18n, ready];
3381
3124
  ret.t = t;
3382
3125
  ret.i18n = i18n;
@@ -3501,21 +3244,19 @@ instance.use(initReactI18next).init({
3501
3244
  */
3502
3245
  var Tags$2 = function Tags(_ref) {
3503
3246
  var _ref$label = _ref.label,
3504
- label = _ref$label === void 0 ? "" : _ref$label,
3505
- allTags = _ref.allTags,
3506
- selectedTags = _ref.selectedTags,
3507
- onTagSelect = _ref.onTagSelect,
3508
- onTagCreate = _ref.onTagCreate,
3509
- onTagDelete = _ref.onTagDelete,
3510
- tagProps = _ref.tagProps,
3511
- selectProps = _ref.selectProps,
3512
- buttonProps = _ref.buttonProps;
3513
-
3247
+ label = _ref$label === void 0 ? "" : _ref$label,
3248
+ allTags = _ref.allTags,
3249
+ selectedTags = _ref.selectedTags,
3250
+ onTagSelect = _ref.onTagSelect,
3251
+ onTagCreate = _ref.onTagCreate,
3252
+ onTagDelete = _ref.onTagDelete,
3253
+ tagProps = _ref.tagProps,
3254
+ selectProps = _ref.selectProps,
3255
+ buttonProps = _ref.buttonProps;
3514
3256
  var _useState = useState(false),
3515
- _useState2 = _slicedToArray(_useState, 2),
3516
- addTag = _useState2[0],
3517
- setAddTag = _useState2[1];
3518
-
3257
+ _useState2 = _slicedToArray(_useState, 2),
3258
+ addTag = _useState2[0],
3259
+ setAddTag = _useState2[1];
3519
3260
  var tags = useMemo(function () {
3520
3261
  if (!allTags) return [];
3521
3262
  if (!selectedTags) return allTags;
@@ -3591,24 +3332,6 @@ var COMMON_COLUMNS = [{
3591
3332
  },
3592
3333
  width: "40%"
3593
3334
  }];
3594
- var TAG_SCHEMA = yup.object().shape({
3595
- name: yup.string().typeError(instance.t("type", {
3596
- what: instance.t("name"),
3597
- type: instance.t("types.string")
3598
- })).required(instance.t("required", {
3599
- what: instance.t("name")
3600
- })).max(50, instance.t("maxLength", {
3601
- what: instance.t("name"),
3602
- length: 50
3603
- })),
3604
- description: yup.string().typeError(instance.t("type", {
3605
- what: instance.t("description"),
3606
- type: instance.t("types.string")
3607
- })).nullable().max(255, instance.t("maxLength", {
3608
- what: instance.t("description"),
3609
- length: 255
3610
- }))
3611
- });
3612
3335
  var PANE_TYPES = {
3613
3336
  CREATE: "CREATE_TAG",
3614
3337
  EDIT: "EDIT_TAG"
@@ -3622,7 +3345,7 @@ var PLURAL = {
3622
3345
  };
3623
3346
 
3624
3347
  var Menu$1 = Dropdown.Menu,
3625
- MenuItem = Dropdown.MenuItem;
3348
+ MenuItem = Dropdown.MenuItem;
3626
3349
  var renderColumnData = function renderColumnData(columns, handleEdit, handleDelete) {
3627
3350
  return [].concat(_toConsumableArray(columns), [{
3628
3351
  id: "actions",
@@ -3660,7 +3383,6 @@ var getCurrentTagType = function getCurrentTagType() {
3660
3383
  var tagLabel = searchParams.get("view");
3661
3384
  var requiredTagType = tagTypes.find(function (tagType) {
3662
3385
  var _tagType$label;
3663
-
3664
3386
  return (tagType === null || tagType === void 0 ? void 0 : (_tagType$label = tagType.label) === null || _tagType$label === void 0 ? void 0 : _tagType$label.toLowerCase()) === tagLabel;
3665
3387
  });
3666
3388
  return requiredTagType || tagTypes[0];
@@ -3668,10 +3390,9 @@ var getCurrentTagType = function getCurrentTagType() {
3668
3390
 
3669
3391
  function useDebounce(value, delay) {
3670
3392
  var _useState = useState(value),
3671
- _useState2 = _slicedToArray(_useState, 2),
3672
- debouncedValue = _useState2[0],
3673
- setDebouncedValue = _useState2[1];
3674
-
3393
+ _useState2 = _slicedToArray(_useState, 2),
3394
+ debouncedValue = _useState2[0],
3395
+ setDebouncedValue = _useState2[1];
3675
3396
  useEffect(function () {
3676
3397
  var timer = setTimeout(function () {
3677
3398
  return setDebouncedValue(value);
@@ -4533,8 +4254,10 @@ var Query = /*#__PURE__*/function () {
4533
4254
  };
4534
4255
 
4535
4256
  _proto.clearGcTimeout = function clearGcTimeout() {
4536
- clearTimeout(this.gcTimeout);
4537
- this.gcTimeout = undefined;
4257
+ if (this.gcTimeout) {
4258
+ clearTimeout(this.gcTimeout);
4259
+ this.gcTimeout = undefined;
4260
+ }
4538
4261
  };
4539
4262
 
4540
4263
  _proto.optionalRemove = function optionalRemove() {
@@ -6183,13 +5906,17 @@ var QueryObserver = /*#__PURE__*/function (_Subscribable) {
6183
5906
  };
6184
5907
 
6185
5908
  _proto.clearStaleTimeout = function clearStaleTimeout() {
6186
- clearTimeout(this.staleTimeoutId);
6187
- this.staleTimeoutId = undefined;
5909
+ if (this.staleTimeoutId) {
5910
+ clearTimeout(this.staleTimeoutId);
5911
+ this.staleTimeoutId = undefined;
5912
+ }
6188
5913
  };
6189
5914
 
6190
5915
  _proto.clearRefetchInterval = function clearRefetchInterval() {
6191
- clearInterval(this.refetchIntervalId);
6192
- this.refetchIntervalId = undefined;
5916
+ if (this.refetchIntervalId) {
5917
+ clearInterval(this.refetchIntervalId);
5918
+ this.refetchIntervalId = undefined;
5919
+ }
6193
5920
  };
6194
5921
 
6195
5922
  _proto.createResult = function createResult(query, options) {
@@ -6833,9 +6560,9 @@ function useQuery(arg1, arg2, arg3) {
6833
6560
 
6834
6561
  var fetch = function fetch(_ref) {
6835
6562
  var url = _ref.url,
6836
- searchTerm = _ref.searchTerm,
6837
- limit = _ref.limit,
6838
- pageNo = _ref.pageNo;
6563
+ searchTerm = _ref.searchTerm,
6564
+ limit = _ref.limit,
6565
+ pageNo = _ref.pageNo;
6839
6566
  return axios.get(url, {
6840
6567
  params: {
6841
6568
  search_term: searchTerm,
@@ -6845,23 +6572,18 @@ var fetch = function fetch(_ref) {
6845
6572
  }
6846
6573
  });
6847
6574
  };
6848
-
6849
6575
  var create = function create(url, payload) {
6850
6576
  return axios.post(url, payload);
6851
6577
  };
6852
-
6853
6578
  var update = function update(url, id, payload) {
6854
6579
  return axios.put("".concat(url, "/").concat(id), payload);
6855
6580
  };
6856
-
6857
6581
  var destroy = function destroy(url, id) {
6858
6582
  return axios["delete"]("".concat(url, "/").concat(id));
6859
6583
  };
6860
-
6861
6584
  var merge = function merge(url, payload) {
6862
6585
  return axios.patch("".concat(url, "/merge"), payload);
6863
6586
  };
6864
-
6865
6587
  var tagsApi = {
6866
6588
  fetch: fetch,
6867
6589
  create: create,
@@ -6878,17 +6600,15 @@ var queryClient = new QueryClient({
6878
6600
  })
6879
6601
  });
6880
6602
 
6881
- function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6882
-
6883
- function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6603
+ function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6604
+ function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
6884
6605
  var TAG_KEY = "tag-key";
6885
6606
  var STALE_TIME = 3200000;
6886
-
6887
6607
  var useFetchTags = function useFetchTags(params) {
6888
6608
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
6889
6609
  return useQuery([TAG_KEY, Object.values(params)], function () {
6890
6610
  return tagsApi.fetch(params);
6891
- }, _objectSpread$4({
6611
+ }, _objectSpread$5({
6892
6612
  staleTime: STALE_TIME,
6893
6613
  select: function select(response) {
6894
6614
  return response.data || response;
@@ -6896,11 +6616,10 @@ var useFetchTags = function useFetchTags(params) {
6896
6616
  keepPreviousData: true
6897
6617
  }, options));
6898
6618
  };
6899
-
6900
6619
  var useCreateTag = function useCreateTag() {
6901
6620
  return useMutation(function (_ref) {
6902
6621
  var url = _ref.url,
6903
- payload = _ref.payload;
6622
+ payload = _ref.payload;
6904
6623
  return tagsApi.create(url, payload);
6905
6624
  }, {
6906
6625
  onSuccess: function onSuccess() {
@@ -6908,12 +6627,11 @@ var useCreateTag = function useCreateTag() {
6908
6627
  }
6909
6628
  });
6910
6629
  };
6911
-
6912
6630
  var useUpdateTag = function useUpdateTag() {
6913
6631
  return useMutation(function (_ref2) {
6914
6632
  var url = _ref2.url,
6915
- id = _ref2.id,
6916
- payload = _ref2.payload;
6633
+ id = _ref2.id,
6634
+ payload = _ref2.payload;
6917
6635
  return tagsApi.update(url, id, payload);
6918
6636
  }, {
6919
6637
  onSuccess: function onSuccess() {
@@ -6921,11 +6639,10 @@ var useUpdateTag = function useUpdateTag() {
6921
6639
  }
6922
6640
  });
6923
6641
  };
6924
-
6925
6642
  var useDeleteTag = function useDeleteTag() {
6926
6643
  return useMutation(function (_ref3) {
6927
6644
  var url = _ref3.url,
6928
- id = _ref3.id;
6645
+ id = _ref3.id;
6929
6646
  return tagsApi.destroy(url, id);
6930
6647
  }, {
6931
6648
  onSuccess: function onSuccess() {
@@ -6933,11 +6650,10 @@ var useDeleteTag = function useDeleteTag() {
6933
6650
  }
6934
6651
  });
6935
6652
  };
6936
-
6937
6653
  var useMergeTags = function useMergeTags() {
6938
6654
  return useMutation(function (_ref4) {
6939
6655
  var url = _ref4.url,
6940
- payload = _ref4.payload;
6656
+ payload = _ref4.payload;
6941
6657
  return tagsApi.merge(url, payload);
6942
6658
  }, {
6943
6659
  onSuccess: function onSuccess(_ref5) {
@@ -6947,7 +6663,6 @@ var useMergeTags = function useMergeTags() {
6947
6663
  }
6948
6664
  });
6949
6665
  };
6950
-
6951
6666
  var refetchTags = function refetchTags() {
6952
6667
  return queryClient.invalidateQueries([TAG_KEY]);
6953
6668
  };
@@ -6958,27 +6673,48 @@ var NO_DATA_PRIMARY_BUTTON_PROPS$1 = {
6958
6673
  what: instance.t("tag").toLocaleLowerCase()
6959
6674
  })
6960
6675
  };
6676
+ var TAG_NAME_MAX_LENGTH = 50;
6677
+ var TAG_DESCRIPTION_ROW_LENGTH = 3;
6678
+ var TAG_DESCRIPTION_MAX_LENGTH = 255;
6679
+ var TAG_SCHEMA = yup.object().shape({
6680
+ name: yup.string().typeError(instance.t("type", {
6681
+ what: instance.t("name"),
6682
+ type: instance.t("types.string")
6683
+ })).required(instance.t("required", {
6684
+ what: instance.t("name")
6685
+ })).max(TAG_NAME_MAX_LENGTH, instance.t("maxLength", {
6686
+ what: instance.t("name"),
6687
+ length: TAG_NAME_MAX_LENGTH
6688
+ })),
6689
+ description: yup.string().typeError(instance.t("type", {
6690
+ what: instance.t("description"),
6691
+ type: instance.t("types.string")
6692
+ })).nullable().max(TAG_DESCRIPTION_MAX_LENGTH, instance.t("maxLength", {
6693
+ what: instance.t("description"),
6694
+ length: TAG_DESCRIPTION_MAX_LENGTH
6695
+ }))
6696
+ });
6697
+ var TAGS_FORMIK_PROPS = {
6698
+ validateOnBlur: true,
6699
+ validateOnChange: true,
6700
+ validationSchema: TAG_SCHEMA
6701
+ };
6961
6702
 
6962
6703
  var useTagsForm = function useTagsForm(_ref) {
6963
6704
  var createTags = _ref.createTags,
6964
- goToFirstPage = _ref.goToFirstPage,
6965
- isEdit = _ref.isEdit,
6966
- onPaneClose = _ref.onPaneClose,
6967
- setHasSubmitted = _ref.setHasSubmitted,
6968
- tagType = _ref.tagType,
6969
- updateTags = _ref.updateTags;
6705
+ goToFirstPage = _ref.goToFirstPage,
6706
+ isEdit = _ref.isEdit,
6707
+ onClose = _ref.onClose,
6708
+ tagType = _ref.tagType,
6709
+ updateTags = _ref.updateTags;
6970
6710
  var tagModification = isEdit ? useUpdateTag : useCreateTag;
6971
6711
  var tagOperation = isEdit ? updateTags : createTags;
6972
-
6973
6712
  var _tagModification = tagModification(),
6974
- mutate = _tagModification.mutate,
6975
- isSubmitting = _tagModification.isLoading;
6976
-
6713
+ mutate = _tagModification.mutate,
6714
+ isSubmitting = _tagModification.isLoading;
6977
6715
  var handleSubmit = function handleSubmit(values, _ref2) {
6978
6716
  var _values$description;
6979
-
6980
6717
  var resetForm = _ref2.resetForm;
6981
- setHasSubmitted(true);
6982
6718
  values.description = values === null || values === void 0 ? void 0 : (_values$description = values.description) === null || _values$description === void 0 ? void 0 : _values$description.trim();
6983
6719
  var tagData = {
6984
6720
  payload: {
@@ -6986,73 +6722,56 @@ var useTagsForm = function useTagsForm(_ref) {
6986
6722
  }
6987
6723
  };
6988
6724
  tagData.url = tagType.url;
6989
-
6990
6725
  if (isEdit) {
6991
6726
  tagData.id = values.id;
6992
6727
  }
6993
-
6994
6728
  mutate(tagData, {
6995
6729
  onSuccess: function onSuccess() {
6996
6730
  var _tagOperation$onSucce;
6997
-
6998
6731
  !isEdit && goToFirstPage();
6999
6732
  tagOperation === null || tagOperation === void 0 ? void 0 : (_tagOperation$onSucce = tagOperation.onSuccess) === null || _tagOperation$onSucce === void 0 ? void 0 : _tagOperation$onSucce.callback();
7000
- onPaneClose();
6733
+ onClose();
7001
6734
  },
7002
6735
  onError: function onError() {
7003
6736
  resetForm();
7004
6737
  }
7005
6738
  });
7006
6739
  };
7007
-
7008
6740
  return {
7009
6741
  handleSubmit: handleSubmit,
7010
6742
  isSubmitting: isSubmitting
7011
6743
  };
7012
6744
  };
7013
6745
 
6746
+ function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
6747
+ function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7014
6748
  var ManageTags = function ManageTags(_ref) {
7015
6749
  var createTags = _ref.createTags,
7016
- goToFirstPage = _ref.goToFirstPage,
7017
- onClose = _ref.onClose,
7018
- tag = _ref.tag,
7019
- tagType = _ref.tagType,
7020
- type = _ref.type,
7021
- updateTags = _ref.updateTags;
7022
-
6750
+ goToFirstPage = _ref.goToFirstPage,
6751
+ onClose = _ref.onClose,
6752
+ tag = _ref.tag,
6753
+ tagType = _ref.tagType,
6754
+ type = _ref.type,
6755
+ updateTags = _ref.updateTags;
7023
6756
  var _useTranslation = useTranslation(),
7024
- t = _useTranslation.t;
7025
-
7026
- var _useState = useState(false),
7027
- _useState2 = _slicedToArray(_useState, 2),
7028
- hasSubmitted = _useState2[0],
7029
- setHasSubmitted = _useState2[1];
7030
-
6757
+ t = _useTranslation.t;
7031
6758
  var isEdit = type === PANE_TYPES.EDIT;
7032
- var initValues = isEdit ? tag : INITIAL_TAG_VALUES;
7033
- var inputRef = useRef(null);
7034
-
7035
- var onPaneClose = function onPaneClose() {
7036
- setHasSubmitted(false);
7037
- onClose();
7038
- };
7039
-
6759
+ var initialValues = isEdit ? tag : INITIAL_TAG_VALUES;
6760
+ var inputReference = useRef(null);
7040
6761
  var _useTagsForm = useTagsForm({
7041
- createTags: createTags,
7042
- goToFirstPage: goToFirstPage,
7043
- isEdit: isEdit,
7044
- onPaneClose: onPaneClose,
7045
- setHasSubmitted: setHasSubmitted,
7046
- tagType: tagType,
7047
- updateTags: updateTags
7048
- }),
7049
- handleSubmit = _useTagsForm.handleSubmit,
7050
- isSubmitting = _useTagsForm.isSubmitting;
7051
-
6762
+ createTags: createTags,
6763
+ goToFirstPage: goToFirstPage,
6764
+ isEdit: isEdit,
6765
+ onClose: onClose,
6766
+ tagType: tagType,
6767
+ updateTags: updateTags
6768
+ }),
6769
+ handleSubmit = _useTagsForm.handleSubmit,
6770
+ isSubmitting = _useTagsForm.isSubmitting;
7052
6771
  return /*#__PURE__*/React.createElement(Pane, {
7053
- initialFocusRef: inputRef,
6772
+ initialFocusRef: inputReference,
7054
6773
  isOpen: !!type,
7055
- onClose: onPaneClose
6774
+ onClose: onClose
7056
6775
  }, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
7057
6776
  style: "h2",
7058
6777
  weight: "semibold"
@@ -7060,32 +6779,28 @@ var ManageTags = function ManageTags(_ref) {
7060
6779
  what: t("tag").toLocaleLowerCase()
7061
6780
  }) : t("addNew", {
7062
6781
  what: t("tag").toLocaleLowerCase()
7063
- }))), /*#__PURE__*/React.createElement(Formik, {
7064
- initialValues: initValues,
7065
- onSubmit: handleSubmit,
7066
- validateOnBlur: hasSubmitted,
7067
- validateOnChange: hasSubmitted,
7068
- validationSchema: TAG_SCHEMA
6782
+ }))), /*#__PURE__*/React.createElement(Form, {
6783
+ formikProps: _objectSpread$4(_objectSpread$4({}, TAGS_FORMIK_PROPS), {}, {
6784
+ initialValues: initialValues,
6785
+ onSubmit: handleSubmit
6786
+ })
7069
6787
  }, function (_ref2) {
7070
6788
  var dirty = _ref2.dirty;
7071
- return /*#__PURE__*/React.createElement(Form, {
7072
- noValidate: true
7073
- }, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
7074
- className: "neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col"
6789
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
6790
+ className: "neeto-ui-flex neeto-ui-w-full neeto-ui-flex-col neeto-ui-gap-4"
7075
6791
  }, /*#__PURE__*/React.createElement(Input, {
7076
6792
  required: true,
7077
6793
  name: "name",
7078
- label: "".concat(t("tag"), " ").concat(t("name").toLocaleLowerCase()),
6794
+ label: t("name"),
7079
6795
  "data-cy": "tag-name-text-field",
7080
- maxLength: 50,
7081
- className: "neeto-ui-mb-4",
7082
- ref: inputRef
6796
+ maxLength: TAG_NAME_MAX_LENGTH,
6797
+ ref: inputReference
7083
6798
  }), /*#__PURE__*/React.createElement(Textarea, {
7084
6799
  name: "description",
7085
6800
  label: t("description"),
7086
- rows: 3,
6801
+ rows: TAG_DESCRIPTION_ROW_LENGTH,
7087
6802
  "data-cy": "tag-description-text-area",
7088
- maxLength: 255
6803
+ maxLength: TAG_DESCRIPTION_MAX_LENGTH
7089
6804
  }))), /*#__PURE__*/React.createElement(Pane.Footer, {
7090
6805
  className: "neeto-ui-gap-2"
7091
6806
  }, /*#__PURE__*/React.createElement(Button, {
@@ -7093,15 +6808,12 @@ var ManageTags = function ManageTags(_ref) {
7093
6808
  disabled: !dirty || isSubmitting,
7094
6809
  label: t("saveChanges"),
7095
6810
  loading: isSubmitting,
7096
- onClick: function onClick() {
7097
- return setHasSubmitted(true);
7098
- },
7099
6811
  style: "primary",
7100
6812
  type: "submit"
7101
6813
  }), /*#__PURE__*/React.createElement(Button, {
7102
6814
  "data-cy": "neeto-tags-manage-tag-cancel-button",
7103
6815
  label: t("cancel"),
7104
- onClick: onPaneClose,
6816
+ onClick: onClose,
7105
6817
  style: "text"
7106
6818
  })));
7107
6819
  }));
@@ -7116,98 +6828,79 @@ var getHelpText = function getHelpText(url) {
7116
6828
  };
7117
6829
 
7118
6830
  function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7119
-
7120
6831
  function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7121
-
7122
6832
  var Dashboard = function Dashboard(_ref) {
7123
6833
  var _data$tags2, _tagType$label;
7124
-
7125
6834
  var breadcrumbs = _ref.breadcrumbs,
7126
- createTags = _ref.createTags,
7127
- deleteTags = _ref.deleteTags,
7128
- displayMenu = _ref.displayMenu,
7129
- handleMenuToggle = _ref.handleMenuToggle,
7130
- kbArticleUrl = _ref.kbArticleUrl,
7131
- onTagRowClick = _ref.onTagRowClick,
7132
- _ref$tagsMergable = _ref.tagsMergable,
7133
- tagsMergable = _ref$tagsMergable === void 0 ? false : _ref$tagsMergable,
7134
- tagsPath = _ref.tagsPath,
7135
- tagType = _ref.tagType,
7136
- updateTags = _ref.updateTags;
7137
-
6835
+ createTags = _ref.createTags,
6836
+ deleteTags = _ref.deleteTags,
6837
+ displayMenu = _ref.displayMenu,
6838
+ handleMenuToggle = _ref.handleMenuToggle,
6839
+ kbArticleUrl = _ref.kbArticleUrl,
6840
+ onTagRowClick = _ref.onTagRowClick,
6841
+ _ref$tagsMergable = _ref.tagsMergable,
6842
+ tagsMergable = _ref$tagsMergable === void 0 ? false : _ref$tagsMergable,
6843
+ tagsPath = _ref.tagsPath,
6844
+ tagType = _ref.tagType,
6845
+ updateTags = _ref.updateTags;
7138
6846
  var _useState = useState(null),
7139
- _useState2 = _slicedToArray(_useState, 2),
7140
- selectedTag = _useState2[0],
7141
- setSelectedTag = _useState2[1];
7142
-
6847
+ _useState2 = _slicedToArray(_useState, 2),
6848
+ selectedTag = _useState2[0],
6849
+ setSelectedTag = _useState2[1];
7143
6850
  var _useState3 = useState(""),
7144
- _useState4 = _slicedToArray(_useState3, 2),
7145
- searchTerm = _useState4[0],
7146
- setSearchTerm = _useState4[1];
7147
-
6851
+ _useState4 = _slicedToArray(_useState3, 2),
6852
+ searchTerm = _useState4[0],
6853
+ setSearchTerm = _useState4[1];
7148
6854
  var _useState5 = useState(DEFAULT_PAGE_INDEX),
7149
- _useState6 = _slicedToArray(_useState5, 2),
7150
- pageIndex = _useState6[0],
7151
- setPageIndex = _useState6[1];
7152
-
6855
+ _useState6 = _slicedToArray(_useState5, 2),
6856
+ pageIndex = _useState6[0],
6857
+ setPageIndex = _useState6[1];
7153
6858
  var _useState7 = useState(null),
7154
- _useState8 = _slicedToArray(_useState7, 2),
7155
- paneType = _useState8[0],
7156
- setPaneType = _useState8[1];
7157
-
6859
+ _useState8 = _slicedToArray(_useState7, 2),
6860
+ paneType = _useState8[0],
6861
+ setPaneType = _useState8[1];
7158
6862
  var _useState9 = useState(false),
7159
- _useState10 = _slicedToArray(_useState9, 2),
7160
- isDeleteAlertOpen = _useState10[0],
7161
- setIsDeleteAlertOpen = _useState10[1];
7162
-
6863
+ _useState10 = _slicedToArray(_useState9, 2),
6864
+ isDeleteAlertOpen = _useState10[0],
6865
+ setIsDeleteAlertOpen = _useState10[1];
7163
6866
  var debouncedSearchTerm = useDebounce(searchTerm, 500);
7164
-
7165
6867
  var _useFetchTags = useFetchTags({
7166
- url: tagType.url,
7167
- searchTerm: debouncedSearchTerm.trim(),
7168
- limit: DEFAULT_PAGE_SIZE,
7169
- pageNo: pageIndex
7170
- }),
7171
- data = _useFetchTags.data,
7172
- isLoading = _useFetchTags.isLoading;
7173
-
6868
+ url: tagType.url,
6869
+ searchTerm: debouncedSearchTerm.trim(),
6870
+ limit: DEFAULT_PAGE_SIZE,
6871
+ pageNo: pageIndex
6872
+ }),
6873
+ data = _useFetchTags.data,
6874
+ isLoading = _useFetchTags.isLoading;
7174
6875
  var _useTranslation = useTranslation(),
7175
- t = _useTranslation.t;
7176
-
6876
+ t = _useTranslation.t;
7177
6877
  var history = useHistory();
7178
-
7179
6878
  var primaryButtonProps = _objectSpread$3(_objectSpread$3({}, NO_DATA_PRIMARY_BUTTON_PROPS$1), {}, {
7180
6879
  onClick: function onClick() {
7181
6880
  setSelectedTag(null);
7182
6881
  setPaneType(PANE_TYPES.CREATE);
7183
6882
  }
7184
6883
  });
7185
-
7186
6884
  var goToFirstPage = function goToFirstPage() {
7187
6885
  if (pageIndex !== DEFAULT_PAGE_INDEX) {
7188
6886
  setPageIndex(DEFAULT_PAGE_INDEX);
7189
6887
  }
7190
6888
  };
7191
-
7192
6889
  var handleEdit = function handleEdit(tag) {
7193
6890
  setSelectedTag(tag);
7194
6891
  setPaneType(PANE_TYPES.EDIT);
7195
6892
  };
7196
-
7197
6893
  var handleDelete = function handleDelete(tag) {
7198
6894
  setSelectedTag(tag);
7199
6895
  setIsDeleteAlertOpen(true);
7200
6896
  };
7201
-
7202
6897
  var handleAlertClose = function handleAlertClose() {
7203
6898
  setIsDeleteAlertOpen(false);
7204
6899
  setSelectedTag(null);
7205
6900
  };
7206
-
7207
6901
  var _useDeleteTag = useDeleteTag(),
7208
- mutate = _useDeleteTag.mutate,
7209
- isDeletingTag = _useDeleteTag.isLoading;
7210
-
6902
+ mutate = _useDeleteTag.mutate,
6903
+ isDeletingTag = _useDeleteTag.isLoading;
7211
6904
  var handleConfirmDelete = function handleConfirmDelete() {
7212
6905
  var payload = {
7213
6906
  url: tagType.url,
@@ -7217,15 +6910,12 @@ var Dashboard = function Dashboard(_ref) {
7217
6910
  isNotDeleting && mutate(payload, {
7218
6911
  onSuccess: function onSuccess() {
7219
6912
  var _data$tags, _deleteTags$onSuccess;
7220
-
7221
6913
  setIsDeleteAlertOpen(false);
7222
-
7223
6914
  if ((data === null || data === void 0 ? void 0 : (_data$tags = data.tags) === null || _data$tags === void 0 ? void 0 : _data$tags.length) === 1) {
7224
6915
  setPageIndex(function (pageIndex) {
7225
6916
  return pageIndex - 1;
7226
6917
  });
7227
6918
  }
7228
-
7229
6919
  deleteTags === null || deleteTags === void 0 ? void 0 : (_deleteTags$onSuccess = deleteTags.onSuccess) === null || _deleteTags$onSuccess === void 0 ? void 0 : _deleteTags$onSuccess.callback();
7230
6920
  Toastr.success(t("deleteSuccess"));
7231
6921
  },
@@ -7235,13 +6925,11 @@ var Dashboard = function Dashboard(_ref) {
7235
6925
  }
7236
6926
  });
7237
6927
  };
7238
-
7239
6928
  if (isLoading) {
7240
6929
  return /*#__PURE__*/React.createElement("div", {
7241
6930
  className: "neeto-ui-w-full neeto-ui-h-screen"
7242
6931
  }, /*#__PURE__*/React.createElement(PageLoader, null));
7243
6932
  }
7244
-
7245
6933
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Container, {
7246
6934
  isHeaderFixed: true
7247
6935
  }, /*#__PURE__*/React.createElement(Header, {
@@ -7352,26 +7040,22 @@ var NO_DATA_PRIMARY_BUTTON_PROPS = {
7352
7040
 
7353
7041
  var List = function List(_ref) {
7354
7042
  var _ref$tagList = _ref.tagList,
7355
- tagList = _ref$tagList === void 0 ? [] : _ref$tagList,
7356
- onSelect = _ref.onSelect,
7357
- selectedCounterTagId = _ref.selectedCounterTagId,
7358
- selectedTagId = _ref.selectedTagId,
7359
- type = _ref.type,
7360
- isSource = _ref.isSource;
7361
-
7043
+ tagList = _ref$tagList === void 0 ? [] : _ref$tagList,
7044
+ onSelect = _ref.onSelect,
7045
+ selectedCounterTagId = _ref.selectedCounterTagId,
7046
+ selectedTagId = _ref.selectedTagId,
7047
+ type = _ref.type,
7048
+ isSource = _ref.isSource;
7362
7049
  var _useTranslation = useTranslation(),
7363
- t = _useTranslation.t;
7364
-
7050
+ t = _useTranslation.t;
7365
7051
  var _useState = useState([]),
7366
- _useState2 = _slicedToArray(_useState, 2),
7367
- tags = _useState2[0],
7368
- setTags = _useState2[1];
7369
-
7052
+ _useState2 = _slicedToArray(_useState, 2),
7053
+ tags = _useState2[0],
7054
+ setTags = _useState2[1];
7370
7055
  var _useState3 = useState(""),
7371
- _useState4 = _slicedToArray(_useState3, 2),
7372
- searchTerm = _useState4[0],
7373
- setSearchTerm = _useState4[1];
7374
-
7056
+ _useState4 = _slicedToArray(_useState3, 2),
7057
+ searchTerm = _useState4[0],
7058
+ setSearchTerm = _useState4[1];
7375
7059
  var listType = isSource ? "source" : "destination";
7376
7060
  useEffect(function () {
7377
7061
  var filteredTags = tagList.filter(function (_ref2) {
@@ -7425,63 +7109,52 @@ var unusualPlurals = {
7425
7109
  person: "people",
7426
7110
  woman: "women"
7427
7111
  };
7428
-
7429
7112
  var pluralize = function pluralize(_ref) {
7430
7113
  var _ref$count = _ref.count,
7431
- count = _ref$count === void 0 ? 0 : _ref$count,
7432
- _ref$singular = _ref.singular,
7433
- singular = _ref$singular === void 0 ? "" : _ref$singular,
7434
- _ref$plural = _ref.plural,
7435
- plural = _ref$plural === void 0 ? "" : _ref$plural,
7436
- _ref$zero = _ref.zero,
7437
- zero = _ref$zero === void 0 ? false : _ref$zero,
7438
- _ref$skipCount = _ref.skipCount,
7439
- skipCount = _ref$skipCount === void 0 ? false : _ref$skipCount;
7440
-
7114
+ count = _ref$count === void 0 ? 0 : _ref$count,
7115
+ _ref$singular = _ref.singular,
7116
+ singular = _ref$singular === void 0 ? "" : _ref$singular,
7117
+ _ref$plural = _ref.plural,
7118
+ plural = _ref$plural === void 0 ? "" : _ref$plural,
7119
+ _ref$zero = _ref.zero,
7120
+ zero = _ref$zero === void 0 ? false : _ref$zero,
7121
+ _ref$skipCount = _ref.skipCount,
7122
+ skipCount = _ref$skipCount === void 0 ? false : _ref$skipCount;
7441
7123
  var pluralString = function pluralString() {
7442
7124
  if (plural) return plural;
7443
7125
  var str = unusualPlurals[singular];
7444
7126
  if (str) return str;
7445
7127
  return "".concat(singular, "s");
7446
7128
  };
7447
-
7448
7129
  var resultText = "";
7449
7130
  if (!skipCount) resultText += "".concat(count, " ");
7450
-
7451
7131
  switch (count) {
7452
7132
  case 0:
7453
7133
  if (zero) return zero;
7454
7134
  resultText += pluralString();
7455
7135
  break;
7456
-
7457
7136
  case 1:
7458
7137
  resultText += singular;
7459
7138
  break;
7460
-
7461
7139
  default:
7462
7140
  resultText += pluralString();
7463
7141
  break;
7464
7142
  }
7465
-
7466
7143
  return resultText;
7467
7144
  };
7468
7145
 
7469
7146
  function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7470
-
7471
7147
  function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7472
-
7473
7148
  var MergeAlert = function MergeAlert(_ref) {
7474
7149
  var sourceTag = _ref.sourceTag,
7475
- destinationTag = _ref.destinationTag,
7476
- showModal = _ref.showModal,
7477
- setShowModal = _ref.setShowModal,
7478
- tagType = _ref.tagType,
7479
- handleSubmit = _ref.handleSubmit,
7480
- isSubmitting = _ref.isSubmitting;
7481
-
7150
+ destinationTag = _ref.destinationTag,
7151
+ showModal = _ref.showModal,
7152
+ setShowModal = _ref.setShowModal,
7153
+ tagType = _ref.tagType,
7154
+ handleSubmit = _ref.handleSubmit,
7155
+ isSubmitting = _ref.isSubmitting;
7482
7156
  var _useTranslation = useTranslation(),
7483
- t = _useTranslation.t;
7484
-
7157
+ t = _useTranslation.t;
7485
7158
  return /*#__PURE__*/React.createElement(Modal, {
7486
7159
  isOpen: showModal,
7487
7160
  onClose: function onClose() {
@@ -7523,63 +7196,50 @@ var MergeAlert = function MergeAlert(_ref) {
7523
7196
  };
7524
7197
 
7525
7198
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7526
-
7527
7199
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7528
-
7529
7200
  var Merge = function Merge(_ref) {
7530
7201
  var _data$tags;
7531
-
7532
7202
  var breadcrumbs = _ref.breadcrumbs,
7533
- displayMenu = _ref.displayMenu,
7534
- handleMenuToggle = _ref.handleMenuToggle,
7535
- kbArticleUrl = _ref.kbArticleUrl,
7536
- mergeTags = _ref.mergeTags,
7537
- tagsPath = _ref.tagsPath,
7538
- tagType = _ref.tagType;
7539
-
7203
+ displayMenu = _ref.displayMenu,
7204
+ handleMenuToggle = _ref.handleMenuToggle,
7205
+ kbArticleUrl = _ref.kbArticleUrl,
7206
+ mergeTags = _ref.mergeTags,
7207
+ tagsPath = _ref.tagsPath,
7208
+ tagType = _ref.tagType;
7540
7209
  var _useState = useState({}),
7541
- _useState2 = _slicedToArray(_useState, 2),
7542
- sourceTag = _useState2[0],
7543
- setSourceTag = _useState2[1];
7544
-
7210
+ _useState2 = _slicedToArray(_useState, 2),
7211
+ sourceTag = _useState2[0],
7212
+ setSourceTag = _useState2[1];
7545
7213
  var _useState3 = useState({}),
7546
- _useState4 = _slicedToArray(_useState3, 2),
7547
- destinationTag = _useState4[0],
7548
- setDestinationTag = _useState4[1];
7549
-
7214
+ _useState4 = _slicedToArray(_useState3, 2),
7215
+ destinationTag = _useState4[0],
7216
+ setDestinationTag = _useState4[1];
7550
7217
  var _useState5 = useState(false),
7551
- _useState6 = _slicedToArray(_useState5, 2),
7552
- isModalOpen = _useState6[0],
7553
- setIsModalOpen = _useState6[1];
7554
-
7218
+ _useState6 = _slicedToArray(_useState5, 2),
7219
+ isModalOpen = _useState6[0],
7220
+ setIsModalOpen = _useState6[1];
7555
7221
  var _useTranslation = useTranslation(),
7556
- t = _useTranslation.t;
7557
-
7222
+ t = _useTranslation.t;
7558
7223
  var history = useHistory();
7559
-
7560
7224
  var _useFetchTags = useFetchTags({
7561
- url: tagType.url
7562
- }),
7563
- data = _useFetchTags.data,
7564
- isLoading = _useFetchTags.isLoading;
7565
-
7225
+ url: tagType.url
7226
+ }),
7227
+ data = _useFetchTags.data,
7228
+ isLoading = _useFetchTags.isLoading;
7566
7229
  var _useMergeTags = useMergeTags(),
7567
- mutate = _useMergeTags.mutate,
7568
- isSubmitting = _useMergeTags.isLoading;
7569
-
7230
+ mutate = _useMergeTags.mutate,
7231
+ isSubmitting = _useMergeTags.isLoading;
7570
7232
  var primaryButtonProps = _objectSpread$1(_objectSpread$1({}, NO_DATA_PRIMARY_BUTTON_PROPS), {}, {
7571
7233
  onClick: function onClick() {
7572
7234
  return history.push(tagsPath);
7573
7235
  }
7574
7236
  });
7575
-
7576
7237
  var updatedBreadcrumbs = useMemo(function () {
7577
7238
  return [].concat(_toConsumableArray(breadcrumbs), [{
7578
7239
  text: tagType.label,
7579
7240
  link: tagsPath
7580
7241
  }]);
7581
7242
  }, [breadcrumbs, tagsPath]);
7582
-
7583
7243
  var handleSubmit = function handleSubmit() {
7584
7244
  var payload = {
7585
7245
  tags: {
@@ -7593,7 +7253,6 @@ var Merge = function Merge(_ref) {
7593
7253
  }, {
7594
7254
  onSuccess: function onSuccess() {
7595
7255
  var _mergeTags$onSuccess;
7596
-
7597
7256
  setDestinationTag("");
7598
7257
  setSourceTag("");
7599
7258
  mergeTags === null || mergeTags === void 0 ? void 0 : (_mergeTags$onSuccess = mergeTags.onSuccess) === null || _mergeTags$onSuccess === void 0 ? void 0 : _mergeTags$onSuccess.callback();
@@ -7601,13 +7260,11 @@ var Merge = function Merge(_ref) {
7601
7260
  }
7602
7261
  });
7603
7262
  };
7604
-
7605
7263
  if (isLoading) {
7606
7264
  return /*#__PURE__*/React.createElement("div", {
7607
7265
  className: "neeto-ui-w-full neeto-ui-h-screen"
7608
7266
  }, /*#__PURE__*/React.createElement(PageLoader, null));
7609
7267
  }
7610
-
7611
7268
  return /*#__PURE__*/React.createElement("div", {
7612
7269
  className: "neeto-ui-w-full"
7613
7270
  }, /*#__PURE__*/React.createElement(Container, {
@@ -7670,7 +7327,6 @@ var Merge = function Merge(_ref) {
7670
7327
  var renderComponent = function renderComponent(Component, props) {
7671
7328
  return /*#__PURE__*/React.createElement(Component, props);
7672
7329
  };
7673
-
7674
7330
  var createRoutes = function createRoutes(props) {
7675
7331
  return [{
7676
7332
  component: function component() {
@@ -7689,13 +7345,11 @@ var createRoutes = function createRoutes(props) {
7689
7345
 
7690
7346
  var Menu = function Menu(_ref) {
7691
7347
  var tagTypes = _ref.tagTypes,
7692
- showMenu = _ref.showMenu,
7693
- tagType = _ref.tagType,
7694
- setTagType = _ref.setTagType;
7695
-
7348
+ showMenu = _ref.showMenu,
7349
+ tagType = _ref.tagType,
7350
+ setTagType = _ref.setTagType;
7696
7351
  var _useTranslation = useTranslation(),
7697
- t = _useTranslation.t;
7698
-
7352
+ t = _useTranslation.t;
7699
7353
  return /*#__PURE__*/React.createElement(MenuBar, {
7700
7354
  showMenu: showMenu,
7701
7355
  title: t("title")
@@ -7712,7 +7366,11 @@ var Menu = function Menu(_ref) {
7712
7366
  }));
7713
7367
  };
7714
7368
 
7715
- var devtools = {exports: {}};
7369
+ var devtoolsExports = {};
7370
+ var devtools = {
7371
+ get exports(){ return devtoolsExports; },
7372
+ set exports(v){ devtoolsExports = v; },
7373
+ };
7716
7374
 
7717
7375
  {
7718
7376
  devtools.exports = {
@@ -7729,41 +7387,34 @@ var withReactQuery = function withReactQuery(Component) {
7729
7387
  var QueryWrapper = function QueryWrapper(props) {
7730
7388
  return /*#__PURE__*/React.createElement(QueryClientProvider, {
7731
7389
  client: queryClient
7732
- }, /*#__PURE__*/React.createElement(Component, props), /*#__PURE__*/React.createElement(devtools.exports.ReactQueryDevtools, {
7390
+ }, /*#__PURE__*/React.createElement(Component, props), /*#__PURE__*/React.createElement(devtoolsExports.ReactQueryDevtools, {
7733
7391
  initialIsOpen: false,
7734
7392
  position: "bottom-right"
7735
7393
  }));
7736
7394
  };
7737
-
7738
7395
  return QueryWrapper;
7739
7396
  };
7740
7397
 
7741
7398
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
7742
-
7743
7399
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty$1(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7744
-
7745
7400
  var Tags = function Tags(_ref) {
7746
7401
  var config = _ref.config;
7747
7402
  var tagTypes = config.tagTypes,
7748
- _config$displayMenu = config.displayMenu,
7749
- displayMenu = _config$displayMenu === void 0 ? true : _config$displayMenu;
7750
-
7403
+ _config$displayMenu = config.displayMenu,
7404
+ displayMenu = _config$displayMenu === void 0 ? true : _config$displayMenu;
7751
7405
  var _useState = useState(getCurrentTagType(tagTypes)),
7752
- _useState2 = _slicedToArray(_useState, 2),
7753
- tagType = _useState2[0],
7754
- setTagType = _useState2[1];
7755
-
7406
+ _useState2 = _slicedToArray(_useState, 2),
7407
+ tagType = _useState2[0],
7408
+ setTagType = _useState2[1];
7756
7409
  var _useState3 = useState(false),
7757
- _useState4 = _slicedToArray(_useState3, 2),
7758
- isMenuOpen = _useState4[0],
7759
- setIsMenuOpen = _useState4[1];
7760
-
7410
+ _useState4 = _slicedToArray(_useState3, 2),
7411
+ isMenuOpen = _useState4[0],
7412
+ setIsMenuOpen = _useState4[1];
7761
7413
  var handleMenuToggle = function handleMenuToggle() {
7762
7414
  return setIsMenuOpen(function (isMenuOpen) {
7763
7415
  return !isMenuOpen;
7764
7416
  });
7765
7417
  };
7766
-
7767
7418
  var routes = createRoutes(_objectSpread(_objectSpread({}, config), {}, {
7768
7419
  handleMenuToggle: handleMenuToggle,
7769
7420
  displayMenu: displayMenu,
@@ -7778,8 +7429,8 @@ var Tags = function Tags(_ref) {
7778
7429
  setTagType: setTagType
7779
7430
  }), /*#__PURE__*/React.createElement(Switch, null, routes.map(function (_ref2) {
7780
7431
  var exact = _ref2.exact,
7781
- path = _ref2.path,
7782
- component = _ref2.component;
7432
+ path = _ref2.path,
7433
+ component = _ref2.component;
7783
7434
  return /*#__PURE__*/React.createElement(Route, {
7784
7435
  key: path,
7785
7436
  exact: exact,
@@ -7788,7 +7439,6 @@ var Tags = function Tags(_ref) {
7788
7439
  });
7789
7440
  })));
7790
7441
  };
7791
-
7792
7442
  var Tags$1 = withReactQuery(Tags);
7793
7443
 
7794
7444
  var App = function App(_ref) {