react-i18next 11.15.7 → 11.16.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,16 @@
1
+ ### 11.16.2
2
+
3
+ - update macro to wrap defaults in brackets when necessary [1472](https://github.com/i18next/react-i18next/pull/1472)
4
+
5
+ ### 11.16.1
6
+
7
+ - types: for context prop of Trans component
8
+
9
+ ### 11.16.0
10
+
11
+ - fix: transSupportBasicHtmlNodes for keepArray check [1470](https://github.com/i18next/react-i18next/pull/1470)
12
+ - feat: add context prop to Trans component [1464](https://github.com/i18next/react-i18next/issues/1464)
13
+
1
14
  ### 11.15.7
2
15
 
3
16
  - types: add nsSeparator to CustomTypeOptions [1471](https://github.com/i18next/react-i18next/pull/1471)
@@ -493,7 +493,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
493
493
  }
494
494
 
495
495
  var _excluded = ["format"],
496
- _excluded2 = ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
496
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
497
497
 
498
498
  function hasChildren(node, checkLength) {
499
499
  if (!node) return false;
@@ -529,7 +529,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
529
529
  if (!children) return '';
530
530
  var stringNode = '';
531
531
  var childrenArray = getAsArray(children);
532
- var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
532
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
533
533
  childrenArray.forEach(function (child, childIndex) {
534
534
  if (typeof child === 'string') {
535
535
  stringNode += "".concat(child);
@@ -700,6 +700,7 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
700
700
  count = _ref.count,
701
701
  parent = _ref.parent,
702
702
  i18nKey = _ref.i18nKey,
703
+ context = _ref.context,
703
704
  _ref$tOptions = _ref.tOptions,
704
705
  tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
705
706
  values = _ref.values,
@@ -726,6 +727,8 @@ define(['exports', 'react'], function (exports, React) { 'use strict';
726
727
  return k;
727
728
  };
728
729
 
730
+ if (context) tOptions.context = context;
731
+
729
732
  var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
730
733
 
731
734
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -1 +1 @@
1
- define(["exports","react"],(function(e,n){"use strict";var t="default"in n?n.default:n;function r(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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function w(e){return O[e]}var x,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){x=e}function P(){return x}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function U(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 D(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 B(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var V=["format"],K=["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function W(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function H(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){H(n).forEach((function(n){"string"!=typeof n&&(W(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=H(n);return H(c).reduce((function(n,c,v){var O,x,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(x={props:c.attrs},(E=a({},j=N)).props=Object.assign(x.props,j.props),E):N,k=t.isValidElement(I),P=k&&W(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(W(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var U=c.children[0]?S:null;U&&n.push(U)}}else if("text"===c.type){var D=o.transWrapTextNodes,B=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,w)):r.services.interpolator.interpolate(c.content,d,r.language);D?n.push(t.createElement(D,{key:"".concat(c.name,"-").concat(v)},B)):n.push(B)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,H(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return D(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],w=b[1],x=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){x.current&&w(v)}return x.current=!0,h||d||U(s,g,(function(){x.current&&w(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){x.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){x.current&&!j.current&&w(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){U(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,m=e.components,g=e.ns,h=e.i18n,v=e.t,y=e.shouldUnescape,b=s(e,K),O=n.useContext(E)||{},w=O.i18n,x=O.defaultNS,j=h||w||P();if(!j)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var S=v||j.t.bind(j)||function(e){return e},I=a(a({},N()),j.options&&j.options.react),k=g||S.ns||x||j.options&&j.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var R=d||function e(n,r){if(!n)return"";var a="",o=H(n),c=r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,V),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,I)||I.transEmptyNodeValue||u,C=I.hashTransKey,A=u||(C?C(R):R),z=p?f.interpolation:{interpolation:a(a({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},f),{},{count:o},p),z),{},{defaultValue:R,ns:k}),D=M(m||r,A?S(A,U):R,j,I,U,y),B=void 0!==c?c:I.defaultTransParent;return B?t.createElement(B,b,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(B(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(B(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,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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function w(e){return O[e]}var x,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){x=e}function P(){return x}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function B(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 U(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 D(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var H=["format"],K=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function V(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function W(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){W(n).forEach((function(n){"string"!=typeof n&&(V(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=W(n);return W(c).reduce((function(n,c,v){var O,x,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(x={props:c.attrs},(E=a({},j=N)).props=Object.assign(x.props,j.props),E):N,k=t.isValidElement(I),P=k&&V(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(V(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var B=c.children[0]?S:null;B&&n.push(B)}}else if("text"===c.type){var U=o.transWrapTextNodes,D=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,w)):r.services.interpolator.interpolate(c.content,d,r.language);U?n.push(t.createElement(U,{key:"".concat(c.name,"-").concat(v)},D)):n.push(D)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,W(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return U(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],w=b[1],x=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){x.current&&w(v)}return x.current=!0,h||d||B(s,g,(function(){x.current&&w(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){x.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){x.current&&!j.current&&w(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){B(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.context,f=e.tOptions,p=void 0===f?{}:f,d=e.values,m=e.defaults,g=e.components,h=e.ns,v=e.i18n,y=e.t,b=e.shouldUnescape,O=s(e,K),w=n.useContext(E)||{},x=w.i18n,j=w.defaultNS,S=v||x||P();if(!S)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var I=y||S.t.bind(S)||function(e){return e};l&&(p.context=l);var k=a(a({},N()),S.options&&S.options.react),R=h||I.ns||j||S.options&&S.options.defaultNS;R="string"==typeof R?[R]:R||["translation"];var C=m||function e(n,r){if(!n)return"";var a="",o=W(n),c=r.transSupportBasicHtmlNodes&&r.transKeepBasicHtmlNodesFor?r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,H),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,k)||k.transEmptyNodeValue||u,A=k.hashTransKey,z=u||(A?A(C):C),B=d?p.interpolation:{interpolation:a(a({},p.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},p),{},{count:o},d),B),{},{defaultValue:C,ns:R}),D=M(g||r,z?I(z,U):C,S,k,U,b),V=void 0!==c?c:k.defaultTransParent;return V?t.createElement(V,O,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(D(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(D(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})}));
@@ -27,7 +27,7 @@ var _context = require("./context");
27
27
  var _utils = require("./utils");
28
28
 
29
29
  var _excluded = ["format"],
30
- _excluded2 = ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
30
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
31
31
 
32
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
33
 
@@ -71,7 +71,7 @@ function nodesToString(children, i18nOptions) {
71
71
  if (!children) return '';
72
72
  var stringNode = '';
73
73
  var childrenArray = getAsArray(children);
74
- var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
74
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
75
75
  childrenArray.forEach(function (child, childIndex) {
76
76
  if (typeof child === 'string') {
77
77
  stringNode += "".concat(child);
@@ -244,6 +244,7 @@ function Trans(_ref) {
244
244
  count = _ref.count,
245
245
  parent = _ref.parent,
246
246
  i18nKey = _ref.i18nKey,
247
+ context = _ref.context,
247
248
  _ref$tOptions = _ref.tOptions,
248
249
  tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
249
250
  values = _ref.values,
@@ -270,6 +271,8 @@ function Trans(_ref) {
270
271
  return k;
271
272
  };
272
273
 
274
+ if (context) tOptions.context = context;
275
+
273
276
  var reactI18nextOptions = _objectSpread(_objectSpread({}, (0, _context.getDefaults)()), i18n.options && i18n.options.react);
274
277
 
275
278
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
package/dist/es/Trans.js CHANGED
@@ -2,7 +2,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
2
2
  import _typeof from "@babel/runtime/helpers/typeof";
3
3
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
4
4
  var _excluded = ["format"],
5
- _excluded2 = ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
5
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
6
6
 
7
7
  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; }
8
8
 
@@ -48,7 +48,7 @@ export function nodesToString(children, i18nOptions) {
48
48
  if (!children) return '';
49
49
  var stringNode = '';
50
50
  var childrenArray = getAsArray(children);
51
- var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
51
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
52
52
  childrenArray.forEach(function (child, childIndex) {
53
53
  if (typeof child === 'string') {
54
54
  stringNode += "".concat(child);
@@ -219,6 +219,7 @@ export function Trans(_ref) {
219
219
  count = _ref.count,
220
220
  parent = _ref.parent,
221
221
  i18nKey = _ref.i18nKey,
222
+ context = _ref.context,
222
223
  _ref$tOptions = _ref.tOptions,
223
224
  tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
224
225
  values = _ref.values,
@@ -245,6 +246,8 @@ export function Trans(_ref) {
245
246
  return k;
246
247
  };
247
248
 
249
+ if (context) tOptions.context = context;
250
+
248
251
  var reactI18nextOptions = _objectSpread(_objectSpread({}, getDefaults()), i18n.options && i18n.options.react);
249
252
 
250
253
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -497,7 +497,7 @@
497
497
  }
498
498
 
499
499
  var _excluded = ["format"],
500
- _excluded2 = ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
500
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
501
501
 
502
502
  function hasChildren(node, checkLength) {
503
503
  if (!node) return false;
@@ -533,7 +533,7 @@
533
533
  if (!children) return '';
534
534
  var stringNode = '';
535
535
  var childrenArray = getAsArray(children);
536
- var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
536
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
537
537
  childrenArray.forEach(function (child, childIndex) {
538
538
  if (typeof child === 'string') {
539
539
  stringNode += "".concat(child);
@@ -704,6 +704,7 @@
704
704
  count = _ref.count,
705
705
  parent = _ref.parent,
706
706
  i18nKey = _ref.i18nKey,
707
+ context = _ref.context,
707
708
  _ref$tOptions = _ref.tOptions,
708
709
  tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
709
710
  values = _ref.values,
@@ -730,6 +731,8 @@
730
731
  return k;
731
732
  };
732
733
 
734
+ if (context) tOptions.context = context;
735
+
733
736
  var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
734
737
 
735
738
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";var t="default"in n?n.default:n;function r(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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function w(e){return O[e]}var x,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){x=e}function P(){return x}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function U(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 D(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 B(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var V=["format"],K=["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function W(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function H(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){H(n).forEach((function(n){"string"!=typeof n&&(W(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=H(n);return H(c).reduce((function(n,c,v){var O,x,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(x={props:c.attrs},(E=a({},j=N)).props=Object.assign(x.props,j.props),E):N,k=t.isValidElement(I),P=k&&W(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(W(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var U=c.children[0]?S:null;U&&n.push(U)}}else if("text"===c.type){var D=o.transWrapTextNodes,B=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,w)):r.services.interpolator.interpolate(c.content,d,r.language);D?n.push(t.createElement(D,{key:"".concat(c.name,"-").concat(v)},B)):n.push(B)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,H(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return D(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],w=b[1],x=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){x.current&&w(v)}return x.current=!0,h||d||U(s,g,(function(){x.current&&w(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){x.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){x.current&&!j.current&&w(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){U(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,m=e.components,g=e.ns,h=e.i18n,v=e.t,y=e.shouldUnescape,b=s(e,K),O=n.useContext(E)||{},w=O.i18n,x=O.defaultNS,j=h||w||P();if(!j)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var S=v||j.t.bind(j)||function(e){return e},I=a(a({},N()),j.options&&j.options.react),k=g||S.ns||x||j.options&&j.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var R=d||function e(n,r){if(!n)return"";var a="",o=H(n),c=r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,V),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,I)||I.transEmptyNodeValue||u,C=I.hashTransKey,A=u||(C?C(R):R),z=p?f.interpolation:{interpolation:a(a({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},f),{},{count:o},p),z),{},{defaultValue:R,ns:k}),D=M(m||r,A?S(A,U):R,j,I,U,y),B=void 0!==c?c:I.defaultTransParent;return B?t.createElement(B,b,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(B(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(B(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
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";var t="default"in n?n.default:n;function r(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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function x(e){return O[e]}var w,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){w=e}function P(){return w}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function B(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 U(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 D(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var H=["format"],K=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function V(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function W(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){W(n).forEach((function(n){"string"!=typeof n&&(V(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=W(n);return W(c).reduce((function(n,c,v){var O,w,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(w={props:c.attrs},(E=a({},j=N)).props=Object.assign(w.props,j.props),E):N,k=t.isValidElement(I),P=k&&V(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(V(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var B=c.children[0]?S:null;B&&n.push(B)}}else if("text"===c.type){var U=o.transWrapTextNodes,D=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,x)):r.services.interpolator.interpolate(c.content,d,r.language);U?n.push(t.createElement(U,{key:"".concat(c.name,"-").concat(v)},D)):n.push(D)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,W(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return U(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],x=b[1],w=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){w.current&&x(v)}return w.current=!0,h||d||B(s,g,(function(){w.current&&x(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){w.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){w.current&&!j.current&&x(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){B(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.context,f=e.tOptions,p=void 0===f?{}:f,d=e.values,m=e.defaults,g=e.components,h=e.ns,v=e.i18n,y=e.t,b=e.shouldUnescape,O=s(e,K),x=n.useContext(E)||{},w=x.i18n,j=x.defaultNS,S=v||w||P();if(!S)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var I=y||S.t.bind(S)||function(e){return e};l&&(p.context=l);var k=a(a({},N()),S.options&&S.options.react),R=h||I.ns||j||S.options&&S.options.defaultNS;R="string"==typeof R?[R]:R||["translation"];var C=m||function e(n,r){if(!n)return"";var a="",o=W(n),c=r.transSupportBasicHtmlNodes&&r.transKeepBasicHtmlNodesFor?r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,H),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,k)||k.transEmptyNodeValue||u,A=k.hashTransKey,z=u||(A?A(C):C),B=d?p.interpolation:{interpolation:a(a({},p.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},p),{},{count:o},d),B),{},{defaultValue:C,ns:R}),D=M(g||r,z?I(z,U):C,S,k,U,b),V=void 0!==c?c:k.defaultTransParent;return V?t.createElement(V,O,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(D(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(D(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})}));
package/icu.macro.js CHANGED
@@ -262,9 +262,20 @@ function buildTransElement(
262
262
 
263
263
  // add generated Trans attributes
264
264
  if (!attributeExistsAlready('defaults', finalAttributes))
265
- finalAttributes.push(
266
- t.jSXAttribute(t.jSXIdentifier('defaults'), t.StringLiteral(extracted.defaults)),
267
- );
265
+ if (extracted.defaults.includes(`"`)) {
266
+ // wrap defaults that contain double quotes in brackets
267
+ finalAttributes.push(
268
+ t.jSXAttribute(
269
+ t.jSXIdentifier('defaults'),
270
+ t.jSXExpressionContainer(t.StringLiteral(extracted.defaults)),
271
+ ),
272
+ );
273
+ } else {
274
+ finalAttributes.push(
275
+ t.jSXAttribute(t.jSXIdentifier('defaults'), t.StringLiteral(extracted.defaults)),
276
+ );
277
+ }
278
+
268
279
  if (!attributeExistsAlready('components', finalAttributes))
269
280
  finalAttributes.push(
270
281
  t.jSXAttribute(t.jSXIdentifier('components'), t.jSXExpressionContainer(extracted.components)),
package/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export interface TransProps<E extends Element = HTMLDivElement>
36
36
  children?: React.ReactNode;
37
37
  components?: readonly React.ReactNode[] | { readonly [tagName: string]: React.ReactNode };
38
38
  count?: number;
39
+ context?: string;
39
40
  defaults?: string;
40
41
  i18n?: i18n;
41
42
  i18nKey?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-i18next",
3
- "version": "11.15.7",
3
+ "version": "11.16.2",
4
4
  "description": "Internationalization for react done right. Using the i18next i18n ecosystem.",
5
5
  "main": "dist/commonjs/index.js",
6
6
  "types": "./index.d.ts",
package/react-i18next.js CHANGED
@@ -497,7 +497,7 @@
497
497
  }
498
498
 
499
499
  var _excluded = ["format"],
500
- _excluded2 = ["children", "count", "parent", "i18nKey", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
500
+ _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
501
501
 
502
502
  function hasChildren(node, checkLength) {
503
503
  if (!node) return false;
@@ -533,7 +533,7 @@
533
533
  if (!children) return '';
534
534
  var stringNode = '';
535
535
  var childrenArray = getAsArray(children);
536
- var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
536
+ var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
537
537
  childrenArray.forEach(function (child, childIndex) {
538
538
  if (typeof child === 'string') {
539
539
  stringNode += "".concat(child);
@@ -704,6 +704,7 @@
704
704
  count = _ref.count,
705
705
  parent = _ref.parent,
706
706
  i18nKey = _ref.i18nKey,
707
+ context = _ref.context,
707
708
  _ref$tOptions = _ref.tOptions,
708
709
  tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
709
710
  values = _ref.values,
@@ -730,6 +731,8 @@
730
731
  return k;
731
732
  };
732
733
 
734
+ if (context) tOptions.context = context;
735
+
733
736
  var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
734
737
 
735
738
  var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
@@ -1 +1 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";var t="default"in n?n.default:n;function r(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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function w(e){return O[e]}var x,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){x=e}function P(){return x}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function U(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 D(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 B(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var V=["format"],K=["children","count","parent","i18nKey","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function W(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function H(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){H(n).forEach((function(n){"string"!=typeof n&&(W(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=H(n);return H(c).reduce((function(n,c,v){var O,x,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(x={props:c.attrs},(E=a({},j=N)).props=Object.assign(x.props,j.props),E):N,k=t.isValidElement(I),P=k&&W(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(W(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var U=c.children[0]?S:null;U&&n.push(U)}}else if("text"===c.type){var D=o.transWrapTextNodes,B=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,w)):r.services.interpolator.interpolate(c.content,d,r.language);D?n.push(t.createElement(D,{key:"".concat(c.name,"-").concat(v)},B)):n.push(B)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,H(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return D(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],w=b[1],x=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){x.current&&w(v)}return x.current=!0,h||d||U(s,g,(function(){x.current&&w(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){x.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){x.current&&!j.current&&w(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){U(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.tOptions,f=void 0===l?{}:l,p=e.values,d=e.defaults,m=e.components,g=e.ns,h=e.i18n,v=e.t,y=e.shouldUnescape,b=s(e,K),O=n.useContext(E)||{},w=O.i18n,x=O.defaultNS,j=h||w||P();if(!j)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var S=v||j.t.bind(j)||function(e){return e},I=a(a({},N()),j.options&&j.options.react),k=g||S.ns||x||j.options&&j.options.defaultNS;k="string"==typeof k?[k]:k||["translation"];var R=d||function e(n,r){if(!n)return"";var a="",o=H(n),c=r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,V),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,I)||I.transEmptyNodeValue||u,C=I.hashTransKey,A=u||(C?C(R):R),z=p?f.interpolation:{interpolation:a(a({},f.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},f),{},{count:o},p),z),{},{defaultValue:R,ns:k}),D=M(m||r,A?S(A,U):R,j,I,U,y),B=void 0!==c?c:I.defaultTransParent;return B?t.createElement(B,b,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(B(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(B(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
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],n):n((e=e||self).ReactI18next={},e.React)}(this,(function(e,n){"use strict";var t="default"in n?n.default:n;function r(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 a(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{};n%2?r(Object(t),!0).forEach((function(n){c(e,n,t[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):r(Object(t)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}))}return e}function i(e){return(i="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 o(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 c(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,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){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null==t)return;var r,a,i=[],o=!0,c=!1;try{for(t=t.call(e);!(o=(r=t.next()).done)&&(i.push(r.value),!n||i.length!==n);o=!0);}catch(e){c=!0,a=e}finally{try{o||null==t.return||t.return()}finally{if(c)throw a}}return i}(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,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},p=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function d(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(f[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var r=e.indexOf("--\x3e");return{type:"comment",comment:-1!==r?e.slice(4,r):""}}for(var a=new RegExp(p),i=null;null!==(i=a.exec(e));)if(i[0].trim())if(i[1]){var o=i[1].trim(),c=[o,""];o.indexOf("=")>-1&&(c=o.split("=")),n.attrs[c[0]]=c[1],a.lastIndex--}else i[2]&&(n.attrs[i[2]]=i[3].trim().substring(1,i[3].length-1));return n}var m=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,g=/^\s*$/,h=Object.create(null);var v=function(e,n){n||(n={}),n.components||(n.components=h);var t,r=[],a=[],i=-1,o=!1;if(0!==e.indexOf("<")){var c=e.indexOf("<");r.push({type:"text",content:-1===c?e:e.substring(0,c)})}return e.replace(m,(function(c,s){if(o){if(c!=="</"+t.name+">")return;o=!1}var u,l="/"!==c.charAt(1),f=c.startsWith("\x3c!--"),p=s+c.length,m=e.charAt(p);if(f){var h=d(c);return i<0?(r.push(h),r):((u=a[i]).children.push(h),r)}if(l&&(i++,"tag"===(t=d(c)).type&&n.components[t.name]&&(t.type="component",o=!0),t.voidElement||o||!m||"<"===m||t.children.push({type:"text",content:e.slice(p,e.indexOf("<",p))}),0===i&&r.push(t),(u=a[i-1])&&u.children.push(t),a[i]=t),(!l||t.voidElement)&&(i>-1&&(t.voidElement||t.name===c.slice(2,-1))&&(i--,t=-1===i?r:a[i]),!o&&"<"!==m&&m)){u=-1===i?r:a[i].children;var v=e.indexOf("<",p),y=e.slice(p,-1===v?void 0:v);g.test(y)&&(y=" "),(v>-1&&i+u.length>=0||" "!==y)&&u.push({type:"text",content:y})}})),r},y="".replace,b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34);/g,O={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"'};function x(e){return O[e]}var w,j={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0},E=t.createContext();function S(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};j=a(a({},j),e)}function N(){return j}var I=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)}}])&&o(n.prototype,t),r&&o(n,r),e}();function k(e){w=e}function P(){return w}var R={type:"3rdParty",init:function(e){S(e.options.react),k(e)}};function C(e){return function(n){return new Promise((function(t){var r=A();e.getInitialProps?e.getInitialProps(n).then((function(e){t(a(a({},e),r))})):t(r)}))}}function A(){var e=P(),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 T(){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 z={};function L(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&z[n[0]]||("string"==typeof n[0]&&(z[n[0]]=new Date),T.apply(void 0,n))}function B(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 U(e,n){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!n.languages||!n.languages.length)return L("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 D(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}var H=["format"],K=["children","count","parent","i18nKey","context","tOptions","values","defaults","components","ns","i18n","t","shouldUnescape"];function V(e,n){if(!e)return!1;var t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function F(e){return e?e&&e.children?e.children:e.props&&e.props.children:[]}function W(e){return Array.isArray(e)?e:[e]}function M(e,n,r,o,c,s){if(""===n)return[];var u=o.transKeepBasicHtmlNodesFor||[],l=n&&new RegExp(u.join("|")).test(n);if(!e&&!l)return[n];var f={};!function e(n){W(n).forEach((function(n){"string"!=typeof n&&(V(n)?e(F(n)):"object"!==i(n)||t.isValidElement(n)||Object.assign(f,n))}))}(e);var p=v("<0>".concat(n,"</0>")),d=a(a({},f),c);function m(e,n,r){var a=F(e),i=h(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,i,o){e.dummy&&(e.children=n),r.push(t.cloneElement(e,a(a({},e.props),{},{key:i}),o?void 0:n))}function h(n,c,f){var p=W(n);return W(c).reduce((function(n,c,v){var O,w,j,E,S=c.children&&c.children[0]&&c.children[0].content&&r.services.interpolator.interpolate(c.children[0].content,d,r.language);if("tag"===c.type){var N=p[parseInt(c.name,10)];!N&&1===f.length&&f[0][c.name]&&(N=f[0][c.name]),N||(N={});var I=0!==Object.keys(c.attrs).length?(w={props:c.attrs},(E=a({},j=N)).props=Object.assign(w.props,j.props),E):N,k=t.isValidElement(I),P=k&&V(c,!0)&&!c.voidElement,R=l&&"object"===i(I)&&I.dummy&&!k,C="object"===i(e)&&null!==e&&Object.hasOwnProperty.call(e,c.name);if("string"==typeof I){var A=r.services.interpolator.interpolate(I,d,r.language);n.push(A)}else if(V(I)||P){g(I,m(I,c,f),n,v)}else if(R){var T=h(p,c.children,f);n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),T))}else if(Number.isNaN(parseFloat(c.name))){if(C)g(I,m(I,c,f),n,v,c.voidElement);else if(o.transSupportBasicHtmlNodes&&u.indexOf(c.name)>-1)if(c.voidElement)n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)}));else{var z=h(p,c.children,f);n.push(t.createElement(c.name,{key:"".concat(c.name,"-").concat(v)},z))}else if(c.voidElement)n.push("<".concat(c.name," />"));else{var L=h(p,c.children,f);n.push("<".concat(c.name,">").concat(L,"</").concat(c.name,">"))}}else if("object"!==i(I)||k)1===c.children.length&&S?n.push(t.cloneElement(I,a(a({},I.props),{},{key:v}),S)):n.push(t.cloneElement(I,a(a({},I.props),{},{key:v})));else{var B=c.children[0]?S:null;B&&n.push(B)}}else if("text"===c.type){var U=o.transWrapTextNodes,D=s?(O=r.services.interpolator.interpolate(c.content,d,r.language),y.call(O,b,x)):r.services.interpolator.interpolate(c.content,d,r.language);U?n.push(t.createElement(U,{key:"".concat(c.name,"-").concat(v)},D)):n.push(D)}return n}),[])}return F(h([{dummy:!0,children:e||[]}],p,W(e||[]))[0])}function $(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.i18n,i=n.useContext(E)||{},o=i.i18n,c=i.defaultNS,s=r||o||P();if(s&&!s.reportNamespaces&&(s.reportNamespaces=new I),!s){L("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}s.options.react&&void 0!==s.options.react.wait&&L("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");var p=a(a(a({},N()),s.options.react),t),d=p.useSuspense,m=p.keyPrefix,g=e||c||s.options&&s.options.defaultNS;g="string"==typeof g?[g]:g||["translation"],s.reportNamespaces.addUsedNamespaces&&s.reportNamespaces.addUsedNamespaces(g);var h=(s.isInitialized||s.initializedStoreOnce)&&g.every((function(e){return U(e,s,p)}));function v(){return s.getFixedT(null,"fallback"===p.nsMode?g:g[0],m)}var y=n.useState(v),b=u(y,2),O=b[0],x=b[1],w=n.useRef(!0);n.useEffect((function(){var e=p.bindI18n,n=p.bindI18nStore;function t(){w.current&&x(v)}return w.current=!0,h||d||B(s,g,(function(){w.current&&x(v)})),e&&s&&s.on(e,t),n&&s&&s.store.on(n,t),function(){w.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)}))}}),[s,g.join()]);var j=n.useRef(!0);n.useEffect((function(){w.current&&!j.current&&x(v),j.current=!1}),[s]);var S=[O,s,h];if(S.t=O,S.i18n=s,S.ready=h,h)return S;if(!h&&!d)return S;throw new Promise((function(e){B(s,g,(function(){e()}))}))}var q=["forwardedRef"];var Y=["ns","children"];function _(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=r.i18n,i=n.useContext(E)||{},o=i.i18n,c=a||o||P();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))}var Z=["initialI18nStore","initialLanguage"];e.I18nContext=E,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(E.Provider,{value:i},a)},e.Trans=function(e){var r=e.children,o=e.count,c=e.parent,u=e.i18nKey,l=e.context,f=e.tOptions,p=void 0===f?{}:f,d=e.values,m=e.defaults,g=e.components,h=e.ns,v=e.i18n,y=e.t,b=e.shouldUnescape,O=s(e,K),x=n.useContext(E)||{},w=x.i18n,j=x.defaultNS,S=v||w||P();if(!S)return L("You will need to pass in an i18next instance by using i18nextReactModule"),r;var I=y||S.t.bind(S)||function(e){return e};l&&(p.context=l);var k=a(a({},N()),S.options&&S.options.react),R=h||I.ns||j||S.options&&S.options.defaultNS;R="string"==typeof R?[R]:R||["translation"];var C=m||function e(n,r){if(!n)return"";var a="",o=W(n),c=r.transSupportBasicHtmlNodes&&r.transKeepBasicHtmlNodesFor?r.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,r);a+="<".concat(o,">").concat(p,"</").concat(o,">")}else a+="<".concat(o,"></").concat(o,">")}else if(null===n)T("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"===i(n)){var d=n.format,m=s(n,H),g=Object.keys(m);if(1===g.length){var h=d?"".concat(g[0],", ").concat(d):g[0];a+="{{".concat(h,"}}")}else T("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",n)}else T("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}(r,k)||k.transEmptyNodeValue||u,A=k.hashTransKey,z=u||(A?A(C):C),B=d?p.interpolation:{interpolation:a(a({},p.interpolation),{},{prefix:"#$?",suffix:"?$#"})},U=a(a(a(a({},p),{},{count:o},d),B),{},{defaultValue:C,ns:R}),D=M(g||r,z?I(z,U):C,S,k,U,b),V=void 0!==c?c:k.defaultTransParent;return V?t.createElement(V,O,D):D},e.Translation=function(e){var n=e.ns,t=e.children,r=u($(n,s(e,Y)),3),a=r[0],i=r[1],o=r[2];return t(a,{i18n:i,lng:i.language},o)},e.composeInitialProps=C,e.date=function(){return""},e.getDefaults=N,e.getI18n=P,e.getInitialProps=A,e.initReactI18next=R,e.number=function(){return""},e.plural=function(){return""},e.select=function(){return""},e.selectOrdinal=function(){return""},e.setDefaults=S,e.setI18n=k,e.time=function(){return""},e.useSSR=_,e.useTranslation=$,e.withSSR=function(){return function(e){function n(n){var r=n.initialI18nStore,i=n.initialLanguage,o=s(n,Z);return _(r,i),t.createElement(e,a({},o))}return n.getInitialProps=C(e),n.displayName="withI18nextSSR(".concat(D(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 o=i.forwardedRef,c=s(i,q),l=u($(e,c),3),f=l[0],p=l[1],d=l[2],m=a(a({},c),{},{t:f,i18n:p,tReady:d});return n.withRef&&o?m.ref=o:!n.withRef&&o&&(m.forwardedRef=o),t.createElement(r,m)}i.displayName="withI18nextTranslation(".concat(D(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})}));
package/src/Trans.js CHANGED
@@ -38,7 +38,10 @@ export function nodesToString(children, i18nOptions) {
38
38
 
39
39
  // do not use `React.Children.toArray`, will fail at object children
40
40
  const childrenArray = getAsArray(children);
41
- const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
41
+ const keepArray =
42
+ i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor
43
+ ? i18nOptions.transKeepBasicHtmlNodesFor
44
+ : [];
42
45
 
43
46
  // e.g. lorem <br/> ipsum {{ messageCount, format }} dolor <strong>bold</strong> amet
44
47
  childrenArray.forEach((child, childIndex) => {
@@ -274,6 +277,7 @@ export function Trans({
274
277
  count,
275
278
  parent,
276
279
  i18nKey,
280
+ context,
277
281
  tOptions = {},
278
282
  values,
279
283
  defaults,
@@ -294,6 +298,8 @@ export function Trans({
294
298
 
295
299
  const t = tFromProps || i18n.t.bind(i18n) || ((k) => k);
296
300
 
301
+ if (context) tOptions.context = context;
302
+
297
303
  const reactI18nextOptions = { ...getDefaults(), ...(i18n.options && i18n.options.react) };
298
304
 
299
305
  // prepare having a namespace
package/ts4.1/index.d.ts CHANGED
@@ -254,6 +254,7 @@ export type TransProps<
254
254
  children?: React.ReactNode;
255
255
  components?: readonly React.ReactNode[] | { readonly [tagName: string]: React.ReactNode };
256
256
  count?: number;
257
+ context?: string;
257
258
  defaults?: string;
258
259
  i18n?: i18n;
259
260
  i18nKey?: K | K[];