react-i18next 11.5.1 → 11.7.2

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/CHANGELOG.md CHANGED
@@ -1,3 +1,19 @@
1
+ ### 11.7.2
2
+
3
+ - Avoid setState while react is rendering [1165](https://github.com/i18next/react-i18next/pull/1165)
4
+
5
+ ### 11.7.1
6
+
7
+ - typescript: fix: typescript definition of context object [1160](https://github.com/i18next/react-i18next/pull/1160)
8
+
9
+ ### 11.7.0
10
+
11
+ - Trans interpolating self-closing tags in components prop(object) [1140](https://github.com/i18next/react-i18next/pull/1140)
12
+
13
+ ### 11.6.0
14
+
15
+ - Trans allow components props to be an object containing named interpolation elements
16
+
1
17
  ### 11.5.1
2
18
 
3
19
  - providing filename when running babel.parse in icu.macro [1133](https://github.com/i18next/react-i18next/pull/1133)
package/README.md CHANGED
@@ -81,7 +81,7 @@ Head over to the **interactive playground** at [codesandbox](https://codesandbox
81
81
  - **Production ready** we know there are more needs for production than just doing i18n on the clientside, so we offer wider support on [serverside](https://www.i18next.com/supported-frameworks.html) too (nodejs, php, ruby, .net, ...). **Learn once - translate everywhere**.
82
82
  - **Beyond i18n** comes with [locize](https://locize.com) bridging the gap between developement and translations - covering the whole translation process.
83
83
 
84
- <img src="https://blobscdn.gitbook.com/v0/b/gitbook-28427.appspot.com/o/assets%2F-L9iS6Wm2hynS5H9Gj7j%2F-L9iS7LlT2W7wFtJH-2n%2F-L9iSBP9U65-bHJBRSDv%2Fi18next-ecosystem.jpg?generation=1523345318122913&alt=media" alt="i18next ecossystem" width="400">
84
+ ![ecosystem](https://raw.githubusercontent.com/i18next/i18next/master/assets/i18next-ecosystem.jpg)
85
85
 
86
86
  ### Localization workflow
87
87
 
@@ -3,6 +3,8 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
3
3
  var React__default = 'default' in React ? React['default'] : React;
4
4
 
5
5
  function _typeof(obj) {
6
+ "@babel/helpers - typeof";
7
+
6
8
  if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
7
9
  _typeof = function (obj) {
8
10
  return typeof obj;
@@ -72,13 +74,13 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
72
74
  var source = arguments[i] != null ? arguments[i] : {};
73
75
 
74
76
  if (i % 2) {
75
- ownKeys(source, true).forEach(function (key) {
77
+ ownKeys(Object(source), true).forEach(function (key) {
76
78
  _defineProperty(target, key, source[key]);
77
79
  });
78
80
  } else if (Object.getOwnPropertyDescriptors) {
79
81
  Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
80
82
  } else {
81
- ownKeys(source).forEach(function (key) {
83
+ ownKeys(Object(source)).forEach(function (key) {
82
84
  Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
83
85
  });
84
86
  }
@@ -124,7 +126,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
124
126
  }
125
127
 
126
128
  function _slicedToArray(arr, i) {
127
- return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
129
+ return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
128
130
  }
129
131
 
130
132
  function _arrayWithHoles(arr) {
@@ -132,10 +134,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
132
134
  }
133
135
 
134
136
  function _iterableToArrayLimit(arr, i) {
135
- if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) {
136
- return;
137
- }
138
-
137
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
139
138
  var _arr = [];
140
139
  var _n = true;
141
140
  var _d = false;
@@ -161,8 +160,25 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
161
160
  return _arr;
162
161
  }
163
162
 
163
+ function _unsupportedIterableToArray(o, minLen) {
164
+ if (!o) return;
165
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
166
+ var n = Object.prototype.toString.call(o).slice(8, -1);
167
+ if (n === "Object" && o.constructor) n = o.constructor.name;
168
+ if (n === "Map" || n === "Set") return Array.from(o);
169
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
170
+ }
171
+
172
+ function _arrayLikeToArray(arr, len) {
173
+ if (len == null || len > arr.length) len = arr.length;
174
+
175
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
176
+
177
+ return arr2;
178
+ }
179
+
164
180
  function _nonIterableRest() {
165
- throw new TypeError("Invalid attempt to destructure non-iterable instance");
181
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
166
182
  }
167
183
 
168
184
  var voidElements = {
@@ -377,7 +393,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
377
393
  var I18nContext = React__default.createContext();
378
394
  function setDefaults() {
379
395
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
380
- defaultOptions = _objectSpread2({}, defaultOptions, {}, options);
396
+ defaultOptions = _objectSpread2(_objectSpread2({}, defaultOptions), options);
381
397
  }
382
398
  function getDefaults() {
383
399
  return defaultOptions;
@@ -427,7 +443,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
427
443
 
428
444
  if (ForComponent.getInitialProps) {
429
445
  ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {
430
- resolve(_objectSpread2({}, componentsInitialProps, {}, i18nInitialProps));
446
+ resolve(_objectSpread2(_objectSpread2({}, componentsInitialProps), i18nInitialProps));
431
447
  });
432
448
  } else {
433
449
  resolve(i18nInitialProps);
@@ -518,8 +534,11 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
518
534
  return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');
519
535
  }
520
536
 
521
- function hasChildren(node) {
522
- return node && (node.children || node.props && node.props.children);
537
+ function hasChildren(node, checkLength) {
538
+ if (!node) return false;
539
+ var base = node.props ? node.props.children : node.children;
540
+ if (checkLength) return base.length > 0;
541
+ return !!base;
523
542
  }
524
543
 
525
544
  function getChildren(node) {
@@ -605,67 +624,84 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
605
624
  }
606
625
 
607
626
  getData(children);
608
- var interpolatedString = i18n.services.interpolator.interpolate(targetString, _objectSpread2({}, data, {}, combinedTOpts), i18n.language);
627
+ var interpolatedString = i18n.services.interpolator.interpolate(targetString, _objectSpread2(_objectSpread2({}, data), combinedTOpts), i18n.language);
609
628
  var ast = htmlParseStringify2.parse("<0>".concat(interpolatedString, "</0>"));
610
629
 
611
- function mapAST(reactNode, astNode) {
630
+ function renderInner(child, node, rootReactNode) {
631
+ var childs = getChildren(child);
632
+ var mappedChildren = mapAST(childs, node.children, rootReactNode);
633
+ return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
634
+ }
635
+
636
+ function pushTranslatedJSX(child, inner, mem, i) {
637
+ if (child.dummy) child.children = inner;
638
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
639
+ key: i
640
+ }), inner));
641
+ }
642
+
643
+ function mapAST(reactNode, astNode, rootReactNode) {
612
644
  var reactNodes = getAsArray(reactNode);
613
645
  var astNodes = getAsArray(astNode);
614
646
  return astNodes.reduce(function (mem, node, i) {
615
647
  var translationContent = node.children && node.children[0] && node.children[0].content;
616
648
 
617
649
  if (node.type === 'tag') {
618
- var tmp = reactNodes[parseInt(node.name, 10)] || {};
650
+ var tmp = reactNodes[parseInt(node.name, 10)];
651
+ if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
652
+ if (!tmp) tmp = {};
619
653
  var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
620
654
  props: node.attrs
621
655
  }, tmp) : tmp;
622
656
  var isElement = React__default.isValidElement(child);
657
+ var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
658
+ var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;
659
+ var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
623
660
 
624
661
  if (typeof child === 'string') {
625
662
  mem.push(child);
626
- } else if (hasChildren(child)) {
627
- var childs = getChildren(child);
628
- var mappedChildren = mapAST(childs, node.children);
629
- var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
630
- if (child.dummy) child.children = inner;
631
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
632
- key: i
633
- }), inner));
634
- } else if (emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement) {
635
- var _inner = mapAST(reactNodes, node.children);
663
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
664
+ var inner = renderInner(child, node, rootReactNode);
665
+ pushTranslatedJSX(child, inner, mem, i);
666
+ } else if (isEmptyTransWithHTML) {
667
+ var _inner = mapAST(reactNodes, node.children, rootReactNode);
636
668
 
637
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
669
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
638
670
  key: i
639
671
  }), _inner));
640
672
  } else if (Number.isNaN(parseFloat(node.name))) {
641
- if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
673
+ if (isKnownComponent) {
674
+ var _inner2 = renderInner(child, node, rootReactNode);
675
+
676
+ pushTranslatedJSX(child, _inner2, mem, i);
677
+ } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
642
678
  if (node.voidElement) {
643
679
  mem.push(React__default.createElement(node.name, {
644
680
  key: "".concat(node.name, "-").concat(i)
645
681
  }));
646
682
  } else {
647
- var _inner2 = mapAST(reactNodes, node.children);
683
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
648
684
 
649
685
  mem.push(React__default.createElement(node.name, {
650
686
  key: "".concat(node.name, "-").concat(i)
651
- }, _inner2));
687
+ }, _inner3));
652
688
  }
653
689
  } else if (node.voidElement) {
654
690
  mem.push("<".concat(node.name, " />"));
655
691
  } else {
656
- var _inner3 = mapAST(reactNodes, node.children);
692
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
657
693
 
658
- mem.push("<".concat(node.name, ">").concat(_inner3, "</").concat(node.name, ">"));
694
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
659
695
  }
660
696
  } else if (_typeof(child) === 'object' && !isElement) {
661
697
  var content = node.children[0] ? translationContent : null;
662
698
  if (content) mem.push(content);
663
699
  } else if (node.children.length === 1 && translationContent) {
664
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
700
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
665
701
  key: i
666
702
  }), translationContent));
