{"version":3,"sources":["jsdelivr-header.js","/npm/react-trslate@0.0.5/src/Translate.jsx"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,mTCLA,OAAA,QAAA,S,uCACA,WAAA,QAAA,cAAY,U,oCACZ,WAAA,QAAA,aACA,SAAA,QAAA,YACA,eAAA,QAAA,mB,uPAGA,MAAM,cAAgB,GAChB,gBAAkB,GAGjB,MAAM,yBAAyB,gBAAM,UAAU,WAAA,IAAA,GAAA,IAAA,EAAA,OAAA,EAAA,SAAA,GAAA,iBAAA,KAAA,MAAA,CAAA,CAgBpD,+BAAO,EAAyB,KAAE,EAAF,OAAQ,EAAR,SAAgB,IAC9C,MAAO,CACL,KAAM,EAAK,GACX,SAAU,EAAK,GAElB,CAgDD,kBACE,MAAO,CACL,KAAM,CACJ,KAAM,KAAK,MAAM,OACjB,EAAG,KAAK,cACR,EAAG,KAAK,UACR,GAAI,KAAK,OACT,EAAG,KAAK,KAGb,CAGD,SACE,OAAO,KAAK,MAAM,QACnB,E,QApFU,mDAEJ,kBAAoB,CACzB,KAAM,UAAU,MAAM,CACpB,KAAM,UAAU,OAChB,EAAG,UAAU,KACb,EAAG,UAAU,QANN,iBAUJ,aAAe,CACpB,KAAM,CAAE,GAAI,IACZ,OAAQ,KACR,SAAU,M,qCAUZ,M,YACK,iBAAiB,c,KAGtB,UAAY,CAAC,KAAQ,KACnB,IAAI,KAAE,EAAF,SAAQ,GAAa,KAAK,MAC1B,EAAI,EAAK,IAAQ,EAAS,IAAQ,EACtC,OAAO,EAAA,eAAA,WACL,cAAc,KAAO,cAAc,IAAK,EAAA,eAAA,cAAa,OAClD,EAFL,E,KAMF,IAAO,IACL,IAAI,KAAE,EAAF,SAAQ,GAAa,KAAK,MAE9B,OADQ,EAAK,IAAQ,EAAS,IAAQ,CACtC,E,KAGF,cAAiB,IACf,IAAI,KAAE,EAAF,SAAQ,GAAa,KAAK,MAC1B,EAAI,EAAM,EACV,EAAI,EAAK,IAAM,EAAS,IAAM,EAClC,OAAO,EAAA,eAAA,eAAA,SAAA,GACF,EADE,CAEL,EAAG,cAAc,KAAO,cAAc,IAAK,EAAA,eAAA,cAAa,MAF1D,E,KAMF,OAAS,CAAC,KAAM,KACd,IAAI,KAAE,EAAF,SAAQ,GAAa,KAAK,MAC1B,EAAI,EAAK,IAAM,EAAS,IAAM,EAE9B,EAAO,EAAK,GACZ,EAAyB,GAAf,EAAK,QAAe,aAAgB,UAAW,EAAA,SAAA,WAAU,GACnE,EAAO,EAEX,OAAO,EAAA,eAAA,WACL,gBAAgB,KAAO,gBAAgB,IAAK,EAAA,eAAA,eAAa,EAAA,eAAA,YAAW,KAD/D,SAAA,GAGA,6BACA,GAJP,C,EA4BG,MAAM,oCAAgB,SAAU,GACrC,OAAO,OAAO,QACZ,CAAC,GAAS,MAAQ,OAAM,IAAG,KAAI,IAAG,QACzB,QAAA,QAAA,cAAC,EAAD,SAAe,CAAE,KAAM,EAAM,IAAG,KAAI,IAAG,KAAU,KAE1D,CACE,aAAc,iBAAiB,mBAER,eAAzB,QAAQ,IAAI,SAA4B,CACtC,aAAa,EAAA,WAAA,iBAAgB,EAAW,kBACtC,GAEP,EAEY,YAAI,OAAO,QACtB,CAAC,GAAS,MAAQ,OAAM,IAAG,KAAI,QACtB,QAAA,QAAA,cAAC,EAAM,IAEhB,CACE,aAAc,iBAAiB","file":"/npm/react-trslate@0.0.5/dist/Translate.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/react-trslate@0.0.5/dist/Translate.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","//@ts-check\r\nimport React from 'react'\r\nimport * as PropTypes from 'prop-types'\r\nimport { wrapDisplayName } from 'recompose';\r\nimport { isElement } from 'react-is';\r\nimport { translate, parserString, defaultFormat, mdToString, interpolation } from './TranslateUtil'\r\n\r\n\r\nconst parserCaching = {}\r\nconst parserCachingMD = {}\r\n\r\n\r\nexport class LanguageProvider extends React.Component {\r\n\r\n  static childContextTypes = {\r\n    lang: PropTypes.shape({\r\n      name: PropTypes.string,\r\n      T: PropTypes.func,\r\n      t: PropTypes.func,\r\n    }),\r\n  }\r\n\r\n  static defaultProps = {\r\n    data: { en: {} },\r\n    active: \"en\",\r\n    fallback: \"en\",\r\n  }\r\n\r\n  static getDerivedStateFromProps({ data, active, fallback }) {\r\n    return {\r\n      data: data[active],\r\n      fallback: data[fallback]\r\n    }\r\n  }\r\n\r\n  state = {\r\n    ...LanguageProvider.defaultProps\r\n  }\r\n\r\n  translate = (key, ...args) => {\r\n    let { data, fallback } = this.state\r\n    let v = data[key] || fallback[key] || key\r\n    return translate(\r\n      parserCaching[v] || (parserCaching[v] = parserString(v)),\r\n      ...args\r\n    )\r\n  }\r\n\r\n  raw = (key) => {\r\n    let { data, fallback } = this.state\r\n    let v = data[key] || fallback[key] || key\r\n    return v\r\n  }\r\n\r\n  interpolation = (props) => {\r\n    let { data, fallback } = this.state\r\n    let t = props.t\r\n    let v = data[t] || fallback[t] || t\r\n    return interpolation({\r\n      ...props,\r\n      t: parserCaching[v] || (parserCaching[v] = parserString(v)),\r\n    })\r\n  }\r\n\r\n  format = (t, ...args) => {\r\n    let { data, fallback } = this.state\r\n    let v = data[t] || fallback[t] || t\r\n\r\n    let arg0 = args[0]\r\n    let params = (args.length == 1 && arg0 instanceof Object && !isElement(arg0))\r\n      ? arg0 : args\r\n\r\n    return translate(\r\n      parserCachingMD[v] || (parserCachingMD[v] = parserString(mdToString(v))),\r\n      {\r\n        ...defaultFormat,\r\n        ...params,\r\n      }\r\n    )\r\n  }\r\n\r\n  getChildContext() {\r\n    return {\r\n      lang: {\r\n        name: this.props.active,\r\n        T: this.interpolation,\r\n        t: this.translate,\r\n        tf: this.format,\r\n        _: this.raw,\r\n      }\r\n    };\r\n  }\r\n\r\n\r\n  render() {\r\n    return this.props.children\r\n  }\r\n\r\n}\r\n\r\nexport const withTranslate = function (Component) {\r\n  return Object.assign(\r\n    (props, { lang: { name, t, tf, T, _ } }) => {\r\n      return <Component {...{ lang: name, t, tf, T, _ }}  {...props} />\r\n    },\r\n    {\r\n      contextTypes: LanguageProvider.childContextTypes\r\n    },\r\n    process.env.NODE_ENV !== 'production' ? {\r\n      displayName: wrapDisplayName(Component, 'withTranslate')\r\n    } : {}\r\n  );\r\n}\r\n\r\nexport const T = Object.assign(\r\n  (props, { lang: { name, t, tf, T } }) => {\r\n    return <T {...props} />\r\n  },\r\n  {\r\n    contextTypes: LanguageProvider.childContextTypes\r\n  },\r\n)\r\n\r\n"]}