react-i18next 11.6.0 → 11.7.3

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.3
2
+
3
+ - Avoid redundant re-rendering in I18nextProvider [1174](https://github.com/i18next/react-i18next/pull/1174)
4
+
5
+ ### 11.7.2
6
+
7
+ - Avoid setState while react is rendering [1165](https://github.com/i18next/react-i18next/pull/1165)
8
+
9
+ ### 11.7.1
10
+
11
+ - typescript: fix: typescript definition of context object [1160](https://github.com/i18next/react-i18next/pull/1160)
12
+
13
+ ### 11.7.0
14
+
15
+ - Trans interpolating self-closing tags in components prop(object) [1140](https://github.com/i18next/react-i18next/pull/1140)
16
+
1
17
  ### 11.6.0
2
18
 
3
19
  - Trans allow components props to be an object containing named interpolation elements
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);
@@ -608,9 +624,22 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
608
624
  }
609
625
 
610
626
  getData(children);
611
- 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);
612
628
  var ast = htmlParseStringify2.parse("<0>".concat(interpolatedString, "</0>"));
613
629
 
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
+
614
643
  function mapAST(reactNode, astNode, rootReactNode) {
615
644
  var reactNodes = getAsArray(reactNode);
616
645
  var astNodes = getAsArray(astNode);
@@ -625,52 +654,54 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
625
654
  props: node.attrs
626
655
  }, tmp) : tmp;
627
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);
628
660
 
629
661
  if (typeof child === 'string') {
630
662
  mem.push(child);
631
- } else if (hasChildren(child) || isElement && hasChildren(node, true) && !node.voidElement) {
632
- var childs = getChildren(child);
633
- var mappedChildren = mapAST(childs, node.children, rootReactNode);
634
- var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
635
- if (child.dummy) child.children = inner;
636
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
637
- key: i
638
- }), inner));
639
- } else if (emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement) {
663
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
664
+ var inner = renderInner(child, node, rootReactNode);
665
+ pushTranslatedJSX(child, inner, mem, i);
666
+ } else if (isEmptyTransWithHTML) {
640
667
  var _inner = mapAST(reactNodes, node.children, rootReactNode);
641
668
 
642
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
669
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
643
670
  key: i
644
671
  }), _inner));
645
672
  } else if (Number.isNaN(parseFloat(node.name))) {
646
- 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) {
647
678
  if (node.voidElement) {
648
679
  mem.push(React__default.createElement(node.name, {
649
680
  key: "".concat(node.name, "-").concat(i)
650
681
  }));
651
682
  } else {
652
- var _inner2 = mapAST(reactNodes, node.children, rootReactNode);
683
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
653
684
 
654
685
  mem.push(React__default.createElement(node.name, {
655
686
  key: "".concat(node.name, "-").concat(i)
656
- }, _inner2));
687
+ }, _inner3));
657
688
  }
658
689
  } else if (node.voidElement) {
659
690
  mem.push("<".concat(node.name, " />"));
660
691
  } else {
661
- var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
692
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
662
693
 
663
- mem.push("<".concat(node.name, ">").concat(_inner3, "</").concat(node.name, ">"));
694
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
664
695
  }
665
696
  } else if (_typeof(child) === 'object' && !isElement) {
666
697
  var content = node.children[0] ? translationContent : null;
667
698
  if (content) mem.push(content);
668
699
  } else if (node.children.length === 1 && translationContent) {
669
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
700
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
670
701
  key: i
671
702
  }), translationContent));
672
703
  } else {
673
- mem.push(React__default.cloneElement(child, _objectSpread2({}, child.props, {
704
+ mem.push(React__default.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
674
705
  key: i
675
706
  })));
676
707
  }
@@ -710,7 +741,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
710
741
  var i18n = i18nFromProps || i18nFromContext || getI18n();
711
742
 
712
743
  if (!i18n) {
713
- 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');
714
745
  return children;
715
746
  }
716
747
 
@@ -718,7 +749,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
718
749
  return k;
719
750
  };
720
751
 
721
- var reactI18nextOptions = _objectSpread2({}, getDefaults(), {}, i18n.options && i18n.options.react);
752
+ var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
722
753
 
723
754
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
724
755
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
@@ -732,9 +763,9 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
732
763
  }
733
764
  };
734
765
 
735
- var combinedTOpts = _objectSpread2({}, tOptions, {
766
+ var combinedTOpts = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, tOptions), {}, {
736
767
  count: count
737
- }, values, {}, interpolationOverride, {
768
+ }, values), interpolationOverride), {}, {
738
769
  defaultValue: defaultValue,
739
770
  ns: namespaces
740
771
  });
@@ -757,7 +788,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
757
788
  if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();
758
789
 
