gt-react 9.2.22 → 9.2.24

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
- import e,{isValidElement as r}from"react";import"generaltranslation";import{jsx as t}from"react/jsx-runtime";const n=e=>`Duplicate key found in dictionary: "${e}"`;function a(e,r=""){const t={};for(const i in e)if(e.hasOwnProperty(i)){const o=r?`${r}.${i}`:i;if("object"!=typeof e[i]||null===e[i]||Array.isArray(e[i])){if(t.hasOwnProperty(o))throw new Error(n(o));t[o]=e[i]}else{const r=a(e[i],o);for(const e in r){if(t.hasOwnProperty(e))throw new Error(n(e));t[e]=r[e]}}}return t}function i(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)r.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(t[n[a]]=e[n[a]])}return t}"function"==typeof SuppressedError&&SuppressedError;var o="en",l=["singular","plural","dual","zero","one","two","few","many","other"];var s=new(function(){function e(){this.cache=new Map}return e.prototype._generateKey=function(e,r,t){void 0===t&&(t={});var n=Array.isArray(r)?r.join(","):r,a=t?JSON.stringify(t,Object.keys(t).sort()):"{}";return"".concat(e,":").concat(n,":").concat(a)},e.prototype.get=function(e,r,t){void 0===t&&(t={});var n=this._generateKey(e,r,t);if(!this.cache.has(n)){var a=new Intl[e](r,t);this.cache.set(n,a)}return this.cache.get(n)},e}());function c(t,n=0){let a=n;const o=e=>{const{type:r,props:t}=e;a+=1;let n,o={id:a};try{n="function"==typeof r&&r.gtTransformation||""}catch(e){n=""}if(n){const r=n.split("-");if("translate"===r[0])throw new Error((e=>{var r;return`General Translation: Nested <T> components. The inner <T> has the id: "${null===(r=null==e?void 0:e.props)||void 0===r?void 0:r.id}".`})(e));if("variable"===r[0]&&(o.variableType=(null==r?void 0:r[1])||"variable"),"plural"===r[0]){const e=Object.entries(t).reduce(((e,[r,t])=>{var n;return n=r,l.includes(n)&&(e[r]=c(t,a)),e}),{});Object.keys(e).length&&(o.branches=e)}if("branch"===r[0]){const{children:e,branch:r}=t,n=i(t,["children","branch"]),l=Object.entries(n).reduce(((e,[r,t])=>(e[r]=c(t,a),e)),{});Object.keys(l).length&&(o.branches=l)}o.transformation=r[0]}return o};function s(t){return r(t)?function(r){const{props:t}=r;if(t["data-_gt"])throw new Error((e=>`General Translation already in use on child with props: ${e.props}. This usually occurs when you nest <T> components within the same file. Remove one of the <T> components to continue.`)(r));let n=o(r),a=Object.assign(Object.assign({},t),{"data-_gt":n});return t.children&&!n.variableType&&(a.children=u(t.children)),r.type===e.Fragment&&(a["data-_gt"].transformation="fragment"),e.cloneElement(r,a)}(t):t}function u(r){return Array.isArray(r)?e.Children.map(r,s):s(r)}return u(t)}const u={variable:"value",number:"n",datetime:"date",currency:"cost"};function d(e={},r){var t;if(e.name)return e.name;return`_gt_${u[r]||"value"}_${null===(t=e["data-_gt"])||void 0===t?void 0:t.id}`}const p=e=>{var r;if(!e)return"";const{type:t,props:n}=e;if(t&&"function"==typeof t){if("displayName"in t&&"string"==typeof t.displayName&&t.displayName)return t.displayName;if("name"in t&&"string"==typeof t.name&&t.name)return t.name}return t&&"string"==typeof t?t:n.href?"a":(null===(r=n["data-_gt"])||void 0===r?void 0:r.id)?`C${n["data-_gt"].id}`:"function"},f=r=>{return t=r,e.isValidElement(t)?(e=>{const{type:r,props:t}=e;let n={type:p(e),props:{}};if(t["data-_gt"]){const e=t["data-_gt"];let r=Object.assign({},e);const a=e.transformation;if("variable"===a){const r=e.variableType||"variable";return{variable:r,key:d(t,r),id:e.id}}if("plural"===a&&e.branches){n.type="Plural";let t={};Object.entries(e.branches).forEach((([e,r])=>{t[e]=b(r)})),r=Object.assign(Object.assign({},r),{branches:t})}if("branch"===a&&e.branches){n.type="Branch";let t={};Object.entries(e.branches).forEach((([e,r])=>{t[e]=b(r)})),r=Object.assign(Object.assign({},r),{branches:t})}n.props["data-_gt"]=r}return t.children&&(n.props.children=b(t.children)),n})(r):"number"==typeof r?r.toString():r;var t};function b(e){return Array.isArray(e)?e.map(f):f(e)}function y(e,r,t){let n="",a=null;return"number"==typeof e&&!a&&t&&(n=function(e,r,t){void 0===r&&(r=l),void 0===t&&(t=["en"]);var n=s.get("PluralRules",t).select(e),a=Math.abs(e);if(0===a&&r.includes("zero"))return"zero";if(1===a){if(r.includes("singular"))return"singular";if(r.includes("one"))return"one"}if("one"===n&&r.includes("singular"))return"singular";if(2===a){if(r.includes("dual"))return"dual";if(r.includes("two"))return"two"}return"two"===n&&r.includes("dual")?"dual":r.includes(n)?n:"two"===n&&r.includes("dual")?"dual":"two"===n&&r.includes("plural")?"plural":"two"===n&&r.includes("other")?"other":"few"===n&&r.includes("plural")?"plural":"few"===n&&r.includes("other")?"other":"many"===n&&r.includes("plural")?"plural":"many"===n&&r.includes("other")?"other":"other"===n&&r.includes("plural")?"plural":""}(e,Object.keys(t),r)),n&&!a&&(a=t[n]),a}function h(e){if("string"==typeof e)return!0;if(Array.isArray(e)){if("string"!=typeof(null==e?void 0:e[0]))return!1;const r=null==e?void 0:e[1];if(void 0===r)return!0;if(r&&"object"==typeof r)return!0}return!1}function v(r,t){let n=r,a=t.split(".");for(const r of a){if("object"!=typeof n||Array.isArray(n)||e.isValidElement(n))return;n=n[r]}return n}function g(e){if(Array.isArray(e)){if(1===e.length)return{entry:e[0]};if(2===e.length)return{entry:e[0],metadata:e[1]}}return{entry:e}}function m(e){var r;const t=(null===(r=e["data-_gt"])||void 0===r?void 0:r.variableType)||"variable";return{variableName:d(e,t),variableType:t,variableValue:void 0!==e.value?e.value:void 0!==e["data-_gt-unformatted-value"]?e["data-_gt-unformatted-value"]:void 0!==e.children?e.children:void 0,variableOptions:(()=>{const r=Object.assign(Object.assign({},e.currency&&{currency:e.currency}),e.options&&Object.assign({},e.options));return Object.keys(r).length?r:"string"==typeof e["data-_gt-variable-options"]?JSON.parse(e["data-_gt-variable-options"]):e["data-_gt-variable-options"]||void 0})()}}function O(e){const r=e;if(r&&"object"==typeof r&&"string"==typeof r.key){const e=Object.keys(r);if(1===e.length)return!0;if(2===e.length){if("number"==typeof r.id)return!0;if("string"==typeof r.variable)return!0}if(3===e.length&&"string"==typeof r.variable&&"number"==typeof r.id)return!0}return!1}function j(e){return e&&e.props&&e.props["data-_gt"]?e.props["data-_gt"]:null}function _({children:r,defaultLocale:t=o,renderVariable:n}){const a=r=>e.isValidElement(r)?(r=>{const a=j(r);if("variable"===(null==a?void 0:a.transformation)){const{variableType:e,variableValue:a,variableOptions:i}=m(r.props);return n({variableType:e,variableValue:a,variableOptions:i,locales:[t]})}if("plural"===(null==a?void 0:a.transformation)){const e=a.branches||{};return l(y(r.props.n,[t],e)||r.props.children)}if("branch"===(null==a?void 0:a.transformation)){let e=r.props,{children:t,name:n,branch:o,"data-_gt":s}=e,c=i(e,["children","name","branch","data-_gt"]);return n=n||r.props["data-_gt-name"]||"branch",c=a.branches||{},l(void 0!==c[o]?c[o]:t)}return"fragment"===(null==a?void 0:a.transformation)?e.createElement(r.type,{key:r.props.key,children:l(r.props.children)}):r.props.children?e.cloneElement(r,Object.assign(Object.assign({},r.props),{"data-_gt":void 0,children:l(r.props.children)})):e.cloneElement(r,Object.assign(Object.assign({},r.props),{"data-_gt":void 0}))})(r):r,l=r=>Array.isArray(r)?e.Children.map(r,a):a(r);return l(r)}function E({sourceElement:r,targetElement:t,locales:n=[o],renderVariable:a}){var i,l;const{props:s}=r,c=s["data-_gt"],u=null==c?void 0:c.transformation;if("plural"===u){const e=r.props.n;return w({source:y(e,n,c.branches||{})||r.props.children,target:y(e,n,t.props["data-_gt"].branches||{})||t.props.children,locales:n,renderVariable:a})}if("branch"===u){let{name:e,branch:i,children:o}=s;e=e||r.props["data-_gt-name"]||"branch";return w({source:(c.branches||{})[i]||o,target:(t.props["data-_gt"].branches||{})[i]||t.props.children,locales:n,renderVariable:a})}return"fragment"===u&&(null===(i=t.props)||void 0===i?void 0:i.children)?e.createElement(r.type,{key:r.props.key,children:w({source:s.children,target:t.props.children,locales:n,renderVariable:a})}):(null==s?void 0:s.children)&&(null===(l=t.props)||void 0===l?void 0:l.children)?e.cloneElement(r,Object.assign(Object.assign({},s),{"data-_gt":void 0,children:w({source:s.children,target:t.props.children,locales:n,renderVariable:a})})):_({children:r,defaultLocale:n[0],renderVariable:a})}function w({source:r,target:n,locales:a=[o],renderVariable:i}){if(null==n&&r)return _({children:r,defaultLocale:a[0],renderVariable:i});if("string"==typeof n)return n;if(Array.isArray(n)&&!Array.isArray(r)&&r&&(r=[r]),Array.isArray(r)&&Array.isArray(n)){const o={},l={},s=r.filter((r=>{if(e.isValidElement(r)){const e=j(r);if("variable"!==(null==e?void 0:e.transformation))return!0;{let{variableName:e,variableValue:t,variableOptions:n}=m(r.props);o[e]=t,l[e]=n}}})),c=e=>s.find((r=>{var t,n;const a=j(r);if(void 0!==(null==a?void 0:a.id)){return a.id===(null===(n=null===(t=null==e?void 0:e.props)||void 0===t?void 0:t["data-_gt"])||void 0===n?void 0:n.id)}return!1}))||s.shift();return n.map(((r,n)=>{if("string"==typeof r)return t(e.Fragment,{children:r},`string_${n}`);if(O(r))return t(e.Fragment,{children:i({variableType:r.variable||"variable",variableValue:o[r.key],variableOptions:l[r.key],locales:a})},`var_${n}`);const s=c(r);return s?t(e.Fragment,{children:E({sourceElement:s,targetElement:r,locales:a,renderVariable:i})},`element_${n}`):void 0}))}if(n&&"object"==typeof n&&!Array.isArray(n)){const t=O(n)?"variable":"element";if(e.isValidElement(r)){if("element"===t)return E({sourceElement:r,targetElement:n,locales:a,renderVariable:i});const e=j(r);if("variable"===(null==e?void 0:e.transformation)){const{variableValue:e,variableOptions:t,variableType:n}=m(r.props);return i({variableType:n,variableValue:e,variableOptions:t,locales:a})}}}return _({children:r,defaultLocale:a[0],renderVariable:i})}const A={method:"default",timeout:"undefined"!=typeof process&&"development"!==process.env.NODE_ENV?8e3:12e3};function V(){return""}class T extends Error{constructor(e,r){super(e),this.error=e,this.code=r,this.code=r}toTranslationError(){return{state:"error",error:this.error,code:this.code}}}const k="generaltranslation.locale",N=e=>"string"==typeof e||Array.isArray(e),$=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);function P(e,r){const t=Object.assign(Object.assign({},Object.fromEntries(Object.entries(e).filter((([,e])=>N(e))))),Object.fromEntries(Object.entries(r).filter((([,e])=>N(e))))),n=Object.entries(e).filter((([,e])=>$(e))).map((([e])=>e)),a=Object.entries(r).filter((([,e])=>$(e))).map((([e])=>e)),i=new Set([...n,...a]);for(const n of i)t[n]=P(e[n]||{},r[n]||{});return t}export{T as GTTranslationError,c as addGTIdentifier,k as defaultLocaleCookieName,A as defaultRenderSettings,a as flattenDictionary,v as getDictionaryEntry,g as getEntryAndMetadata,y as getPluralBranch,d as getVariableName,m as getVariableProps,h as isValidDictionaryEntry,O as isVariableObject,P as mergeDictionaries,_ as renderDefaultChildren,V as renderSkeleton,w as renderTranslatedChildren,b as writeChildrenAsObjects};
1
+ import e,{isValidElement as r}from"react";import"generaltranslation";import{jsx as t}from"react/jsx-runtime";const n=e=>`Duplicate key found in dictionary: "${e}"`;function a(e,r=""){const t={};for(const i in e)if(e.hasOwnProperty(i)){const o=r?`${r}.${i}`:i;if("object"!=typeof e[i]||null===e[i]||Array.isArray(e[i])){if(t.hasOwnProperty(o))throw new Error(n(o));t[o]=e[i]}else{const r=a(e[i],o);for(const e in r){if(t.hasOwnProperty(e))throw new Error(n(e));t[e]=r[e]}}}return t}function i(e,r){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&r.indexOf(n)<0&&(t[n]=e[n]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var a=0;for(n=Object.getOwnPropertySymbols(e);a<n.length;a++)r.indexOf(n[a])<0&&Object.prototype.propertyIsEnumerable.call(e,n[a])&&(t[n[a]]=e[n[a]])}return t}"function"==typeof SuppressedError&&SuppressedError;var o="en",l=["singular","plural","dual","zero","one","two","few","many","other"];var s=new(function(){function e(){this.cache=new Map}return e.prototype._generateKey=function(e,r,t){void 0===t&&(t={});var n=Array.isArray(r)?r.join(","):r,a=t?JSON.stringify(t,Object.keys(t).sort()):"{}";return"".concat(e,":").concat(n,":").concat(a)},e.prototype.get=function(e,r,t){void 0===t&&(t={});var n=this._generateKey(e,r,t);if(!this.cache.has(n)){var a=new Intl[e](r,t);this.cache.set(n,a)}return this.cache.get(n)},e}());function c(t,n=0){let a=n;const o=e=>{const{type:r,props:t}=e;a+=1;const n={id:a};let o;try{o="function"==typeof r&&r.gtTransformation||""}catch(e){o=""}if(o){const r=o.split("-");if("translate"===r[0])throw new Error((e=>{var r;return`General Translation: Nested <T> components. The inner <T> has the id: "${null===(r=null==e?void 0:e.props)||void 0===r?void 0:r.id}".`})(e));if("variable"===r[0]&&(n.variableType=(null==r?void 0:r[1])||"variable"),"plural"===r[0]){const e=Object.entries(t).reduce(((e,[r,t])=>{var n;return n=r,l.includes(n)&&(e[r]=c(t,a)),e}),{});Object.keys(e).length&&(n.branches=e)}if("branch"===r[0]){const{children:e,branch:r}=t,o=i(t,["children","branch"]),l=Object.entries(o).reduce(((e,[r,t])=>(e[r]=c(t,a),e)),{});Object.keys(l).length&&(n.branches=l)}n.transformation=r[0]}return n};function s(t){return r(t)?function(r){const{props:t}=r;if(t["data-_gt"])throw new Error((e=>`General Translation already in use on child with props: ${e.props}. This usually occurs when you nest <T> components within the same file. Remove one of the <T> components to continue.`)(r));const n=o(r),a=Object.assign(Object.assign({},t),{"data-_gt":n});return t.children&&!n.variableType&&(a.children=u(t.children)),r.type===e.Fragment&&(a["data-_gt"].transformation="fragment"),e.cloneElement(r,a)}(t):t}function u(r){return Array.isArray(r)?e.Children.map(r,s):s(r)}return u(t)}const u={variable:"value",number:"n",datetime:"date",currency:"cost"};function d(e={},r){var t;if(e.name)return e.name;return`_gt_${u[r]||"value"}_${null===(t=e["data-_gt"])||void 0===t?void 0:t.id}`}const p=e=>{var r;if(!e)return"";const{type:t,props:n}=e;if(t&&"function"==typeof t){if("displayName"in t&&"string"==typeof t.displayName&&t.displayName)return t.displayName;if("name"in t&&"string"==typeof t.name&&t.name)return t.name}return t&&"string"==typeof t?t:n.href?"a":(null===(r=n["data-_gt"])||void 0===r?void 0:r.id)?`C${n["data-_gt"].id}`:"function"},f=r=>{return t=r,e.isValidElement(t)?(e=>{const{type:r,props:t}=e,n={type:p(e),props:{}};if(t["data-_gt"]){const e=t["data-_gt"];let r=Object.assign({},e);const a=e.transformation;if("variable"===a){const r=e.variableType||"variable";return{variable:r,key:d(t,r),id:e.id}}if("plural"===a&&e.branches){n.type="Plural";const t={};Object.entries(e.branches).forEach((([e,r])=>{t[e]=b(r)})),r=Object.assign(Object.assign({},r),{branches:t})}if("branch"===a&&e.branches){n.type="Branch";const t={};Object.entries(e.branches).forEach((([e,r])=>{t[e]=b(r)})),r=Object.assign(Object.assign({},r),{branches:t})}n.props["data-_gt"]=r}return t.children&&(n.props.children=b(t.children)),n})(r):"number"==typeof r?r.toString():r;var t};function b(e){return Array.isArray(e)?e.map(f):f(e)}function y(e,r,t){let n="",a=null;return"number"==typeof e&&!a&&t&&(n=function(e,r,t){void 0===r&&(r=l),void 0===t&&(t=["en"]);var n=s.get("PluralRules",t).select(e),a=Math.abs(e);if(0===a&&r.includes("zero"))return"zero";if(1===a){if(r.includes("singular"))return"singular";if(r.includes("one"))return"one"}if("one"===n&&r.includes("singular"))return"singular";if(2===a){if(r.includes("dual"))return"dual";if(r.includes("two"))return"two"}return"two"===n&&r.includes("dual")?"dual":r.includes(n)?n:"two"===n&&r.includes("dual")?"dual":"two"===n&&r.includes("plural")?"plural":"two"===n&&r.includes("other")?"other":"few"===n&&r.includes("plural")?"plural":"few"===n&&r.includes("other")?"other":"many"===n&&r.includes("plural")?"plural":"many"===n&&r.includes("other")?"other":"other"===n&&r.includes("plural")?"plural":""}(e,Object.keys(t),r)),n&&!a&&(a=t[n]),a}function h(e){if("string"==typeof e)return!0;if(Array.isArray(e)){if("string"!=typeof(null==e?void 0:e[0]))return!1;const r=null==e?void 0:e[1];if(void 0===r)return!0;if(r&&"object"==typeof r)return!0}return!1}function v(r,t){let n=r;const a=t.split(".");for(const r of a){if("object"!=typeof n||Array.isArray(n)||e.isValidElement(n))return;n=n[r]}return n}function g(e){if(Array.isArray(e)){if(1===e.length)return{entry:e[0]};if(2===e.length)return{entry:e[0],metadata:e[1]}}return{entry:e}}function m(e){var r;const t=(null===(r=e["data-_gt"])||void 0===r?void 0:r.variableType)||"variable";return{variableName:d(e,t),variableType:t,variableValue:void 0!==e.value?e.value:void 0!==e["data-_gt-unformatted-value"]?e["data-_gt-unformatted-value"]:void 0!==e.children?e.children:void 0,variableOptions:(()=>{const r=Object.assign(Object.assign({},e.currency&&{currency:e.currency}),e.options&&Object.assign({},e.options));return Object.keys(r).length?r:"string"==typeof e["data-_gt-variable-options"]?JSON.parse(e["data-_gt-variable-options"]):e["data-_gt-variable-options"]||void 0})()}}function O(e){const r=e;if(r&&"object"==typeof r&&"string"==typeof r.key){const e=Object.keys(r);if(1===e.length)return!0;if(2===e.length){if("number"==typeof r.id)return!0;if("string"==typeof r.variable)return!0}if(3===e.length&&"string"==typeof r.variable&&"number"==typeof r.id)return!0}return!1}function j(e){return e&&e.props&&e.props["data-_gt"]?e.props["data-_gt"]:null}function _({children:r,defaultLocale:t=o,renderVariable:n}){const a=r=>e.isValidElement(r)?(r=>{const a=j(r);if("variable"===(null==a?void 0:a.transformation)){const{variableType:e,variableValue:a,variableOptions:i}=m(r.props);return n({variableType:e,variableValue:a,variableOptions:i,locales:[t]})}if("plural"===(null==a?void 0:a.transformation)){const e=a.branches||{};return l(y(r.props.n,[t],e)||r.props.children)}if("branch"===(null==a?void 0:a.transformation)){let e=r.props,{children:t,name:n,branch:o,"data-_gt":s}=e,c=i(e,["children","name","branch","data-_gt"]);return n=n||r.props["data-_gt-name"]||"branch",c=a.branches||{},l(void 0!==c[o]?c[o]:t)}return"fragment"===(null==a?void 0:a.transformation)?e.createElement(r.type,{key:r.props.key,children:l(r.props.children)}):r.props.children?e.cloneElement(r,Object.assign(Object.assign({},r.props),{"data-_gt":void 0,children:l(r.props.children)})):e.cloneElement(r,Object.assign(Object.assign({},r.props),{"data-_gt":void 0}))})(r):r,l=r=>Array.isArray(r)?e.Children.map(r,a):a(r);return l(r)}function E({sourceElement:r,targetElement:t,locales:n=[o],renderVariable:a}){var i,l;const{props:s}=r,c=s["data-_gt"],u=null==c?void 0:c.transformation;if("plural"===u){const e=r.props.n;return w({source:y(e,n,c.branches||{})||r.props.children,target:y(e,n,t.props["data-_gt"].branches||{})||t.props.children,locales:n,renderVariable:a})}if("branch"===u){let{name:e,branch:i,children:o}=s;e=e||r.props["data-_gt-name"]||"branch";return w({source:(c.branches||{})[i]||o,target:(t.props["data-_gt"].branches||{})[i]||t.props.children,locales:n,renderVariable:a})}return"fragment"===u&&(null===(i=t.props)||void 0===i?void 0:i.children)?e.createElement(r.type,{key:r.props.key,children:w({source:s.children,target:t.props.children,locales:n,renderVariable:a})}):(null==s?void 0:s.children)&&(null===(l=t.props)||void 0===l?void 0:l.children)?e.cloneElement(r,Object.assign(Object.assign({},s),{"data-_gt":void 0,children:w({source:s.children,target:t.props.children,locales:n,renderVariable:a})})):_({children:r,defaultLocale:n[0],renderVariable:a})}function w({source:r,target:n,locales:a=[o],renderVariable:i}){if(null==n&&r)return _({children:r,defaultLocale:a[0],renderVariable:i});if("string"==typeof n)return n;if(Array.isArray(n)&&!Array.isArray(r)&&r&&(r=[r]),Array.isArray(r)&&Array.isArray(n)){const o={},l={},s=r.filter((r=>{if(e.isValidElement(r)){const e=j(r);if("variable"!==(null==e?void 0:e.transformation))return!0;{const{variableName:e,variableValue:t,variableOptions:n}=m(r.props);o[e]=t,l[e]=n}}})),c=e=>s.find((r=>{var t,n;const a=j(r);if(void 0!==(null==a?void 0:a.id)){return a.id===(null===(n=null===(t=null==e?void 0:e.props)||void 0===t?void 0:t["data-_gt"])||void 0===n?void 0:n.id)}return!1}))||s.shift();return n.map(((r,n)=>{if("string"==typeof r)return t(e.Fragment,{children:r},`string_${n}`);if(O(r))return t(e.Fragment,{children:i({variableType:r.variable||"variable",variableValue:o[r.key],variableOptions:l[r.key],locales:a})},`var_${n}`);const s=c(r);return s?t(e.Fragment,{children:E({sourceElement:s,targetElement:r,locales:a,renderVariable:i})},`element_${n}`):void 0}))}if(n&&"object"==typeof n&&!Array.isArray(n)){const t=O(n)?"variable":"element";if(e.isValidElement(r)){if("element"===t)return E({sourceElement:r,targetElement:n,locales:a,renderVariable:i});const e=j(r);if("variable"===(null==e?void 0:e.transformation)){const{variableValue:e,variableOptions:t,variableType:n}=m(r.props);return i({variableType:n,variableValue:e,variableOptions:t,locales:a})}}}return _({children:r,defaultLocale:a[0],renderVariable:i})}const A={method:"default",timeout:"undefined"!=typeof process&&"development"!==process.env.NODE_ENV?8e3:12e3};function V(){return""}class T extends Error{constructor(e,r){super(e),this.error=e,this.code=r,this.code=r}toTranslationError(){return{state:"error",error:this.error,code:this.code}}}const k="generaltranslation.locale",N=e=>"string"==typeof e||Array.isArray(e),$=e=>"object"==typeof e&&null!==e&&!Array.isArray(e);function P(e,r){const t=Object.assign(Object.assign({},Object.fromEntries(Object.entries(e).filter((([,e])=>N(e))))),Object.fromEntries(Object.entries(r).filter((([,e])=>N(e))))),n=Object.entries(e).filter((([,e])=>$(e))).map((([e])=>e)),a=Object.entries(r).filter((([,e])=>$(e))).map((([e])=>e)),i=new Set([...n,...a]);for(const n of i)t[n]=P(e[n]||{},r[n]||{});return t}export{T as GTTranslationError,c as addGTIdentifier,k as defaultLocaleCookieName,A as defaultRenderSettings,a as flattenDictionary,v as getDictionaryEntry,g as getEntryAndMetadata,y as getPluralBranch,d as getVariableName,m as getVariableProps,h as isValidDictionaryEntry,O as isVariableObject,P as mergeDictionaries,_ as renderDefaultChildren,V as renderSkeleton,w as renderTranslatedChildren,b as writeChildrenAsObjects};
@@ -1 +1 @@
1
- {"version":3,"file":"getEntryAndMetadata.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/getEntryAndMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAEf,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CACzC,KAAK,EAAE,eAAe,GACrB;IACD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAUA"}
1
+ {"version":3,"file":"getEntryAndMetadata.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/getEntryAndMetadata.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAS,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAErE,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,eAAe,GAAG;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACrB,CAUA"}
@@ -1 +1 @@
1
- {"version":3,"file":"isSSREnabled.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/isSSREnabled.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,YAa3B"}
1
+ {"version":3,"file":"isSSREnabled.d.ts","sourceRoot":"","sources":["../../../src/provider/helpers/isSSREnabled.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,YAU3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../src/translation/hooks/useGT.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,aAWjB,MAAM,YACL,wBAAwB,KAChC,MAAM,CAKV"}
1
+ {"version":3,"file":"useGT.d.ts","sourceRoot":"","sources":["../../../src/translation/hooks/useGT.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,OAAO,UAAU,KAAK,aAUR,MAAM,YAAW,wBAAwB,KAAQ,MAAM,CAK3E"}
@@ -2,10 +2,14 @@ import React from 'react';
2
2
  /**
3
3
  * A dropdown component that allows users to select a locale.
4
4
  * @param {string[]} locales - An optional list of locales to use for the dropdown. If not provided, the list of locales from the `<GTProvider>` context is used.
5
+ * @param {object} customNames - An optional object to map locales to custom names.
5
6
  * @returns {React.ReactElement | null} The rendered locale dropdown component or null to prevent rendering.
6
7
  */
7
- export default function LocaleSelector({ locales: _locales, ...props }: {
8
+ export default function LocaleSelector({ locales: _locales, customNames, ...props }: {
8
9
  locales?: string[];
10
+ customNames?: {
11
+ [key: string]: string;
12
+ };
9
13
  [key: string]: any;
10
14
  }): React.JSX.Element | null;
11
15
  //# sourceMappingURL=LocaleSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LocaleSelector.d.ts","sourceRoot":"","sources":["../../src/ui/LocaleSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,OAAO,EAAE,QAAQ,EACjB,GAAG,KAAK,EACT,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAmC3B"}
1
+ {"version":3,"file":"LocaleSelector.d.ts","sourceRoot":"","sources":["../../src/ui/LocaleSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkB1B;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,OAAO,EAAE,QAAQ,EACjB,WAAW,EACX,GAAG,KAAK,EACT,EAAE;IACD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACxC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAsC3B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gt-react",
3
- "version": "9.2.22",
3
+ "version": "9.2.24",
4
4
  "description": "A React library for automatic internationalization.",
5
5
  "main": "./dist/index.cjs.min.cjs",
6
6
  "module": "./dist/index.esm.min.mjs",
@@ -14,8 +14,8 @@
14
14
  "react-dom": ">=16.8.0"
15
15
  },
16
16
  "dependencies": {
17
- "@generaltranslation/supported-locales": "^2.0.9",
18
- "generaltranslation": "^6.2.9"
17
+ "@generaltranslation/supported-locales": "^2.0.10",
18
+ "generaltranslation": "^6.2.10"
19
19
  },
20
20
  "scripts": {
21
21
  "patch": "npm version patch",
@@ -26,7 +26,10 @@
26
26
  "release:alpha": "npm run build:clean && npm publish --tag alpha",
27
27
  "release:beta": "npm run build:clean && npm publish --tag beta",
28
28
  "release:latest": "npm run build:clean && npm publish --tag latest",
29
- "test": "echo \"Error: no test specified\" && exit 1"
29
+ "lint": "eslint \"src/**/*.{js,ts,tsx}\" \"__tests__/**/*.{js,ts,tsx}\"",
30
+ "lint:fix": "eslint \"src/**/*.{js,ts,tsx}\" \"__tests__/**/*.{js,ts,tsx}\" --fix",
31
+ "test": "vitest run",
32
+ "test:watch": "vitest"
30
33
  },
31
34
  "repository": {
32
35
  "type": "git",
@@ -46,8 +49,6 @@
46
49
  "@types/node": "^22.13.5",
47
50
  "@types/react": ">=18.0.0 <20.0.0",
48
51
  "@types/react-dom": ">=18.0.0 <20.0.0",
49
- "babel-core": "^6.26.3",
50
- "babel-loader": "^9.2.1",
51
52
  "rollup": "^4.32.1",
52
53
  "rollup-plugin-peer-deps-external": "^2.2.4",
53
54
  "rollup-plugin-postcss": "^4.0.2",