react-i18next 13.0.3 → 13.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- define(["exports","react"],(function(e,n){"use strict";function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var s=t({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}),i=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function r(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(s[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 o=new RegExp(i),a=null;null!==(a=o.exec(e));)if(a[0].trim())if(a[1]){var c=a[1].trim(),l=[c,""];c.indexOf("=")>-1&&(l=c.split("=")),n.attrs[l[0]]=l[1],o.lastIndex--}else a[2]&&(n.attrs[a[2]]=a[3].trim().substring(1,a[3].length-1));return n}var o=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,a=/^\s*$/,c=Object.create(null);function l(e,n){switch(n.type){case"text":return e+n.content;case"tag":return e+="<"+n.name+(n.attrs?function(e){var n=[];for(var t in e)n.push(t+'="'+e[t]+'"');return n.length?" "+n.join(" "):""}(n.attrs):"")+(n.voidElement?"/>":">"),n.voidElement?e:e+n.children.reduce(l,"")+"</"+n.name+">";case"comment":return e+"\x3c!--"+n.comment+"--\x3e"}}var u={parse:function(e,n){n||(n={}),n.components||(n.components=c);var t,s=[],i=[],l=-1,u=!1;if(0!==e.indexOf("<")){var p=e.indexOf("<");s.push({type:"text",content:-1===p?e:e.substring(0,p)})}return e.replace(o,(function(o,c){if(u){if(o!=="</"+t.name+">")return;u=!1}var p,d="/"!==o.charAt(1),f=o.startsWith("\x3c!--"),g=c+o.length,h=e.charAt(g);if(f){var m=r(o);return l<0?(s.push(m),s):((p=i[l]).children.push(m),s)}if(d&&(l++,"tag"===(t=r(o)).type&&n.components[t.name]&&(t.type="component",u=!0),t.voidElement||u||!h||"<"===h||t.children.push({type:"text",content:e.slice(g,e.indexOf("<",g))}),0===l&&s.push(t),(p=i[l-1])&&p.children.push(t),i[l]=t),(!d||t.voidElement)&&(l>-1&&(t.voidElement||t.name===o.slice(2,-1))&&(l--,t=-1===l?s:i[l]),!u&&"<"!==h&&h)){p=-1===l?s:i[l].children;var y=e.indexOf("<",g),v=e.slice(g,-1===y?void 0:y);a.test(v)&&(v=" "),(y>-1&&l+p.length>=0||" "!==v)&&p.push({type:"text",content:v})}})),s},stringify:function(e){return e.reduce((function(e,n){return e+l("",n)}),"")}};function p(){if(console&&console.warn){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&(n[0]=`react-i18next:: ${n[0]}`),console.warn(...n)}}const d={};function f(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&d[n[0]]||("string"==typeof n[0]&&(d[n[0]]=new Date),p(...n))}const g=(e,n)=>()=>{if(e.isInitialized)n();else{const t=()=>{setTimeout((()=>{e.off("initialized",t)}),0),n()};e.on("initialized",t)}};function h(e,n,t){e.loadNamespaces(n,g(e,t))}function m(e,n,t,s){"string"==typeof t&&(t=[t]),t.forEach((n=>{e.options.ns.indexOf(n)<0&&e.options.ns.push(n)})),e.loadLanguages(n,g(e,s))}function y(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}const v=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,b={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},x=e=>b[e];let E,N={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(v,x)};function O(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};N={...N,...e}}function $(){return N}function w(e){E=e}function k(){return E}function S(e,n){if(!e)return!1;const t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function I(e){return e?e.props?e.props.children:e.children:[]}function j(e){return Array.isArray(e)?e:[e]}function C(e,t){if(!e)return"";let s="";const i=j(e),r=t.transSupportBasicHtmlNodes&&t.transKeepBasicHtmlNodesFor?t.transKeepBasicHtmlNodesFor:[];return i.forEach(((e,i)=>{if("string"==typeof e)s+=`${e}`;else if(n.isValidElement(e)){const n=Object.keys(e.props).length,o=r.indexOf(e.type)>-1,a=e.props.children;if(!a&&o&&0===n)s+=`<${e.type}/>`;else if(a||o&&0===n)if(e.props.i18nIsDynamicList)s+=`<${i}></${i}>`;else if(o&&1===n&&"string"==typeof a)s+=`<${e.type}>${a}</${e.type}>`;else{const e=C(a,t);s+=`<${i}>${e}</${i}>`}else s+=`<${i}></${i}>`}else if(null===e)p("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"==typeof e){const{format:n,...t}=e,i=Object.keys(t);if(1===i.length){const e=n?`${i[0]}, ${n}`:i[0];s+=`{{${e}}}`}else p("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",e)}else p("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}}.",e)})),s}function R(e,t,s,i,r,o){if(""===t)return[];const a=i.transKeepBasicHtmlNodesFor||[],c=t&&new RegExp(a.join("|")).test(t);if(!e&&!c&&!o)return[t];const l={};!function e(t){j(t).forEach((t=>{"string"!=typeof t&&(S(t)?e(I(t)):"object"!=typeof t||n.isValidElement(t)||Object.assign(l,t))}))}(e);const p=u.parse(`<0>${t}</0>`),d={...l,...r};function f(e,t,s){const i=I(e),r=h(i,t.children,s);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((e=>n.isValidElement(e)))}(i)&&0===r.length?i:r}function g(e,t,s,i,r){e.dummy&&(e.children=t),s.push(n.cloneElement(e,{...e.props,key:i},r?void 0:t))}function h(t,r,l){const u=j(t);return j(r).reduce(((t,r,p)=>{const m=r.children&&r.children[0]&&r.children[0].content&&s.services.interpolator.interpolate(r.children[0].content,d,s.language);if("tag"===r.type){let o=u[parseInt(r.name,10)];!o&&1===l.length&&l[0][r.name]&&(o=l[0][r.name]),o||(o={});const y=0!==Object.keys(r.attrs).length?function(e,n){const t={...n};return t.props=Object.assign(e.props,n.props),t}({props:r.attrs},o):o,v=n.isValidElement(y),b=v&&S(r,!0)&&!r.voidElement,x=c&&"object"==typeof y&&y.dummy&&!v,E="object"==typeof e&&null!==e&&Object.hasOwnProperty.call(e,r.name);if("string"==typeof y){const e=s.services.interpolator.interpolate(y,d,s.language);t.push(e)}else if(S(y)||b){g(y,f(y,r,l),t,p)}else if(x){const e=h(u,r.children,l);t.push(n.cloneElement(y,{...y.props,key:p},e))}else if(Number.isNaN(parseFloat(r.name)))if(E){g(y,f(y,r,l),t,p,r.voidElement)}else if(i.transSupportBasicHtmlNodes&&a.indexOf(r.name)>-1)if(r.voidElement)t.push(n.createElement(r.name,{key:`${r.name}-${p}`}));else{const e=h(u,r.children,l);t.push(n.createElement(r.name,{key:`${r.name}-${p}`},e))}else if(r.voidElement)t.push(`<${r.name} />`);else{const e=h(u,r.children,l);t.push(`<${r.name}>${e}</${r.name}>`)}else if("object"!=typeof y||v)1===r.children.length&&m?t.push(n.cloneElement(y,{...y.props,key:p},m)):t.push(n.cloneElement(y,{...y.props,key:p}));else{const e=r.children[0]?m:null;e&&t.push(e)}}else if("text"===r.type){const e=i.transWrapTextNodes,a=o?i.unescape(s.services.interpolator.interpolate(r.content,d,s.language)):s.services.interpolator.interpolate(r.content,d,s.language);e?t.push(n.createElement(e,{key:`${r.name}-${p}`},a)):t.push(a)}return t}),[])}return I(h([{dummy:!0,children:e||[]}],p,j(e||[]))[0])}function T(e){let{children:t,count:s,parent:i,i18nKey:r,context:o,tOptions:a={},values:c,defaults:l,components:u,ns:p,i18n:d,t:g,shouldUnescape:h,...m}=e;const y=d||k();if(!y)return f("You will need to pass in an i18next instance by using i18nextReactModule"),t;const v=g||y.t.bind(y)||(e=>e);o&&(a.context=o);const b={...$(),...y.options&&y.options.react};let x=p||v.ns||y.options&&y.options.defaultNS;x="string"==typeof x?[x]:x||["translation"];const E=l||C(t,b)||b.transEmptyNodeValue||r,{hashTransKey:N}=b,O=r||(N?N(E):E),w=c?a.interpolation:{interpolation:{...a.interpolation,prefix:"#$?",suffix:"?$#"}},S={...a,count:s,...c,...w,defaultValue:E,ns:x},I=R(u||t,O?v(O,S):E,y,b,S,h),j=void 0!==i?i:b.defaultTransParent;return j?n.createElement(j,m,I):I}const P={type:"3rdParty",init(e){O(e.options.react),w(e)}},L=n.createContext();class z{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function A(e){return n=>new Promise((t=>{const s=B();e.getInitialProps?e.getInitialProps(n).then((e=>{t({...e,...s})})):t(s)}))}function B(){const e=k(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},s={};return e.languages.forEach((t=>{s[t]={},n.forEach((n=>{s[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=s,t.initialLanguage=e.language,t}const U=(e,t)=>{const s=n.useRef();return n.useEffect((()=>{s.current=t?s.current:e}),[e,t]),s.current};function V(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:s}=t,{i18n:i,defaultNS:r}=n.useContext(L)||{},o=s||i||k();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new z),!o){f("You will need to pass in an i18next instance by using initReactI18next");const e=(e,n)=>"string"==typeof n?n:n&&"object"==typeof n&&"string"==typeof n.defaultValue?n.defaultValue:Array.isArray(e)?e[e.length-1]:e,n=[e,{},!1];return n.t=e,n.i18n={},n.ready=!1,n}o.options.react&&void 0!==o.options.react.wait&&f("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...$(),...o.options.react,...t},{useSuspense:c,keyPrefix:l}=a;let u=e||r||o.options&&o.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const p=(o.isInitialized||o.initializedStoreOnce)&&u.every((e=>function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.languages&&n.languages.length?void 0!==n.options.ignoreJSONStructure?n.hasLoadedNamespace(e,{lng:t.lng,precheck:(n,s)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!s(n.isLanguageChangingTo,e))return!1}}):function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=n.languages[0],i=!!n.options&&n.options.fallbackLng,r=n.languages[n.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=n.services.backendConnector.state[`${e}|${t}`];return-1===s||2===s};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e)||!n.hasResourceBundle(s,e)&&n.services.backendConnector.backend&&(!n.options.resources||n.options.partialBundledLanguages)&&(!o(s,e)||i&&!o(r,e)))}(e,n,t):(f("i18n.languages were undefined or empty",n.languages),!0)}(e,o,a)));function d(){return o.getFixedT(t.lng||null,"fallback"===a.nsMode?u:u[0],l)}const[g,y]=n.useState(d);let v=u.join();t.lng&&(v=`${t.lng}${v}`);const b=U(v),x=n.useRef(!0);n.useEffect((()=>{const{bindI18n:e,bindI18nStore:n}=a;function s(){x.current&&y(d)}return x.current=!0,p||c||(t.lng?m(o,t.lng,u,(()=>{x.current&&y(d)})):h(o,u,(()=>{x.current&&y(d)}))),p&&b&&b!==v&&x.current&&y(d),e&&o&&o.on(e,s),n&&o&&o.store.on(n,s),()=>{x.current=!1,e&&o&&e.split(" ").forEach((e=>o.off(e,s))),n&&o&&n.split(" ").forEach((e=>o.store.off(e,s)))}}),[o,v]);const E=n.useRef(!0);n.useEffect((()=>{x.current&&!E.current&&y(d),E.current=!1}),[o,l]);const N=[g,o,p];if(N.t=g,N.i18n=o,N.ready=p,p)return N;if(!p&&!c)return N;throw new Promise((e=>{t.lng?m(o,t.lng,u,(()=>e())):h(o,u,(()=>e()))}))}function F(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{i18n:i}=s,{i18n:r}=n.useContext(L)||{},o=i||r||k();o.options&&o.options.isClone||(e&&!o.initializedStoreOnce&&(o.services.resourceStore.data=e,o.options.ns=Object.values(e).reduce(((e,n)=>(Object.keys(n).forEach((n=>{e.indexOf(n)<0&&e.push(n)})),e)),o.options.ns),o.initializedStoreOnce=!0,o.isInitialized=!0),t&&!o.initializedLanguageOnce&&(o.changeLanguage(t),o.initializedLanguageOnce=!0))}e.I18nContext=L,e.I18nextProvider=function(e){let{i18n:t,defaultNS:s,children:i}=e;const r=n.useMemo((()=>({i18n:t,defaultNS:s})),[t,s]);return n.createElement(L.Provider,{value:r},i)},e.Trans=function(e){let{children:t,count:s,parent:i,i18nKey:r,context:o,tOptions:a={},values:c,defaults:l,components:u,ns:p,i18n:d,t:f,shouldUnescape:g,...h}=e;const{i18n:m,defaultNS:y}=n.useContext(L)||{},v=d||m||k(),b=f||v&&v.t.bind(v);return T({children:t,count:s,parent:i,i18nKey:r,context:o,tOptions:a,values:c,defaults:l,components:u,ns:p||b&&b.ns||y||v&&v.options&&v.options.defaultNS,i18n:v,t:f,shouldUnescape:g,...h})},e.TransWithoutContext=T,e.Translation=function(e){const{ns:n,children:t,...s}=e,[i,r,o]=V(n,s);return t(i,{i18n:r,lng:r.language},o)},e.composeInitialProps=A,e.date=()=>"",e.getDefaults=$,e.getI18n=k,e.getInitialProps=B,e.initReactI18next=P,e.number=()=>"",e.plural=()=>"",e.select=()=>"",e.selectOrdinal=()=>"",e.setDefaults=O,e.setI18n=w,e.time=()=>"",e.useSSR=F,e.useTranslation=V,e.withSSR=function(){return function(e){function t(t){let{initialI18nStore:s,initialLanguage:i,...r}=t;return F(s,i),n.createElement(e,{...r})}return t.getInitialProps=A(e),t.displayName=`withI18nextSSR(${y(e)})`,t.WrappedComponent=e,t}},e.withTranslation=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(s){function i(i){let{forwardedRef:r,...o}=i;const[a,c,l]=V(e,{...o,keyPrefix:t.keyPrefix}),u={...o,t:a,i18n:c,tReady:l};return t.withRef&&r?u.ref=r:!t.withRef&&r&&(u.forwardedRef=r),n.createElement(s,u)}i.displayName=`withI18nextTranslation(${y(s)})`,i.WrappedComponent=s;return t.withRef?n.forwardRef(((e,t)=>n.createElement(i,Object.assign({},e,{forwardedRef:t})))):i}}}));
1
+ define(["exports","react"],(function(e,n){"use strict";function t(){return t=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},t.apply(this,arguments)}function s(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r=s({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}),i=/\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;function o(e){var n={type:"tag",name:"",voidElement:!1,attrs:{},children:[]},t=e.match(/<\/?([^\s]+?)[/\s>]/);if(t&&(n.name=t[1],(r[t[1]]||"/"===e.charAt(e.length-2))&&(n.voidElement=!0),n.name.startsWith("!--"))){var s=e.indexOf("--\x3e");return{type:"comment",comment:-1!==s?e.slice(4,s):""}}for(var o=new RegExp(i),a=null;null!==(a=o.exec(e));)if(a[0].trim())if(a[1]){var c=a[1].trim(),l=[c,""];c.indexOf("=")>-1&&(l=c.split("=")),n.attrs[l[0]]=l[1],o.lastIndex--}else a[2]&&(n.attrs[a[2]]=a[3].trim().substring(1,a[3].length-1));return n}var a=/<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,c=/^\s*$/,l=Object.create(null);function u(e,n){switch(n.type){case"text":return e+n.content;case"tag":return e+="<"+n.name+(n.attrs?function(e){var n=[];for(var t in e)n.push(t+'="'+e[t]+'"');return n.length?" "+n.join(" "):""}(n.attrs):"")+(n.voidElement?"/>":">"),n.voidElement?e:e+n.children.reduce(u,"")+"</"+n.name+">";case"comment":return e+"\x3c!--"+n.comment+"--\x3e"}}var p={parse:function(e,n){n||(n={}),n.components||(n.components=l);var t,s=[],r=[],i=-1,u=!1;if(0!==e.indexOf("<")){var p=e.indexOf("<");s.push({type:"text",content:-1===p?e:e.substring(0,p)})}return e.replace(a,(function(a,l){if(u){if(a!=="</"+t.name+">")return;u=!1}var p,d="/"!==a.charAt(1),f=a.startsWith("\x3c!--"),g=l+a.length,h=e.charAt(g);if(f){var m=o(a);return i<0?(s.push(m),s):((p=r[i]).children.push(m),s)}if(d&&(i++,"tag"===(t=o(a)).type&&n.components[t.name]&&(t.type="component",u=!0),t.voidElement||u||!h||"<"===h||t.children.push({type:"text",content:e.slice(g,e.indexOf("<",g))}),0===i&&s.push(t),(p=r[i-1])&&p.children.push(t),r[i]=t),(!d||t.voidElement)&&(i>-1&&(t.voidElement||t.name===a.slice(2,-1))&&(i--,t=-1===i?s:r[i]),!u&&"<"!==h&&h)){p=-1===i?s:r[i].children;var y=e.indexOf("<",g),v=e.slice(g,-1===y?void 0:y);c.test(v)&&(v=" "),(y>-1&&i+p.length>=0||" "!==v)&&p.push({type:"text",content:v})}})),s},stringify:function(e){return e.reduce((function(e,n){return e+u("",n)}),"")}};function d(){if(console&&console.warn){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&(n[0]=`react-i18next:: ${n[0]}`),console.warn(...n)}}const f={};function g(){for(var e=arguments.length,n=new Array(e),t=0;t<e;t++)n[t]=arguments[t];"string"==typeof n[0]&&f[n[0]]||("string"==typeof n[0]&&(f[n[0]]=new Date),d(...n))}const h=(e,n)=>()=>{if(e.isInitialized)n();else{const t=()=>{setTimeout((()=>{e.off("initialized",t)}),0),n()};e.on("initialized",t)}};function m(e,n,t){e.loadNamespaces(n,h(e,t))}function y(e,n,t,s){"string"==typeof t&&(t=[t]),t.forEach((n=>{e.options.ns.indexOf(n)<0&&e.options.ns.push(n)})),e.loadLanguages(n,h(e,s))}function v(e){return e.displayName||e.name||("string"==typeof e&&e.length>0?e:"Unknown")}const b=/&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g,x={"&amp;":"&","&#38;":"&","&lt;":"<","&#60;":"<","&gt;":">","&#62;":">","&apos;":"'","&#39;":"'","&quot;":'"',"&#34;":'"',"&nbsp;":" ","&#160;":" ","&copy;":"©","&#169;":"©","&reg;":"®","&#174;":"®","&hellip;":"…","&#8230;":"…","&#x2F;":"/","&#47;":"/"},N=e=>x[e];let E,O={bindI18n:"languageChanged",bindI18nStore:"",transEmptyNodeValue:"",transSupportBasicHtmlNodes:!0,transWrapTextNodes:"",transKeepBasicHtmlNodesFor:["br","strong","i","p"],useSuspense:!0,unescape:e=>e.replace(b,N)};function $(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};O={...O,...e}}function w(){return O}function I(e){E=e}function S(){return E}function k(e,n){if(!e)return!1;const t=e.props?e.props.children:e.children;return n?t.length>0:!!t}function j(e){if(!e)return[];const n=e.props?e.props.children:e.children;return e.props?.i18nIsDynamicList?C(n):n}function C(e){return Array.isArray(e)?e:[e]}function R(e,t){if(!e)return"";let s="";const r=C(e),i=t.transSupportBasicHtmlNodes&&t.transKeepBasicHtmlNodesFor?t.transKeepBasicHtmlNodesFor:[];return r.forEach(((e,r)=>{if("string"==typeof e)s+=`${e}`;else if(n.isValidElement(e)){const n=Object.keys(e.props).length,o=i.indexOf(e.type)>-1,a=e.props.children;if(!a&&o&&0===n)s+=`<${e.type}/>`;else if(a||o&&0===n)if(e.props.i18nIsDynamicList)s+=`<${r}></${r}>`;else if(o&&1===n&&"string"==typeof a)s+=`<${e.type}>${a}</${e.type}>`;else{const e=R(a,t);s+=`<${r}>${e}</${r}>`}else s+=`<${r}></${r}>`}else if(null===e)d("Trans: the passed in value is invalid - seems you passed in a null child.");else if("object"==typeof e){const{format:n,...t}=e,r=Object.keys(t);if(1===r.length){const e=n?`${r[0]}, ${n}`:r[0];s+=`{{${e}}}`}else d("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.",e)}else d("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}}.",e)})),s}function T(e,s,r,i,o,a){if(""===s)return[];const c=i.transKeepBasicHtmlNodesFor||[],l=s&&new RegExp(c.map((e=>`<${e}`)).join("|")).test(s);if(!e&&!l&&!a)return[s];const u={};!function e(t){C(t).forEach((t=>{"string"!=typeof t&&(k(t)?e(j(t)):"object"!=typeof t||n.isValidElement(t)||Object.assign(u,t))}))}(e);const d=p.parse(`<0>${s}</0>`),f={...u,...o};function g(e,t,s){const r=j(e),i=m(r,t.children,s);return function(e){return"[object Array]"===Object.prototype.toString.call(e)&&e.every((e=>n.isValidElement(e)))}(r)&&0===i.length?r:i}function h(e,s,r,i,o){e.dummy?(e.children=s,r.push(n.cloneElement(e,{key:i},o?void 0:s))):r.push(...n.Children.map([e],(e=>{const r={...e.props};return delete r.i18nIsDynamicList,n.createElement(e.type,t({},r,{key:i,ref:e.ref},o?{}:{children:s}))})))}function m(t,s,o){const u=C(t);return C(s).reduce(((t,s,p)=>{const d=s.children&&s.children[0]&&s.children[0].content&&r.services.interpolator.interpolate(s.children[0].content,f,r.language);if("tag"===s.type){let a=u[parseInt(s.name,10)];1===o.length&&(a||=o[0][s.name]),a||={};const y=0!==Object.keys(s.attrs).length?function(e,n){const t={...n};return t.props=Object.assign(e.props,n.props),t}({props:s.attrs},a):a,v=n.isValidElement(y),b=v&&k(s,!0)&&!s.voidElement,x=l&&"object"==typeof y&&y.dummy&&!v,N="object"==typeof e&&null!==e&&Object.hasOwnProperty.call(e,s.name);if("string"==typeof y){const e=r.services.interpolator.interpolate(y,f,r.language);t.push(e)}else if(k(y)||b){h(y,g(y,s,o),t,p)}else if(x){h(y,m(u,s.children,o),t,p)}else if(Number.isNaN(parseFloat(s.name)))if(N){h(y,g(y,s,o),t,p,s.voidElement)}else if(i.transSupportBasicHtmlNodes&&c.indexOf(s.name)>-1)if(s.voidElement)t.push(n.createElement(s.name,{key:`${s.name}-${p}`}));else{const e=m(u,s.children,o);t.push(n.createElement(s.name,{key:`${s.name}-${p}`},e))}else if(s.voidElement)t.push(`<${s.name} />`);else{const e=m(u,s.children,o);t.push(`<${s.name}>${e}</${s.name}>`)}else if("object"!=typeof y||v)h(y,d,t,p,1!==s.children.length||!d);else{const e=s.children[0]?d:null;e&&t.push(e)}}else if("text"===s.type){const e=i.transWrapTextNodes,o=a?i.unescape(r.services.interpolator.interpolate(s.content,f,r.language)):r.services.interpolator.interpolate(s.content,f,r.language);e?t.push(n.createElement(e,{key:`${s.name}-${p}`},o)):t.push(o)}return t}),[])}return j(m([{dummy:!0,children:e||[]}],d,C(e||[]))[0])}function L(e){let{children:t,count:s,parent:r,i18nKey:i,context:o,tOptions:a={},values:c,defaults:l,components:u,ns:p,i18n:d,t:f,shouldUnescape:h,...m}=e;const y=d||S();if(!y)return g("You will need to pass in an i18next instance by using i18nextReactModule"),t;const v=f||y.t.bind(y)||(e=>e);o&&(a.context=o);const b={...w(),...y.options&&y.options.react};let x=p||v.ns||y.options&&y.options.defaultNS;x="string"==typeof x?[x]:x||["translation"];const N=l||R(t,b)||b.transEmptyNodeValue||i,{hashTransKey:E}=b,O=i||(E?E(N):N),$=c?a.interpolation:{interpolation:{...a.interpolation,prefix:"#$?",suffix:"?$#"}},I={...a,count:s,...c,...$,defaultValue:N,ns:x},k=T(u||t,O?v(O,I):N,y,b,I,h),j=void 0!==r?r:b.defaultTransParent;return j?n.createElement(j,m,k):k}const P={type:"3rdParty",init(e){$(e.options.react),I(e)}},z=n.createContext();class A{constructor(){this.usedNamespaces={}}addUsedNamespaces(e){e.forEach((e=>{this.usedNamespaces[e]||(this.usedNamespaces[e]=!0)}))}getUsedNamespaces(){return Object.keys(this.usedNamespaces)}}function B(e){return n=>new Promise((t=>{const s=U();e.getInitialProps?e.getInitialProps(n).then((e=>{t({...e,...s})})):t(s)}))}function U(){const e=S(),n=e.reportNamespaces?e.reportNamespaces.getUsedNamespaces():[],t={},s={};return e.languages.forEach((t=>{s[t]={},n.forEach((n=>{s[t][n]=e.getResourceBundle(t,n)||{}}))})),t.initialI18nStore=s,t.initialLanguage=e.language,t}const V=(e,t)=>{const s=n.useRef();return n.useEffect((()=>{s.current=t?s.current:e}),[e,t]),s.current};function F(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{i18n:s}=t,{i18n:r,defaultNS:i}=n.useContext(z)||{},o=s||r||S();if(o&&!o.reportNamespaces&&(o.reportNamespaces=new A),!o){g("You will need to pass in an i18next instance by using initReactI18next");const e=(e,n)=>"string"==typeof n?n:n&&"object"==typeof n&&"string"==typeof n.defaultValue?n.defaultValue:Array.isArray(e)?e[e.length-1]:e,n=[e,{},!1];return n.t=e,n.i18n={},n.ready=!1,n}o.options.react&&void 0!==o.options.react.wait&&g("It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.");const a={...w(),...o.options.react,...t},{useSuspense:c,keyPrefix:l}=a;let u=e||i||o.options&&o.options.defaultNS;u="string"==typeof u?[u]:u||["translation"],o.reportNamespaces.addUsedNamespaces&&o.reportNamespaces.addUsedNamespaces(u);const p=(o.isInitialized||o.initializedStoreOnce)&&u.every((e=>function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return n.languages&&n.languages.length?void 0!==n.options.ignoreJSONStructure?n.hasLoadedNamespace(e,{lng:t.lng,precheck:(n,s)=>{if(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!s(n.isLanguageChangingTo,e))return!1}}):function(e,n){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const s=n.languages[0],r=!!n.options&&n.options.fallbackLng,i=n.languages[n.languages.length-1];if("cimode"===s.toLowerCase())return!0;const o=(e,t)=>{const s=n.services.backendConnector.state[`${e}|${t}`];return-1===s||2===s};return!(t.bindI18n&&t.bindI18n.indexOf("languageChanging")>-1&&n.services.backendConnector.backend&&n.isLanguageChangingTo&&!o(n.isLanguageChangingTo,e)||!n.hasResourceBundle(s,e)&&n.services.backendConnector.backend&&(!n.options.resources||n.options.partialBundledLanguages)&&(!o(s,e)||r&&!o(i,e)))}(e,n,t):(g("i18n.languages were undefined or empty",n.languages),!0)}(e,o,a)));function d(){return o.getFixedT(t.lng||null,"fallback"===a.nsMode?u:u[0],l)}const[f,h]=n.useState(d);let v=u.join();t.lng&&(v=`${t.lng}${v}`);const b=V(v),x=n.useRef(!0);n.useEffect((()=>{const{bindI18n:e,bindI18nStore:n}=a;function s(){x.current&&h(d)}return x.current=!0,p||c||(t.lng?y(o,t.lng,u,(()=>{x.current&&h(d)})):m(o,u,(()=>{x.current&&h(d)}))),p&&b&&b!==v&&x.current&&h(d),e&&o&&o.on(e,s),n&&o&&o.store.on(n,s),()=>{x.current=!1,e&&o&&e.split(" ").forEach((e=>o.off(e,s))),n&&o&&n.split(" ").forEach((e=>o.store.off(e,s)))}}),[o,v]);const N=n.useRef(!0);n.useEffect((()=>{x.current&&!N.current&&h(d),N.current=!1}),[o,l]);const E=[f,o,p];if(E.t=f,E.i18n=o,E.ready=p,p)return E;if(!p&&!c)return E;throw new Promise((e=>{t.lng?y(o,t.lng,u,(()=>e())):m(o,u,(()=>e()))}))}function K(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{i18n:r}=s,{i18n:i}=n.useContext(z)||{},o=r||i||S();o.options&&o.options.isClone||(e&&!o.initializedStoreOnce&&(o.services.resourceStore.data=e,o.options.ns=Object.values(e).reduce(((e,n)=>(Object.keys(n).forEach((n=>{e.indexOf(n)<0&&e.push(n)})),e)),o.options.ns),o.initializedStoreOnce=!0,o.isInitialized=!0),t&&!o.initializedLanguageOnce&&(o.changeLanguage(t),o.initializedLanguageOnce=!0))}e.I18nContext=z,e.I18nextProvider=function(e){let{i18n:t,defaultNS:s,children:r}=e;const i=n.useMemo((()=>({i18n:t,defaultNS:s})),[t,s]);return n.createElement(z.Provider,{value:i},r)},e.Trans=function(e){let{children:t,count:s,parent:r,i18nKey:i,context:o,tOptions:a={},values:c,defaults:l,components:u,ns:p,i18n:d,t:f,shouldUnescape:g,...h}=e;const{i18n:m,defaultNS:y}=n.useContext(z)||{},v=d||m||S(),b=f||v&&v.t.bind(v);return L({children:t,count:s,parent:r,i18nKey:i,context:o,tOptions:a,values:c,defaults:l,components:u,ns:p||b&&b.ns||y||v&&v.options&&v.options.defaultNS,i18n:v,t:f,shouldUnescape:g,...h})},e.TransWithoutContext=L,e.Translation=function(e){const{ns:n,children:t,...s}=e,[r,i,o]=F(n,s);return t(r,{i18n:i,lng:i.language},o)},e.composeInitialProps=B,e.date=()=>"",e.getDefaults=w,e.getI18n=S,e.getInitialProps=U,e.initReactI18next=P,e.number=()=>"",e.plural=()=>"",e.select=()=>"",e.selectOrdinal=()=>"",e.setDefaults=$,e.setI18n=I,e.time=()=>"",e.useSSR=K,e.useTranslation=F,e.withSSR=function(){return function(e){function t(t){let{initialI18nStore:s,initialLanguage:r,...i}=t;return K(s,r),n.createElement(e,{...i})}return t.getInitialProps=B(e),t.displayName=`withI18nextSSR(${v(e)})`,t.WrappedComponent=e,t}},e.withTranslation=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(s){function r(r){let{forwardedRef:i,...o}=r;const[a,c,l]=F(e,{...o,keyPrefix:t.keyPrefix}),u={...o,t:a,i18n:c,tReady:l};return t.withRef&&i?u.ref=i:!t.withRef&&i&&(u.forwardedRef=i),n.createElement(s,u)}r.displayName=`withI18nextTranslation(${v(s)})`,r.WrappedComponent=s;return t.withRef?n.forwardRef(((e,t)=>n.createElement(r,Object.assign({},e,{forwardedRef:t})))):r}}}));
@@ -6,11 +6,14 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.Trans = Trans;
8
8
  exports.nodesToString = nodesToString;
9
- var _react = require("react");
9
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
10
+ var _react = _interopRequireWildcard(require("react"));
10
11
  var _htmlParseStringify = _interopRequireDefault(require("html-parse-stringify"));
11
12
  var _utils = require("./utils.js");
12
13
  var _defaults = require("./defaults.js");
13
14
  var _i18nInstance = require("./i18nInstance.js");
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
17
  function hasChildren(node, checkLength) {
15
18
  if (!node) return false;
16
19
  const base = node.props ? node.props.children : node.children;
@@ -19,7 +22,8 @@ function hasChildren(node, checkLength) {
19
22
  }
20
23
  function getChildren(node) {
21
24
  if (!node) return [];
22
- return node.props ? node.props.children : node.children;
25
+ const children = node.props ? node.props.children : node.children;
26
+ return node.props?.i18nIsDynamicList ? getAsArray(children) : children;
23
27
  }
24
28
  function hasValidReactChildren(children) {
25
29
  if (Object.prototype.toString.call(children) !== '[object Array]') return false;
@@ -82,7 +86,7 @@ function nodesToString(children, i18nOptions) {
82
86
  function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
83
87
  if (targetString === '') return [];
84
88
  const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
85
- const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
89
+ const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);
86
90
  if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];
87
91
  const data = {};
88
92
  function getData(childs) {
@@ -104,11 +108,25 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
104
108
  return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
105
109
  }
106
110
  function pushTranslatedJSX(child, inner, mem, i, isVoid) {
107
- if (child.dummy) child.children = inner;
108
- mem.push((0, _react.cloneElement)(child, {
109
- ...child.props,
110
- key: i
111
- }, isVoid ? undefined : inner));
111
+ if (child.dummy) {
112
+ child.children = inner;
113
+ mem.push((0, _react.cloneElement)(child, {
114
+ key: i
115
+ }, isVoid ? undefined : inner));
116
+ } else {
117
+ mem.push(..._react.Children.map([child], c => {
118
+ const props = {
119
+ ...c.props
120
+ };
121
+ delete props.i18nIsDynamicList;
122
+ return _react.default.createElement(c.type, (0, _extends2.default)({}, props, {
123
+ key: i,
124
+ ref: c.ref
125
+ }, isVoid ? {} : {
126
+ children: inner
127
+ }));
128
+ }));
129
+ }
112
130
  }
113
131
  function mapAST(reactNode, astNode, rootReactNode) {
114
132
  const reactNodes = getAsArray(reactNode);
@@ -117,8 +135,8 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
117
135
  const translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
118
136
  if (node.type === 'tag') {
119
137
  let tmp = reactNodes[parseInt(node.name, 10)];
120
- if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
121
- if (!tmp) tmp = {};
138
+ if (rootReactNode.length === 1) tmp ||= rootReactNode[0][node.name];
139
+ tmp ||= {};
122
140
  const child = Object.keys(node.attrs).length !== 0 ? mergeProps({
123
141
  props: node.attrs
124
142
  }, tmp) : tmp;
@@ -134,10 +152,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
134
152
  pushTranslatedJSX(child, inner, mem, i);
135
153
  } else if (isEmptyTransWithHTML) {
136
154
  const inner = mapAST(reactNodes, node.children, rootReactNode);
137
- mem.push((0, _react.cloneElement)(child, {
138
- ...child.props,
139
- key: i
140
- }, inner));
155
+ pushTranslatedJSX(child, inner, mem, i);
141
156
  } else if (Number.isNaN(parseFloat(node.name))) {
142
157
  if (isKnownComponent) {
143
158
  const inner = renderInner(child, node, rootReactNode);
@@ -162,16 +177,8 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
162
177
  } else if (typeof child === 'object' && !isElement) {
163
178
  const content = node.children[0] ? translationContent : null;
164
179
  if (content) mem.push(content);
165
- } else if (node.children.length === 1 && translationContent) {
166
- mem.push((0, _react.cloneElement)(child, {
167
- ...child.props,
168
- key: i
169
- }, translationContent));
170
180
  } else {
171
- mem.push((0, _react.cloneElement)(child, {
172
- ...child.props,
173
- key: i
174
- }));
181
+ pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);
175
182
  }
176
183
  } else if (node.type === 'text') {
177
184
  const wrapTextNodes = i18nOptions.transWrapTextNodes;
@@ -1,4 +1,5 @@
1
- import { isValidElement, cloneElement, createElement } from 'react';
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import React, { isValidElement, cloneElement, createElement, Children } from 'react';
2
3
  import HTML from 'html-parse-stringify';
3
4
  import { warn, warnOnce } from './utils.js';
4
5
  import { getDefaults } from './defaults.js';
@@ -11,7 +12,8 @@ function hasChildren(node, checkLength) {
11
12
  }
12
13
  function getChildren(node) {
13
14
  if (!node) return [];
14
- return node.props ? node.props.children : node.children;
15
+ const children = node.props ? node.props.children : node.children;
16
+ return node.props?.i18nIsDynamicList ? getAsArray(children) : children;
15
17
  }
16
18
  function hasValidReactChildren(children) {
17
19
  if (Object.prototype.toString.call(children) !== '[object Array]') return false;
@@ -74,7 +76,7 @@ export function nodesToString(children, i18nOptions) {
74
76
  function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
75
77
  if (targetString === '') return [];
76
78
  const keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
77
- const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
79
+ const emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.map(keep => `<${keep}`).join('|')).test(targetString);
78
80
  if (!children && !emptyChildrenButNeedsHandling && !shouldUnescape) return [targetString];
79
81
  const data = {};
80
82
  function getData(childs) {
@@ -96,11 +98,25 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
96
98
  return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
97
99
  }
98
100
  function pushTranslatedJSX(child, inner, mem, i, isVoid) {
99
- if (child.dummy) child.children = inner;
100
- mem.push(cloneElement(child, {
101
- ...child.props,
102
- key: i
103
- }, isVoid ? undefined : inner));
101
+ if (child.dummy) {
102
+ child.children = inner;
103
+ mem.push(cloneElement(child, {
104
+ key: i
105
+ }, isVoid ? undefined : inner));
106
+ } else {
107
+ mem.push(...Children.map([child], c => {
108
+ const props = {
109
+ ...c.props
110
+ };
111
+ delete props.i18nIsDynamicList;
112
+ return React.createElement(c.type, _extends({}, props, {
113
+ key: i,
114
+ ref: c.ref
115
+ }, isVoid ? {} : {
116
+ children: inner
117
+ }));
118
+ }));
119
+ }
104
120
  }
105
121
  function mapAST(reactNode, astNode, rootReactNode) {
106
122
  const reactNodes = getAsArray(reactNode);
@@ -109,8 +125,8 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
109
125
  const translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
110
126
  if (node.type === 'tag') {
111
127
  let tmp = reactNodes[parseInt(node.name, 10)];
112
- if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
113
- if (!tmp) tmp = {};
128
+ if (rootReactNode.length === 1) tmp ||= rootReactNode[0][node.name];
129
+ tmp ||= {};
114
130
  const child = Object.keys(node.attrs).length !== 0 ? mergeProps({
115
131
  props: node.attrs
116
132
  }, tmp) : tmp;
@@ -126,10 +142,7 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
126
142
  pushTranslatedJSX(child, inner, mem, i);
127
143
  } else if (isEmptyTransWithHTML) {
128
144
  const inner = mapAST(reactNodes, node.children, rootReactNode);
129
- mem.push(cloneElement(child, {
130
- ...child.props,
131
- key: i
132
- }, inner));
145
+ pushTranslatedJSX(child, inner, mem, i);
133
146
  } else if (Number.isNaN(parseFloat(node.name))) {
134
147
  if (isKnownComponent) {
135
148
  const inner = renderInner(child, node, rootReactNode);
@@ -154,16 +167,8 @@ function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, s
154
167
  } else if (typeof child === 'object' && !isElement) {
155
168
  const content = node.children[0] ? translationContent : null;
156
169
  if (content) mem.push(content);
157
- } else if (node.children.length === 1 && translationContent) {
158
- mem.push(cloneElement(child, {
159
- ...child.props,
160
- key: i
161
- }, translationContent));
162
170
  } else {
163
- mem.push(cloneElement(child, {
164
- ...child.props,
165
- key: i
166
- }));
171
+ pushTranslatedJSX(child, translationContent, mem, i, node.children.length !== 1 || !translationContent);
167
172
  }
168
173
  } else if (node.type === 'text') {
169
174
  const wrapTextNodes = i18nOptions.transWrapTextNodes;
@@ -1 +1 @@
1
- {"type":"module","version":"13.0.3"}
1
+ {"type":"module","version":"13.1.0"}