759
790
  if (!i18n) {
760
- 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');
761
792
 
762
793
  var notReadyT = function notReadyT(k) {
763
794
  return Array.isArray(k) ? k[k.length - 1] : k;
@@ -770,7 +801,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
770
801
  return retNotReady;
771
802
  }
772
803
 
773
- var i18nOptions = _objectSpread2({}, getDefaults(), {}, i18n.options.react, {}, props);
804
+ var i18nOptions = _objectSpread2(_objectSpread2(_objectSpread2({}, getDefaults()), i18n.options.react), props);
774
805
 
775
806
  var useSuspense = i18nOptions.useSuspense;
776
807
  var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -827,7 +858,6 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
827
858
  if (!ready && !useSuspense) return ret;
828
859
  throw new Promise(function (resolve) {
829
860
  loadNamespaces(i18n, namespaces, function () {
830
- if (isMounted.current) setT(getT());
831
861
  resolve();
832
862
  });
833
863
  });
@@ -846,7 +876,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
846
876
  i18n = _useTranslation2[1],
847
877
  ready = _useTranslation2[2];
848
878
 
849
- var passDownProps = _objectSpread2({}, rest, {
879
+ var passDownProps = _objectSpread2(_objectSpread2({}, rest), {}, {
850
880
  t: t,
851
881
  i18n: i18n,
852
882
  tReady: ready
@@ -895,11 +925,14 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
895
925
  var i18n = _ref.i18n,
896
926
  defaultNS = _ref.defaultNS,
897
927
  children = _ref.children;
898
- return React.createElement(I18nContext.Provider, {
899
- value: {
928
+ var value = React.useMemo(function () {
929
+ return {
900
930
  i18n: i18n,
901
931
  defaultNS: defaultNS
902
- }
932
+ };
933
+ }, [i18n, defaultNS]);
934
+ return React.createElement(I18nContext.Provider, {
935
+ value: value
903
936
  }, children);
904
937
  }
905
938
 
@@ -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 E(e){h=e}function S(){return h}var N={type:"3rdParty",init:function(e){O(e.options.react),E(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=S(),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,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}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,o){var l=z(n);return z(i).reduce((function(n,i,f){var p,d,g,m=i.children&&i.children[0]&&i.children[0].content;if("tag"===i.type){var h=l[parseInt(i.name,10)];!h&&1===o.length&&o[0][i.name]&&(h=o[0][i.name]),h||(h={});var y=0!==Object.keys(i.attrs).length?(p={props:i.attrs},(g=c({},d=h)).props=Object.assign(p.props,d.props),g):h,v=t.isValidElement(y);if("string"==typeof y)n.push(y);else if(A(y)||v&&A(i,!0)&&!i.voidElement){var b=L(y),O=e(b,i.children,o),w=function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((function(e){return t.isValidElement(e)}))}(b)&&0===O.length?b:O;y.dummy&&(y.children=w),n.push(t.cloneElement(y,c({},y.props,{key:f}),w))}else if(u&&"object"===r(y)&&y.dummy&&!v){var j=e(l,i.children,o);n.push(t.cloneElement(y,c({},y.props,{key:f}),j))}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(f)}));else{var E=e(l,i.children,o);n.push(t.createElement(i.name,{key:"".concat(i.name,"-").concat(f)},E))}else if(i.voidElement)n.push("<".concat(i.name," />"));else{var S=e(l,i.children,o);n.push("<".concat(i.name,">").concat(S,"</").concat(i.name,">"))}else if("object"!==r(y)||v)1===i.children.length&&m?n.push(t.cloneElement(y,c({},y.props,{key:f}),m)):n.push(t.cloneElement(y,c({},y.props,{key:f})));else{var N=i.children[0]?m:null;N&&n.push(N)}}else"text"===i.type&&n.push(i.content);return n}),[])}([{dummy:!0,children:e}],y.parse("<0>".concat(f,"</0>")),z(e||[]));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||S();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],E=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){E.current&&O(h())}return E.current=!0,m||d||C(s,g,(function(){E.current&&O(h())})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){E.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(){E.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||S();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,E=m||O||S();if(!E)return R("You will need pass in an i18next instance by using i18nextReactModule"),i;var N=h||E.t.bind(E)||function(e){return e},x=c({},w(),{},E.options&&E.options.react),k=g||N.ns||j||E.options&&E.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,E,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=S,e.getInitialProps=k,e.initReactI18next=N,e.setDefaults=O,e.setI18n=E,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,i=n.useMemo((function(){return{i18n:t,defaultNS:r}}),[t,r]);return n.createElement(b.Provider,{value:i},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})}));
@@ -13,10 +13,13 @@ function I18nextProvider(_ref) {
13
13
  var i18n = _ref.i18n,
14
14
  defaultNS = _ref.defaultNS,
15
15
  children = _ref.children;
16
- return (0, _react.createElement)(_context.I18nContext.Provider, {
17
- value: {
16
+ var value = (0, _react.useMemo)(function () {
17
+ return {
18
18
  i18n: i18n,
19
19
  defaultNS: defaultNS
20
- }
20
+ };
21
+ }, [i18n, defaultNS]);
22
+ return (0, _react.createElement)(_context.I18nContext.Provider, {
23
+ value: value
21
24
  }, children);
22
25
  }
@@ -26,7 +26,7 @@ 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
31
  function hasChildren(node, checkLength) {
32
32
  if (!node) return false;
@@ -117,10 +117,23 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) {
117
117
  }
118
118
 
119
119
  getData(children);
120
- 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);
121
121
 
122
122
  var ast = _htmlParseStringify["default"].parse("<0>".concat(interpolatedString, "</0>"));
123
123
 
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
+
124
137
  function mapAST(reactNode, astNode, rootReactNode) {
125
138
  var reactNodes = getAsArray(reactNode);
126
139
  var astNodes = getAsArray(astNode);
@@ -137,51 +150,54 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts) {
137
150
 
138
151
  var isElement = _react["default"].isValidElement(child);
139
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
+
140
157
  if (typeof child === 'string') {
141
158
  mem.push(child);
142
- } else if (hasChildren(child) || isElement && hasChildren(node, true) && !node.voidElement) {
143
- var childs = getChildren(child);
144
- var mappedChildren = mapAST(childs, node.children, rootReactNode);
145
- var inner = hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
146
- if (child.dummy) child.children = inner;
147
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
148
- key: i
149
- }), inner));
150
- } else if (emptyChildrenButNeedsHandling && (0, _typeof2["default"])(child) === 'object' && child.dummy && !isElement) {
159
+ } else if (hasChildren(child) || isValidTranslationWithChildren) {
160
+ var inner = renderInner(child, node, rootReactNode);
161
+ pushTranslatedJSX(child, inner, mem, i);
162
+ } else if (isEmptyTransWithHTML) {
151
163
  var _inner = mapAST(reactNodes, node.children, rootReactNode);
152
164
 
153
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
165
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
154
166
  key: i
155
167
  }), _inner));