667
703
  } else {
668
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
704
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
669
705
  key: i
670
706
  })));
671
707
  }
@@ -680,7 +716,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
680
716
  var result = mapAST([{
681
717
  dummy: true,
682
718
  children: children
683
- }], ast);
719
+ }], ast, getAsArray(children || []));
684
720
  return getChildren(result[0]);
685
721
  }
686
722
 
@@ -705,7 +741,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
705
741
  var i18n = i18nFromProps || i18nFromContext || getI18n();
706
742
 
707
743
  if (!i18n) {
708
- warnOnce('You will need pass in an i18next instance by using i18nextReactModule');
744
+ warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
709
745
  return children;
710
746
  }
711
747
 
@@ -713,7 +749,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
713
749
  return k;
714
750
  };
715
751
 
716
- var reactI18nextOptions = _objectSpread2({}, getDefaults(), {}, i18n.options && i18n.options.react);
752
+ var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
717
753
 
718
754
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
719
755
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
@@ -727,9 +763,9 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
727
763
  }
728
764
  };
729
765
 
730
- var combinedTOpts = _objectSpread2({}, tOptions, {
766
+ var combinedTOpts = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, tOptions), {}, {
731
767
  count: count
732
- }, values, {}, interpolationOverride, {
768
+ }, values), interpolationOverride), {}, {
733
769
  defaultValue: defaultValue,
734
770
  ns: namespaces
735
771
  });
@@ -752,7 +788,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
752
788
  if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();
753
789
 
754
790
  if (!i18n) {
755
- warnOnce('You will need pass in an i18next instance by using initReactI18next');
791
+ warnOnce('You will need to pass in an i18next instance by using initReactI18next');
756
792
 
757
793
  var notReadyT = function notReadyT(k) {
758
794
  return Array.isArray(k) ? k[k.length - 1] : k;
@@ -765,7 +801,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
765
801
  return retNotReady;
766
802
  }
767
803
 
768
- var i18nOptions = _objectSpread2({}, getDefaults(), {}, i18n.options.react, {}, props);
804
+ var i18nOptions = _objectSpread2(_objectSpread2(_objectSpread2({}, getDefaults()), i18n.options.react), props);
769
805
 
770
806
  var useSuspense = i18nOptions.useSuspense;
771
807
  var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -822,7 +858,6 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
822
858
  if (!ready && !useSuspense) return ret;
823
859
  throw new Promise(function (resolve) {
824
860
  loadNamespaces(i18n, namespaces, function () {
825
- if (isMounted.current) setT(getT());
826
861
  resolve();
827
862
  });
828
863
  });
@@ -841,7 +876,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
841
876
  i18n = _useTranslation2[1],
842
877
  ready = _useTranslation2[2];
843
878
 
844
- var passDownProps = _objectSpread2({}, rest, {
879
+ var passDownProps = _objectSpread2(_objectSpread2({}, rest), {}, {
845
880
  t: t,
846
881
  i18n: i18n,
847
882
  tReady: ready
@@ -1 +1 @@
1
- define(["exports","react"],(function(e,n){"use strict";var t="default"in n?n.default:n;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function i(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(t,!0).forEach((function(n){a(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(t).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,i=function(e,n){if(null==e)return{};var t,r,i={},a=Object.keys(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||(i[t]=e[t]);return i}(e,n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(r=0;r<a.length;r++)t=a[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(i[t]=e[t])}return i}function u(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if(!(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)))return;var t=[],r=!0,i=!1,a=void 0;try{for(var o,c=e[Symbol.iterator]();!(r=(o=c.next()).done)&&(t.push(o.value),!n||t.length!==n);r=!0);}catch(e){i=!0,a=e}finally{try{r||null==c.return||c.return()}finally{if(i)throw a}}return t}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var l={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},f=/([\w-]+)|=|(['"])([.\s\S]*?)\2/g,p=/(?:<!--[\S\s]*?-->|<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>)/g,d=Object.create?Object.create(null):{};function g(e,n,t,r,i){var a=n.indexOf("<",r),o=n.slice(r,-1===a?void 0:a);/^\s*$/.test(o)&&(o=" "),(!i&&a>-1&&t+e.length>=0||" "!==o)&&e.push({type:"text",content:o})}function m(e,n){switch(n.type){case"text":return e+n.content;case"tag":return e+="<"+n.name+(n.attrs?function(e){var n=[];for(var t in e)n.push(t+'="'+e[t]+'"');return n.length?" "+n.join(" "):""}(n.attrs):"")+(n.voidElement?"/>":">"),n.voidElement?e:e+n.children.reduce(m,"")+"</"+n.name+">"}}var h,y={parse:function(e,n){n||(n={}),n.components||(n.components=d);var t,r=[],i=-1,a=[],o={},c=!1;return e.replace(p,(function(s,u){if(c){if(s!=="</"+t.name+">")return;c=!1}var p,d="/"!==s.charAt(1),m=0===s.indexOf("\x3c!--"),h=u+s.length,y=e.charAt(h);d&&!m&&(i++,"tag"===(t=function(e){var n,t=0,r=!0,i={type:"tag",name:"",voidElement:!1,attrs:{},children:[]};return e.replace(f,(function(a){if("="===a)return r=!0,void t++;r?0===t?((l[a]||"/"===e.charAt(e.length-2))&&(i.voidElement=!0),i.name=a):(i.attrs[n]=a.replace(/^['"]|['"]$/g,""),n=void 0):(n&&(i.attrs[n]=n),n=a),t++,r=!1})),i}(s)).type&&n.components[t.name]&&(t.type="component",c=!0),t.voidElement||c||!y||"<"===y||g(t.children,e,i,h,n.ignoreWhitespace),o[t.tagName]=t,0===i&&r.push(t),(p=a[i-1])&&p.children.push(t),a[i]=t),(m||!d||t.voidElement)&&(m||i--,!c&&"<"!==y&&y&&g(p=-1===i?r:a[i].children,e,i,h,n.ignoreWhitespace))})),!r.length&&e.length&&g(r,e,0,0,n.ignoreWhitespace),r},stringify:function(e){return e.reduce((function(e,n){return e+m("",n)}),"")}},v={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},b=t.createContext();function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v=c({},v,{},e)}function w(){return v}var j=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}var n,t,r;return n=e,(t=[{key:"addUsedNamespaces",value:function(e){var n=this;e.forEach((function(e){n.usedNamespaces[e]||(n.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}])&&i(n.prototype,t),r&&i(n,r),e}();function S(e){h=e}function E(){return h}var N={type:"3rdParty",init:function(e){O(e.options.react),S(e)}};function x(e){return function(n){return new Promise((function(t){var r=k();e.getInitialProps?e.getInitialProps(n).then((function(e){t(c({},e,{},r))})):t(r)}))}}function k(){var e=E(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},r={};return e.languages.forEach((function(t){r[t]={},n.forEach((function(n){r[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=r,t.initialLanguage=e.language,t}function I(){if(console&&console.warn){for(var e,n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];"string"==typeof t[0]&&(t[0]="react-i18next:: ".concat(t[0])),(e=console).warn.apply(e,t)}}var P={};function R(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&P[n[0]]||("string"==typeof n[0]&&(P[n[0]]=new Date),I.apply(void 0,n))}function C(e,n,t){e.loadNamespaces(n,(function(){if(e.isInitialized)t();else{e.on("initialized",(function n(){setTimeout((function(){e.off("initialized",n)}),0),t()}))}}))}function T(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}function A(e){return e&&(e.children||e.props&&e.props.children)}function L(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function z(e){return Array.isArray(e)?e:[e]}function D(e,n,i,a,o){if(""===n)return[];var s=a.transKeepBasicHtmlNodesFor||[],u=n&&new RegExp(s.join("|")).test(n);if(!e&&!u)return[n];var l={};!function e(n){z(n).forEach((function(n){"string"!=typeof n&&(A(n)?e(L(n)):"object"!==r(n)||t.isValidElement(n)||Object.assign(l,n))}))}(e);var f=i.services.interpolator.interpolate(n,c({},l,{},o),i.language);var p=function e(n,i){var o=z(n);return z(i).reduce((function(n,i,l){var f,p,d,g=i.children&&i.children[0]&&i.children[0].content;if("tag"===i.type){var m=o[parseInt(i.name,10)]||{},h=0!==Object.keys(i.attrs).length?(f={props:i.attrs},(d=c({},p=m)).props=Object.assign(f.props,p.props),d):m,y=t.isValidElement(h);if("string"==typeof h)n.push(h);else if(A(h)){var v=L(h),b=e(v,i.children),O=function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return t.isValidElement(e)}))}(v)&&0===b.length?v:b;h.dummy&&(h.children=O),n.push(t.cloneElement(h,c({},h.props,{key:l}),O))}else if(u&&"object"===r(h)&&h.dummy&&!y){var w=e(o,i.children);n.push(t.cloneElement(h,c({},h.props,{key:l}),w))}else if(Number.isNaN(parseFloat(i.name)))if(a.transSupportBasicHtmlNodes&&s.indexOf(i.name)>-1)if(i.voidElement)n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(l)}));else{var j=e(o,i.children);n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(l)},j))}else if(i.voidElement)n.push("<".concat(i.name," />"));else{var S=e(o,i.children);n.push("<".concat(i.name,">").concat(S,"</").concat(i.name,">"))}else if("object"!==r(h)||y)1===i.children.length&&g?n.push(t.cloneElement(h,c({},h.props,{key:l}),g)):n.push(t.cloneElement(h,c({},h.props,{key:l})));else{var E=i.children[0]?g:null;E&&n.push(E)}}else"text"===i.type&&n.push(i.content);return n}),[])}([{dummy:!0,children:e}],y.parse("<0>".concat(f,"</0>")));return L(p[0])}function B(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(b)||{},a=i.i18n,o=i.defaultNS,s=r||a||E();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new j),!s){R("You will need pass in an i18next instance by using initReactI18next");var l=function(e){return Array.isArray(e)?e[e.length-1]:e},f=[l,{},!1];return f.t=l,f.i18n={},f.ready=!1,f}var p=c({},w(),{},s.options.react,{},t),d=p.useSuspense,g=e||o||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var m=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return function(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return R("i18n.languages were undefined or empty",n.languages),!0;var r=n.languages[0],i=!!n.options&&n.options.fallbackLng,a=n.languages[n.languages.length-1];if("cimode"===r.toLowerCase())return!0;var o=function(e,t){var r=n.services.backendConnector.state["".concat(e,"|").concat(t)];return-1===r||2===r};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e))&&(!!n.hasResourceBundle(r,e)||(!n.services.backendConnector.backend||!(!o(r,e)||i&&!o(a,e))))}(e,s,p)}));function h(){return{t:s.getFixedT(null,"fallback"===p.nsMode?g:g[0])}}var y=u(n.useState(h()),2),v=y[0],O=y[1],S=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){S.current&&O(h())}return S.current=!0,m||d||C(s,g,(function(){S.current&&O(h())})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){S.current=!1,e&&s&&e.split(" ").forEach((function(e){return s.off(e,t)})),n&&s&&n.split(" ").forEach((function(e){return s.store.off(e,t)}))}}),[g.join()]);var N=[v.t,s,m];if(N.t=v.t,N.i18n=s,N.ready=m,m)return N;if(!m&&!d)return N;throw new Promise((function(e){C(s,g,(function(){S.current&&O(h()),e()}))}))}function V(e,t){var r=(arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}).i18n,i=(n.useContext(b)||{}).i18n,a=r||i||E();a.options&&a.options.isClone||(e&&!a.initializedStoreOnce&&(a.services.resourceStore.data=e,a.options.ns=Object.values(e).reduce((function(e,n){return Object.keys(n).forEach((function(n){e.indexOf(n)<0&&e.push(n)})),e}),a.options.ns),a.initializedStoreOnce=!0,a.isInitialized=!0),t&&!a.initializedLanguageOnce&&(a.changeLanguage(t),a.initializedLanguageOnce=!0))}e.I18nContext=b,e.I18nextProvider=function(e){var t=e.i18n,r=e.defaultNS,i=e.children;return n.createElement(b.Provider,{value:{i18n:t,defaultNS:r}},i)},e.Trans=function(e){var i=e.children,a=e.count,o=e.parent,u=e.i18nKey,l=e.tOptions,f=e.values,p=e.defaults,d=e.components,g=e.ns,m=e.i18n,h=e.t,y=s(e,["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t"]),v=n.useContext(b)||{},O=v.i18n,j=v.defaultNS,S=m||O||E();if(!S)return R("You will need pass in an i18next instance by using i18nextReactModule"),i;var N=h||S.t.bind(S)||function(e){return e},x=c({},w(),{},S.options&&S.options.react),k=g||N.ns||j||S.options&&S.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var P=p||function e(n,i){if(!n)return"";var a="",o=z(n),c=i.transKeepBasicHtmlNodesFor||[];return o.forEach((function(n,o){if("string"==typeof n)a+="".concat(n);else if(t.isValidElement(n)){var u=Object.keys(n.props).length,l=c.indexOf(n.type)>-1,f=n.props.children;if(!f&&l&&0===u)a+="<".concat(n.type,"/>");else if(f||l&&0===u)if(n.props.i18nIsDynamicList)a+="<".concat(o,"></").concat(o,">");else if(l&&1===u&&"string"==typeof f)a+="<".concat(n.type,">").concat(f,"</").concat(n.type,">");else{var p=e(f,i);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if("object"===r(n)){var d=n.format,g=s(n,["format"]),m=Object.keys(g);if(1===m.length){var h=d?"".concat(m[0],", ").concat(d):m[0];a+="{{".concat(h,"}}")}else I("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else I("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",n)})),a}(i,x)||x.transEmptyNodeValue||u,C=x.hashTransKey,T=u||(C?C(P):P),A=c({},l,{count:a},f,{},f?{}:{interpolation:{prefix:"#$?",suffix:"?$#"}},{defaultValue:P,ns:k}),L=D(d||i,T?N(T,A):P,S,x,A),B=void 0!==o?o:x.defaultTransParent;return B?t.createElement(B,y,L):L},e.Translation=function(e){var n=e.ns,t=e.children,r=u(B(n,s(e,["ns","children"])),3),i=r[0],a=r[1],o=r[2];return t(i,{i18n:a,lng:a.language},o)},e.composeInitialProps=x,e.getDefaults=w,e.getI18n=E,e.getInitialProps=k,e.initReactI18next=N,e.setDefaults=O,e.setI18n=S,e.useSSR=V,e.useTranslation=B,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,a=s(n,["initialI18nStore","initialLanguage"]);return V(r,i),t.createElement(e,c({},a))}return n.getInitialProps=x(e),n.displayName="withI18nextSSR(".concat(T(e),")"),n.WrappedComponent=e,n}},e.withTranslation=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r){function i(i){var a=i.forwardedRef,o=s(i,["forwardedRef"]),l=u(B(e,o),3),f=c({},o,{t:l[0],i18n:l[1],tReady:l[2]});return n.withRef&&a?f.ref=a:!n.withRef&&a&&(f.forwardedRef=a),t.createElement(r,f)}i.displayName="withI18nextTranslation(".concat(T(r),")"),i.WrappedComponent=r;return n.withRef?t.forwardRef((function(e,n){return t.createElement(i,Object.assign({},e,{forwardedRef:n}))})):i}},Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ define(["exports","react"],(function(e,n){"use strict";var t="default"in n?n.default:n;function r(e){return(r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function a(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function c(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?o(Object(t),!0).forEach((function(n){i(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):o(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function s(e,n){if(null==e)return{};var t,r,a=function(e,n){if(null==e)return{};var t,r,a={},i=Object.keys(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)t=i[r],n.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}function u(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var t=[],r=!0,a=!1,i=void 0;try{for(var o,c=e[Symbol.iterator]();!(r=(o=c.next()).done)&&(t.push(o.value),!n||t.length!==n);r=!0);}catch(e){a=!0,i=e}finally{try{r||null==c.return||c.return()}finally{if(a)throw i}}return t}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return l(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return l(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function l(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}var f={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,menuitem:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/([\w-]+)|=|(['"])([.\s\S]*?)\2/g,d=/(?:<!--[\S\s]*?-->|<(?:"[^"]*"['"]*|'[^']*'['"]*|[^'">])+>)/g,g=Object.create?Object.create(null):{};function m(e,n,t,r,a){var i=n.indexOf("<",r),o=n.slice(r,-1===i?void 0:i);/^\s*$/.test(o)&&(o=" "),(!a&&i>-1&&t+e.length>=0||" "!==o)&&e.push({type:"text",content:o})}var h,y=function(e,n){n||(n={}),n.components||(n.components=g);var t,r=[],a=-1,i=[],o={},c=!1;return e.replace(d,(function(s,u){if(c){if(s!=="</"+t.name+">")return;c=!1}var l,d="/"!==s.charAt(1),g=0===s.indexOf("\x3c!--"),h=u+s.length,y=e.charAt(h);d&&!g&&(a++,"tag"===(t=function(e){var n,t=0,r=!0,a={type:"tag",name:"",voidElement:!1,attrs:{},children:[]};return e.replace(p,(function(i){if("="===i)return r=!0,void t++;r?0===t?((f[i]||"/"===e.charAt(e.length-2))&&(a.voidElement=!0),a.name=i):(a.attrs[n]=i.replace(/^['"]|['"]$/g,""),n=void 0):(n&&(a.attrs[n]=n),n=i),t++,r=!1})),a}(s)).type&&n.components[t.name]&&(t.type="component",c=!0),t.voidElement||c||!y||"<"===y||m(t.children,e,a,h,n.ignoreWhitespace),o[t.tagName]=t,0===a&&r.push(t),(l=i[a-1])&&l.children.push(t),i[a]=t),(g||!d||t.voidElement)&&(g||a--,!c&&"<"!==y&&y&&m(l=-1===a?r:i[a].children,e,a,h,n.ignoreWhitespace))})),!r.length&&e.length&&m(r,e,0,0,n.ignoreWhitespace),r},v={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},b=t.createContext();function O(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};v=c(c({},v),e)}function w(){return v}var j=function(){function e(){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.usedNamespaces={}}var n,t,r;return n=e,(t=[{key:"addUsedNamespaces",value:function(e){var n=this;e.forEach((function(e){n.usedNamespaces[e]||(n.usedNamespaces[e]=!0)}))}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}])&&a(n.prototype,t),r&&a(n,r),e}();function S(e){h=e}function E(){return h}var N={type:"3rdParty",init:function(e){O(e.options.react),S(e)}};function x(e){return function(n){return new Promise((function(t){var r=k();e.getInitialProps?e.getInitialProps(n).then((function(e){t(c(c({},e),r))})):t(r)}))}}function k(){var e=E(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},r={};return e.languages.forEach((function(t){r[t]={},n.forEach((function(n){r[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=r,t.initialLanguage=e.language,t}function I(){if(console&&console.warn){for(var e,n=arguments.length,t=new Array(n),r=0;r<n;r++)t[r]=arguments[r];"string"==typeof t[0]&&(t[0]="react-i18next:: ".concat(t[0])),(e=console).warn.apply(e,t)}}var P={};function R(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&P[n[0]]||("string"==typeof n[0]&&(P[n[0]]=new Date),I.apply(void 0,n))}function C(e,n,t){e.loadNamespaces(n,(function(){if(e.isInitialized)t();else{e.on("initialized",(function n(){setTimeout((function(){e.off("initialized",n)}),0),t()}))}}))}function A(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return R("i18n.languages were undefined or empty",n.languages),!0;var r=n.languages[0],a=!!n.options&&n.options.fallbackLng,i=n.languages[n.languages.length-1];if("cimode"===r.toLowerCase())return!0;var o=function(e,t){var r=n.services.backendConnector.state["".concat(e,"|").concat(t)];return-1===r||2===r};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e))&&(!!n.hasResourceBundle(r,e)||(!n.services.backendConnector.backend||!(!o(r,e)||a&&!o(i,e))))}function T(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}function L(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function z(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function D(e){return Array.isArray(e)?e:[e]}function B(e,n,a,i,o){if(""===n)return[];var s=i.transKeepBasicHtmlNodesFor||[],u=n&&new RegExp(s.join("|")).test(n);if(!e&&!u)return[n];var l={};!function e(n){D(n).forEach((function(n){"string"!=typeof n&&(L(n)?e(z(n)):"object"!==r(n)||t.isValidElement(n)||Object.assign(l,n))}))}(e);var f=a.services.interpolator.interpolate(n,c(c({},l),o),a.language),p=y("<0>".concat(f,"</0>"));function d(e,n,r){var a=z(e),i=m(a,n.children,r);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return t.isValidElement(e)}))}(a)&&0===i.length?a:i}function g(e,n,r,a){e.dummy&&(e.children=n),r.push(t.cloneElement(e,c(c({},e.props),{},{key:a}),n))}function m(n,a,o){var l=D(n);return D(a).reduce((function(n,a,f){var p,h,y,v=a.children&&a.children[0]&&a.children[0].content;if("tag"===a.type){var b=l[parseInt(a.name,10)];!b&&1===o.length&&o[0][a.name]&&(b=o[0][a.name]),b||(b={});var O=0!==Object.keys(a.attrs).length?(p={props:a.attrs},(y=c({},h=b)).props=Object.assign(p.props,h.props),y):b,w=t.isValidElement(O),j=w&&L(a,!0)&&!a.voidElement,S=u&&"object"===r(O)&&O.dummy&&!w,E="object"===r(e)&&null!==e&&Object.hasOwnProperty.call(e,a.name);if("string"==typeof O)n.push(O);else if(L(O)||j){g(O,d(O,a,o),n,f)}else if(S){var N=m(l,a.children,o);n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),N))}else if(Number.isNaN(parseFloat(a.name))){if(E)g(O,d(O,a,o),n,f);else if(i.transSupportBasicHtmlNodes&&s.indexOf(a.name)>-1)if(a.voidElement)n.push(t.createElement(a.name,{key:"".concat(a.name,"-").concat(f)}));else{var x=m(l,a.children,o);n.push(t.createElement(a.name,{key:"".concat(a.name,"-").concat(f)},x))}else if(a.voidElement)n.push("<".concat(a.name," />"));else{var k=m(l,a.children,o);n.push("<".concat(a.name,">").concat(k,"</").concat(a.name,">"))}}else if("object"!==r(O)||w)1===a.children.length&&v?n.push(t.cloneElement(O,c(c({},O.props),{},{key:f}),v)):n.push(t.cloneElement(O,c(c({},O.props),{},{key:f})));else{var I=a.children[0]?v:null;I&&n.push(I)}}else"text"===a.type&&n.push(a.content);return n}),[])}return z(m([{dummy:!0,children:e}],p,D(e||[]))[0])}function U(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,a=n.useContext(b)||{},i=a.i18n,o=a.defaultNS,s=r||i||E();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new j),!s){R("You will need to pass in an i18next instance by using initReactI18next");var l=function(e){return Array.isArray(e)?e[e.length-1]:e},f=[l,{},!1];return f.t=l,f.i18n={},f.ready=!1,f}var p=c(c(c({},w()),s.options.react),t),d=p.useSuspense,g=e||o||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var m=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return A(e,s,p)}));function h(){return{t:s.getFixedT(null,"fallback"===p.nsMode?g:g[0])}}var y=n.useState(h()),v=u(y,2),O=v[0],S=v[1],N=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){N.current&&S(h())}return N.current=!0,m||d||C(s,g,(function(){N.current&&S(h())})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){N.current=!1,e&&s&&e.split(" ").forEach((function(e){return s.off(e,t)})),n&&s&&n.split(" ").forEach((function(e){return s.store.off(e,t)}))}}),[g.join()]);var x=[O.t,s,m];if(x.t=O.t,x.i18n=s,x.ready=m,m)return x;if(!m&&!d)return x;throw new Promise((function(e){C(s,g,(function(){e()}))}))}function V(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(b)||{},o=i.i18n,c=a||o||E();c.options&&c.options.isClone||(e&&!c.initializedStoreOnce&&(c.services.resourceStore.data=e,c.options.ns=Object.values(e).reduce((function(e,n){return Object.keys(n).forEach((function(n){e.indexOf(n)<0&&e.push(n)})),e}),c.options.ns),c.initializedStoreOnce=!0,c.isInitialized=!0),t&&!c.initializedLanguageOnce&&(c.changeLanguage(t),c.initializedLanguageOnce=!0))}e.I18nContext=b,e.I18nextProvider=function(e){var t=e.i18n,r=e.defaultNS,a=e.children;return n.createElement(b.Provider,{value:{i18n:t,defaultNS:r}},a)},e.Trans=function(e){var a=e.children,i=e.count,o=e.parent,u=e.i18nKey,l=e.tOptions,f=e.values,p=e.defaults,d=e.components,g=e.ns,m=e.i18n,h=e.t,y=s(e,["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t"]),v=n.useContext(b)||{},O=v.i18n,j=v.defaultNS,S=m||O||E();if(!S)return R("You will need to pass in an i18next instance by using i18nextReactModule"),a;var N=h||S.t.bind(S)||function(e){return e},x=c(c({},w()),S.options&&S.options.react),k=g||N.ns||j||S.options&&S.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var P=p||function e(n,a){if(!n)return"";var i="",o=D(n),c=a.transKeepBasicHtmlNodesFor||[];return o.forEach((function(n,o){if("string"==typeof n)i+="".concat(n);else if(t.isValidElement(n)){var u=Object.keys(n.props).length,l=c.indexOf(n.type)>-1,f=n.props.children;if(!f&&l&&0===u)i+="<".concat(n.type,"/>");else if(f||l&&0===u)if(n.props.i18nIsDynamicList)i+="<".concat(o,"></").concat(o,">");else if(l&&1===u&&"string"==typeof f)i+="<".concat(n.type,">").concat(f,"</").concat(n.type,">");else{var p=e(f,a);i+="<".concat(o,">").concat(p,"</").concat(o,">")}else i+="<".concat(o,"></").concat(o,">")}else if("object"===r(n)){var d=n.format,g=s(n,["format"]),m=Object.keys(g);if(1===m.length){var h=d?"".concat(m[0],", ").concat(d):m[0];i+="{{".concat(h,"}}")}else I("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else I("Trans: the passed in value is invalid - seems you passed in a variable like {number} - please pass in variables for interpolation as full objects like {{number}}.",n)})),i}(a,x)||x.transEmptyNodeValue||u,C=x.hashTransKey,A=u||(C?C(P):P),T=f?{}:{interpolation:{prefix:"#$?",suffix:"?$#"}},L=c(c(c(c({},l),{},{count:i},f),T),{},{defaultValue:P,ns:k}),z=B(d||a,A?N(A,L):P,S,x,L),U=void 0!==o?o:x.defaultTransParent;return U?t.createElement(U,y,z):z},e.Translation=function(e){var n=e.ns,t=e.children,r=u(U(n,s(e,["ns","children"])),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=x,e.getDefaults=w,e.getI18n=E,e.getInitialProps=k,e.initReactI18next=N,e.setDefaults=O,e.setI18n=S,e.useSSR=V,e.useTranslation=U,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,a=n.initialLanguage,i=s(n,["initialI18nStore","initialLanguage"]);return V(r,a),t.createElement(e,c({},i))}return n.getInitialProps=x(e),n.displayName="withI18nextSSR(".concat(T(e),")"),n.WrappedComponent=e,n}},e.withTranslation=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(r){function a(a){var i=a.forwardedRef,o=s(a,["forwardedRef"]),l=u(U(e,o),3),f=l[0],p=l[1],d=l[2],g=c(c({},o),{},{t:f,i18n:p,tReady:d});return n.withRef&&i?g.ref=i:!n.withRef&&i&&(g.forwardedRef=i),t.createElement(r,g)}a.displayName="withI18nextTranslation(".concat(T(r),")"),a.WrappedComponent=r;return n.withRef?t.forwardRef((function(e,n){return t.createElement(a,Object.assign({},e,{forwardedRef:n}))})):a}},Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -26,10 +26,13 @@ var _utils = require("./utils");
26
26
 
27
27
  function ownKeys(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; }
28
28
 
29
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30
30
 
31
- function hasChildren(node) {
32
- return node && (node.children || node.props && node.props.children);
31
+ function hasChildren(node, checkLength) {
32
+ if (!node) return false;
33
+ var base = node.props ? node.props.children : node.children;
34
+ if (checkLength) return base.length > 0;
35
+ return !!base;
33
36
  }
34
37
 
35
38
  function getChildren(node) {
@@ -114,69 +117,87 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) {
114
117
  }
115
118
 
116
119
  getData(children);
117
- var interpolatedString = i18n.services.interpolator.interpolate(targetString, _objectSpread({}, data, {}, combinedTOpts), i18n.language);
120
+ var interpolatedString = i18n.services.interpolator.interpolate(targetString, _objectSpread(_objectSpread({}, data), combinedTOpts), i18n.language);
118
121
 
119
122
  var ast = _htmlParseStringify["default"].parse("<0>".concat(interpolatedString, "</0>"));
120
123
 
121
- function mapAST(reactNode, astNode) {
124
+ function renderInner(child, node, rootReactNode) {
125
+ var childs = getChildren(child);
126
+ var mappedChildren = mapAST(childs, node.children, rootReactNode);
127
+ return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
128
+ }
129
+
130
+ function pushTranslatedJSX(child, inner, mem, i) {
131
+ if (child.dummy) child.children = inner;
132
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
133
+ key: i
134
+ }), inner));
135
+ }
136
+
137
+ function mapAST(reactNode, astNode, rootReactNode) {
122
138
  var reactNodes = getAsArray(reactNode);
123
139
  var astNodes = getAsArray(astNode);
124
140
  return astNodes.reduce(function (mem, node, i) {
125
141
  var translationContent = node.children && node.children[0] && node.children[0].content;
126
142
 
127
143
  if (node.type === 'tag') {
128
- var tmp = reactNodes[parseInt(node.name, 10)] || {};
144
+ var tmp = reactNodes[parseInt(node.name, 10)];
145
+ if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
146
+ if (!tmp) tmp = {};
129
147
  var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
130
148
  props: node.attrs
131
149
  }, tmp) : tmp;
132
150
 
133
151
  var isElement = _react["default"].isValidElement(child);
134
152
 
153
+ var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
154
+ var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && (0, _typeof2["default"])(child) === 'object' && child.dummy && !isElement;
155
+ var isKnownComponent = (0, _typeof2["default"])(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
156
+
135
157
  if (typeof child === 'string') {
136
158
  mem.push(child);
137
- } else if (hasChildren(child)) {
138
- var childs = getChildren(child);
139
- var mappedChildren = mapAST(childs, node.children);
140
- var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
141
- if (child.dummy) child.children = inner;
142
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
143
- key: i
144
- }), inner));
145
- } else if (emptyChildrenButNeedsHandling && (0, _typeof2["default"])(child) === 'object' && child.dummy && !isElement) {
146
- var _inner = mapAST(reactNodes, node.children);
159
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
160
+ var inner = renderInner(child, node, rootReactNode);
161
+ pushTranslatedJSX(child, inner, mem, i);
162
+ } else if (isEmptyTransWithHTML) {
163
+ var _inner = mapAST(reactNodes, node.children, rootReactNode);
147
164
 
148
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
165
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
149
166
  key: i
150
167
  }), _inner));
151
168
  } else if (Number.isNaN(parseFloat(node.name))) {
152
- if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
169
+ if (isKnownComponent) {
170
+ var _inner2 = renderInner(child, node, rootReactNode);
171
+
172
+ pushTranslatedJSX(child, _inner2, mem, i);
173
+ } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
153
174
  if (node.voidElement) {
154
175
  mem.push(_react["default"].createElement(node.name, {
155
176
  key: "".concat(node.name, "-").concat(i)
156
177
  }));
157
178
  } else {
158
- var _inner2 = mapAST(reactNodes, node.children);
179
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
159
180
 
160
181
  mem.push(_react["default"].createElement(node.name, {
161
182
  key: "".concat(node.name, "-").concat(i)
162
- }, _inner2));
183
+ }, _inner3));
163
184
  }