156
168
  } else if (Number.isNaN(parseFloat(node.name))) {
157
- 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) {
158
174
  if (node.voidElement) {
159
175
  mem.push(_react["default"].createElement(node.name, {
160
176
  key: "".concat(node.name, "-").concat(i)
161
177
  }));
162
178
  } else {
163
- var _inner2 = mapAST(reactNodes, node.children, rootReactNode);
179
+ var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
164
180
 
165
181
  mem.push(_react["default"].createElement(node.name, {
166
182
  key: "".concat(node.name, "-").concat(i)
167
- }, _inner2));
183
+ }, _inner3));
168
184
  }
169
185
  } else if (node.voidElement) {
170
186
  mem.push("<".concat(node.name, " />"));
171
187
  } else {
172
- var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
188
+ var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
173
189
 
174
- mem.push("<".concat(node.name, ">").concat(_inner3, "</").concat(node.name, ">"));
190
+ mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
175
191
  }
176
192
  } else if ((0, _typeof2["default"])(child) === 'object' && !isElement) {
177
193
  var content = node.children[0] ? translationContent : null;
178
194
  if (content) mem.push(content);
179
195
  } else if (node.children.length === 1 && translationContent) {
180
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
196
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
181
197
  key: i
182
198
  }), translationContent));
183
199
  } else {
184
- mem.push(_react["default"].cloneElement(child, _objectSpread({}, child.props, {
200
+ mem.push(_react["default"].cloneElement(child, _objectSpread(_objectSpread({}, child.props), {}, {
185
201
  key: i
186
202
  })));
187
203
  }
@@ -221,7 +237,7 @@ function Trans(_ref) {
221
237
  var i18n = i18nFromProps || i18nFromContext || (0, _context.getI18n)();
222
238
 
223
239
  if (!i18n) {
224
- (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');
225
241
  return children;
226
242
  }
227
243
 
@@ -229,7 +245,7 @@ function Trans(_ref) {
229
245
  return k;
230
246
  };
231
247
 
232
- var reactI18nextOptions = _objectSpread({}, (0, _context.getDefaults)(), {}, i18n.options && i18n.options.react);
248
+ var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options && i18n.options.react);
233
249
 
234
250
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
235
251
  namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
@@ -243,9 +259,9 @@ function Trans(_ref) {
243
259
  }
244
260
  };
245
261
 
246
- var combinedTOpts = _objectSpread({}, tOptions, {
262
+ var combinedTOpts = _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, tOptions), {}, {
247
263
  count: count
248
- }, values, {}, interpolationOverride, {
264
+ }, values), interpolationOverride), {}, {
249
265
  defaultValue: defaultValue,
250
266
  ns: namespaces
251
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) {
@@ -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 withTranslation(ns) {
27
27
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -36,7 +36,7 @@ function withTranslation(ns) {
36
36
  i18n = _useTranslation2[1],
37
37
  ready = _useTranslation2[2];
38
38
 
39
- var passDownProps = _objectSpread({}, rest, {
39
+ var passDownProps = _objectSpread(_objectSpread({}, rest), {}, {
40
40
  t: t,
41
41
  i18n: i18n,
42
42
  tReady: ready