164
185
  } else if (node.voidElement) {
165
186
  mem.push("<".concat(node.name, " />"));
166
187
  } else {
167
- var _inner3 = mapAST(reactNodes, node.children);
188
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
168
189
 
169
- mem.push("<".concat(node.name, ">").concat(_inner3, "</").concat(node.name, ">"));
190
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
170
191
  }
171
192
  } else if ((0, _typeof2["default"])(child) === 'object' && !isElement) {
172
193
  var content = node.children[0] ? translationContent : null;
173
194
  if (content) mem.push(content);
174
195
  } else if (node.children.length === 1 && translationContent) {
175
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
196
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
176
197
  key: i
177
198
  }), translationContent));
178
199
  } else {
179
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
200
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
180
201
  key: i
181
202
  })));
182
203
  }
@@ -191,7 +212,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) {
191
212
  var result = mapAST([{
192
213
  dummy: true,
193
214
  children: children
194
- }], ast);
215
+ }], ast, getAsArray(children || []));
195
216
  return getChildren(result[0]);
196
217
  }
197
218
 
@@ -216,7 +237,7 @@ function Trans(_ref) {
216
237
  var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();
217
238
 
218
239
  if (!i18n) {
219
- (0, _utils.warnOnce)('You will need pass in an i18next instance by using i18nextReactModule');
240
+ (0, _utils.warnOnce)('You will need to pass in an i18next instance by using i18nextReactModule');
220
241
  return children;
221
242
  }
222
243
 
@@ -224,7 +245,7 @@ function Trans(_ref) {
224
245
  return k;
225
246
  };
226
247
 
227
- var reactI18nextOptions = _objectSpread({}, (0, _context.getDefaults)(), {}, i18n.options && i18n.options.react);
248
+ var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options && i18n.options.react);
228
249
 
229
250
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
230
251
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
@@ -238,9 +259,9 @@ function Trans(_ref) {
238
259
  }
239
260
  };
240
261
 
241
- var combinedTOpts = _objectSpread({}, tOptions, {
262
+ var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {
242
263
  count: count
243
- }, values, {}, interpolationOverride, {
264
+ }, values), interpolationOverride), {}, {
244
265
  defaultValue: defaultValue,
245
266
  ns: namespaces
246
267
  });
@@ -23,7 +23,7 @@ var _react = _interopRequireDefault(require("react"));
23
23
 
24
24
  function ownKeys(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; }
25
25
 
26
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
26
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
27
27
 
28
28
  var defaultOptions = {
29
29
  bindI18n: 'languageChanged',
@@ -41,7 +41,7 @@ exports.I18nContext = I18nContext;
41
41
 
42
42
  function setDefaults() {
43
43
  var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
44
- defaultOptions = _objectSpread({}, defaultOptions, {}, options);
44
+ defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
45
45
  }
46
46
 
47
47
  function getDefaults() {
@@ -98,7 +98,7 @@ function composeInitialProps(ForComponent) {
98
98
 
99
99
  if (ForComponent.getInitialProps) {
100
100
  ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {
101
- resolve(_objectSpread({}, componentsInitialProps, {}, i18nInitialProps));
101
+ resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));
102
102
  });
103
103
  } else {
104
104
  resolve(i18nInitialProps);
@@ -19,7 +19,7 @@ var _utils = require("./utils");
19
19
 
20
20
  function ownKeys(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; }
21
21
 
22
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
23
23
 
24
24
  function useTranslation(ns) {
25
25
  var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -33,7 +33,7 @@ function useTranslation(ns) {
33
33
  if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new _context.ReportNamespaces();
34
34
 
35
35
  if (!i18n) {
36
- (0, _utils.warnOnce)('You will need pass in an i18next instance by using initReactI18next');
36
+ (0, _utils.warnOnce)('You will need to pass in an i18next instance by using initReactI18next');
37
37
 
38
38
  var notReadyT = function notReadyT(k) {
39
39
  return Array.isArray(k) ? k[k.length - 1] : k;
@@ -46,7 +46,7 @@ function useTranslation(ns) {
46
46
  return retNotReady;
47
47
  }
48
48
 
49
- var i18nOptions = _objectSpread({}, (0, _context.getDefaults)(), {}, i18n.options.react, {}, props);
49
+ var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options.react), props);
50
50
 
51
51
  var useSuspense = i18nOptions.useSuspense;
52
52
  var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -103,7 +103,6 @@ function useTranslation(ns) {
103
103
  if (!ready && !useSuspense) return ret;
104
104
  throw new Promise(function (resolve) {
105
105
  (0, _utils.loadNamespaces)(i18n, namespaces, function () {
106
- if (isMounted.current) setT(getT());
107
106
  resolve();
108
107
  });
109
108
  });
@@ -21,7 +21,7 @@ var _utils = require("./utils");
21
21
 
22
22
  function ownKeys(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; }
23
23
 
24
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
24
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
25
25
 
26
26
  function withSSR() {
27
27
  return function Extend(WrappedComponent) {