You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							1062 lines
						
					
					
						
							35 KiB
						
					
					
				
			
		
		
	
	
							1062 lines
						
					
					
						
							35 KiB
						
					
					
				define(['exports', 'react'], function (exports, react) { 'use strict';
 | 
						|
 | 
						|
  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;
 | 
						|
  }
 | 
						|
 | 
						|
  function _objectSpread2(target) {
 | 
						|
    for (var i = 1; i < arguments.length; i++) {
 | 
						|
      var source = arguments[i] != null ? arguments[i] : {};
 | 
						|
 | 
						|
      if (i % 2) {
 | 
						|
        ownKeys(Object(source), true).forEach(function (key) {
 | 
						|
          _defineProperty(target, key, source[key]);
 | 
						|
        });
 | 
						|
      } else if (Object.getOwnPropertyDescriptors) {
 | 
						|
        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
 | 
						|
      } else {
 | 
						|
        ownKeys(Object(source)).forEach(function (key) {
 | 
						|
          Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
 | 
						|
        });
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    return target;
 | 
						|
  }
 | 
						|
 | 
						|
  function _typeof(obj) {
 | 
						|
    "@babel/helpers - typeof";
 | 
						|
 | 
						|
    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
 | 
						|
      _typeof = function (obj) {
 | 
						|
        return typeof obj;
 | 
						|
      };
 | 
						|
    } else {
 | 
						|
      _typeof = function (obj) {
 | 
						|
        return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
 | 
						|
      };
 | 
						|
    }
 | 
						|
 | 
						|
    return _typeof(obj);
 | 
						|
  }
 | 
						|
 | 
						|
  function _classCallCheck(instance, Constructor) {
 | 
						|
    if (!(instance instanceof Constructor)) {
 | 
						|
      throw new TypeError("Cannot call a class as a function");
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  function _defineProperties(target, props) {
 | 
						|
    for (var i = 0; i < props.length; i++) {
 | 
						|
      var descriptor = props[i];
 | 
						|
      descriptor.enumerable = descriptor.enumerable || false;
 | 
						|
      descriptor.configurable = true;
 | 
						|
      if ("value" in descriptor) descriptor.writable = true;
 | 
						|
      Object.defineProperty(target, descriptor.key, descriptor);
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  function _createClass(Constructor, protoProps, staticProps) {
 | 
						|
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
 | 
						|
    if (staticProps) _defineProperties(Constructor, staticProps);
 | 
						|
    return Constructor;
 | 
						|
  }
 | 
						|
 | 
						|
  function _defineProperty(obj, key, value) {
 | 
						|
    if (key in obj) {
 | 
						|
      Object.defineProperty(obj, key, {
 | 
						|
        value: value,
 | 
						|
        enumerable: true,
 | 
						|
        configurable: true,
 | 
						|
        writable: true
 | 
						|
      });
 | 
						|
    } else {
 | 
						|
      obj[key] = value;
 | 
						|
    }
 | 
						|
 | 
						|
    return obj;
 | 
						|
  }
 | 
						|
 | 
						|
  function _objectWithoutPropertiesLoose(source, excluded) {
 | 
						|
    if (source == null) return {};
 | 
						|
    var target = {};
 | 
						|
    var sourceKeys = Object.keys(source);
 | 
						|
    var key, i;
 | 
						|
 | 
						|
    for (i = 0; i < sourceKeys.length; i++) {
 | 
						|
      key = sourceKeys[i];
 | 
						|
      if (excluded.indexOf(key) >= 0) continue;
 | 
						|
      target[key] = source[key];
 | 
						|
    }
 | 
						|
 | 
						|
    return target;
 | 
						|
  }
 | 
						|
 | 
						|
  function _objectWithoutProperties(source, excluded) {
 | 
						|
    if (source == null) return {};
 | 
						|
 | 
						|
    var target = _objectWithoutPropertiesLoose(source, excluded);
 | 
						|
 | 
						|
    var key, i;
 | 
						|
 | 
						|
    if (Object.getOwnPropertySymbols) {
 | 
						|
      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 | 
						|
 | 
						|
      for (i = 0; i < sourceSymbolKeys.length; i++) {
 | 
						|
        key = sourceSymbolKeys[i];
 | 
						|
        if (excluded.indexOf(key) >= 0) continue;
 | 
						|
        if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
 | 
						|
        target[key] = source[key];
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    return target;
 | 
						|
  }
 | 
						|
 | 
						|
  function _slicedToArray(arr, i) {
 | 
						|
    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
 | 
						|
  }
 | 
						|
 | 
						|
  function _arrayWithHoles(arr) {
 | 
						|
    if (Array.isArray(arr)) return arr;
 | 
						|
  }
 | 
						|
 | 
						|
  function _iterableToArrayLimit(arr, i) {
 | 
						|
    var _i = arr && (typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]);
 | 
						|
 | 
						|
    if (_i == null) return;
 | 
						|
    var _arr = [];
 | 
						|
    var _n = true;
 | 
						|
    var _d = false;
 | 
						|
 | 
						|
    var _s, _e;
 | 
						|
 | 
						|
    try {
 | 
						|
      for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {
 | 
						|
        _arr.push(_s.value);
 | 
						|
 | 
						|
        if (i && _arr.length === i) break;
 | 
						|
      }
 | 
						|
    } catch (err) {
 | 
						|
      _d = true;
 | 
						|
      _e = err;
 | 
						|
    } finally {
 | 
						|
      try {
 | 
						|
        if (!_n && _i["return"] != null) _i["return"]();
 | 
						|
      } finally {
 | 
						|
        if (_d) throw _e;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    return _arr;
 | 
						|
  }
 | 
						|
 | 
						|
  function _unsupportedIterableToArray(o, minLen) {
 | 
						|
    if (!o) return;
 | 
						|
    if (typeof o === "string") return _arrayLikeToArray(o, minLen);
 | 
						|
    var n = Object.prototype.toString.call(o).slice(8, -1);
 | 
						|
    if (n === "Object" && o.constructor) n = o.constructor.name;
 | 
						|
    if (n === "Map" || n === "Set") return Array.from(o);
 | 
						|
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
 | 
						|
  }
 | 
						|
 | 
						|
  function _arrayLikeToArray(arr, len) {
 | 
						|
    if (len == null || len > arr.length) len = arr.length;
 | 
						|
 | 
						|
    for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
 | 
						|
 | 
						|
    return arr2;
 | 
						|
  }
 | 
						|
 | 
						|
  function _nonIterableRest() {
 | 
						|
    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
 | 
						|
  }
 | 
						|
 | 
						|
  var voidElements = {
 | 
						|
    "area": true,
 | 
						|
    "base": true,
 | 
						|
    "br": true,
 | 
						|
    "col": true,
 | 
						|
    "embed": true,
 | 
						|
    "hr": true,
 | 
						|
    "img": true,
 | 
						|
    "input": true,
 | 
						|
    "link": true,
 | 
						|
    "meta": true,
 | 
						|
    "param": true,
 | 
						|
    "source": true,
 | 
						|
    "track": true,
 | 
						|
    "wbr": true
 | 
						|
  };
 | 
						|
 | 
						|
  var t = /\s([^'"/\s><]+?)[\s/>]|([^\s=]+)=\s?(".*?"|'.*?')/g;
 | 
						|
 | 
						|
  function n(n) {
 | 
						|
    var r = {
 | 
						|
      type: "tag",
 | 
						|
      name: "",
 | 
						|
      voidElement: !1,
 | 
						|
      attrs: {},
 | 
						|
      children: []
 | 
						|
    },
 | 
						|
        i = n.match(/<\/?([^\s]+?)[/\s>]/);
 | 
						|
 | 
						|
    if (i && (r.name = i[1], (voidElements[i[1]] || "/" === n.charAt(n.length - 2)) && (r.voidElement = !0), r.name.startsWith("!--"))) {
 | 
						|
      var s = n.indexOf("--\x3e");
 | 
						|
      return {
 | 
						|
        type: "comment",
 | 
						|
        comment: -1 !== s ? n.slice(4, s) : ""
 | 
						|
      };
 | 
						|
    }
 | 
						|
 | 
						|
    for (var a = new RegExp(t), c = null; null !== (c = a.exec(n));) {
 | 
						|
      if (c[0].trim()) if (c[1]) {
 | 
						|
        var o = c[1].trim(),
 | 
						|
            l = [o, ""];
 | 
						|
        o.indexOf("=") > -1 && (l = o.split("=")), r.attrs[l[0]] = l[1], a.lastIndex--;
 | 
						|
      } else c[2] && (r.attrs[c[2]] = c[3].trim().substring(1, c[3].length - 1));
 | 
						|
    }
 | 
						|
 | 
						|
    return r;
 | 
						|
  }
 | 
						|
 | 
						|
  var r = /<[a-zA-Z0-9\-\!\/](?:"[^"]*"|'[^']*'|[^'">])*>/g,
 | 
						|
      i = /^\s*$/,
 | 
						|
      s = Object.create(null);
 | 
						|
 | 
						|
  function a(e, t) {
 | 
						|
    switch (t.type) {
 | 
						|
      case "text":
 | 
						|
        return e + t.content;
 | 
						|
 | 
						|
      case "tag":
 | 
						|
        return e += "<" + t.name + (t.attrs ? function (e) {
 | 
						|
          var t = [];
 | 
						|
 | 
						|
          for (var n in e) {
 | 
						|
            t.push(n + '="' + e[n] + '"');
 | 
						|
          }
 | 
						|
 | 
						|
          return t.length ? " " + t.join(" ") : "";
 | 
						|
        }(t.attrs) : "") + (t.voidElement ? "/>" : ">"), t.voidElement ? e : e + t.children.reduce(a, "") + "</" + t.name + ">";
 | 
						|
 | 
						|
      case "comment":
 | 
						|
        return e + "\x3c!--" + t.comment + "--\x3e";
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  var c = {
 | 
						|
    parse: function parse(e, t) {
 | 
						|
      t || (t = {}), t.components || (t.components = s);
 | 
						|
      var a,
 | 
						|
          c = [],
 | 
						|
          o = [],
 | 
						|
          l = -1,
 | 
						|
          m = !1;
 | 
						|
 | 
						|
      if (0 !== e.indexOf("<")) {
 | 
						|
        var u = e.indexOf("<");
 | 
						|
        c.push({
 | 
						|
          type: "text",
 | 
						|
          content: -1 === u ? e : e.substring(0, u)
 | 
						|
        });
 | 
						|
      }
 | 
						|
 | 
						|
      return e.replace(r, function (r, s) {
 | 
						|
        if (m) {
 | 
						|
          if (r !== "</" + a.name + ">") return;
 | 
						|
          m = !1;
 | 
						|
        }
 | 
						|
 | 
						|
        var u,
 | 
						|
            f = "/" !== r.charAt(1),
 | 
						|
            h = r.startsWith("\x3c!--"),
 | 
						|
            p = s + r.length,
 | 
						|
            d = e.charAt(p);
 | 
						|
 | 
						|
        if (h) {
 | 
						|
          var v = n(r);
 | 
						|
          return l < 0 ? (c.push(v), c) : ((u = o[l]).children.push(v), c);
 | 
						|
        }
 | 
						|
 | 
						|
        if (f && (l++, "tag" === (a = n(r)).type && t.components[a.name] && (a.type = "component", m = !0), a.voidElement || m || !d || "<" === d || a.children.push({
 | 
						|
          type: "text",
 | 
						|
          content: e.slice(p, e.indexOf("<", p))
 | 
						|
        }), 0 === l && c.push(a), (u = o[l - 1]) && u.children.push(a), o[l] = a), (!f || a.voidElement) && (l > -1 && (a.voidElement || a.name === r.slice(2, -1)) && (l--, a = -1 === l ? c : o[l]), !m && "<" !== d && d)) {
 | 
						|
          u = -1 === l ? c : o[l].children;
 | 
						|
          var x = e.indexOf("<", p),
 | 
						|
              g = e.slice(p, -1 === x ? void 0 : x);
 | 
						|
          i.test(g) && (g = " "), (x > -1 && l + u.length >= 0 || " " !== g) && u.push({
 | 
						|
            type: "text",
 | 
						|
            content: g
 | 
						|
          });
 | 
						|
        }
 | 
						|
      }), c;
 | 
						|
    },
 | 
						|
    stringify: function stringify(e) {
 | 
						|
      return e.reduce(function (e, t) {
 | 
						|
        return e + a("", t);
 | 
						|
      }, "");
 | 
						|
    }
 | 
						|
  };
 | 
						|
 | 
						|
  var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;
 | 
						|
  var htmlEntities = {
 | 
						|
    '&': '&',
 | 
						|
    '&': '&',
 | 
						|
    '<': '<',
 | 
						|
    '<': '<',
 | 
						|
    '>': '>',
 | 
						|
    '>': '>',
 | 
						|
    ''': "'",
 | 
						|
    ''': "'",
 | 
						|
    '"': '"',
 | 
						|
    '"': '"',
 | 
						|
    ' ': ' ',
 | 
						|
    ' ': ' ',
 | 
						|
    '©': '©',
 | 
						|
    '©': '©',
 | 
						|
    '®': '®',
 | 
						|
    '®': '®',
 | 
						|
    '…': '…',
 | 
						|
    '…': '…',
 | 
						|
    '/': '/',
 | 
						|
    '/': '/'
 | 
						|
  };
 | 
						|
 | 
						|
  var unescapeHtmlEntity = function unescapeHtmlEntity(m) {
 | 
						|
    return htmlEntities[m];
 | 
						|
  };
 | 
						|
 | 
						|
  var unescape = function unescape(text) {
 | 
						|
    return text.replace(matchHtmlEntity, unescapeHtmlEntity);
 | 
						|
  };
 | 
						|
 | 
						|
  var defaultOptions = {
 | 
						|
    bindI18n: 'languageChanged',
 | 
						|
    bindI18nStore: '',
 | 
						|
    transEmptyNodeValue: '',
 | 
						|
    transSupportBasicHtmlNodes: true,
 | 
						|
    transWrapTextNodes: '',
 | 
						|
    transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],
 | 
						|
    useSuspense: true,
 | 
						|
    unescape: unescape
 | 
						|
  };
 | 
						|
  var i18nInstance;
 | 
						|
  var I18nContext = react.createContext();
 | 
						|
  function setDefaults() {
 | 
						|
    var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
 | 
						|
    defaultOptions = _objectSpread2(_objectSpread2({}, defaultOptions), options);
 | 
						|
  }
 | 
						|
  function getDefaults() {
 | 
						|
    return defaultOptions;
 | 
						|
  }
 | 
						|
  var ReportNamespaces = function () {
 | 
						|
    function ReportNamespaces() {
 | 
						|
      _classCallCheck(this, ReportNamespaces);
 | 
						|
 | 
						|
      this.usedNamespaces = {};
 | 
						|
    }
 | 
						|
 | 
						|
    _createClass(ReportNamespaces, [{
 | 
						|
      key: "addUsedNamespaces",
 | 
						|
      value: function addUsedNamespaces(namespaces) {
 | 
						|
        var _this = this;
 | 
						|
 | 
						|
        namespaces.forEach(function (ns) {
 | 
						|
          if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;
 | 
						|
        });
 | 
						|
      }
 | 
						|
    }, {
 | 
						|
      key: "getUsedNamespaces",
 | 
						|
      value: function getUsedNamespaces() {
 | 
						|
        return Object.keys(this.usedNamespaces);
 | 
						|
      }
 | 
						|
    }]);
 | 
						|
 | 
						|
    return ReportNamespaces;
 | 
						|
  }();
 | 
						|
  function setI18n(instance) {
 | 
						|
    i18nInstance = instance;
 | 
						|
  }
 | 
						|
  function getI18n() {
 | 
						|
    return i18nInstance;
 | 
						|
  }
 | 
						|
  var initReactI18next = {
 | 
						|
    type: '3rdParty',
 | 
						|
    init: function init(instance) {
 | 
						|
      setDefaults(instance.options.react);
 | 
						|
      setI18n(instance);
 | 
						|
    }
 | 
						|
  };
 | 
						|
  function composeInitialProps(ForComponent) {
 | 
						|
    return function (ctx) {
 | 
						|
      return new Promise(function (resolve) {
 | 
						|
        var i18nInitialProps = getInitialProps();
 | 
						|
 | 
						|
        if (ForComponent.getInitialProps) {
 | 
						|
          ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {
 | 
						|
            resolve(_objectSpread2(_objectSpread2({}, componentsInitialProps), i18nInitialProps));
 | 
						|
          });
 | 
						|
        } else {
 | 
						|
          resolve(i18nInitialProps);
 | 
						|
        }
 | 
						|
      });
 | 
						|
    };
 | 
						|
  }
 | 
						|
  function getInitialProps() {
 | 
						|
    var i18n = getI18n();
 | 
						|
    var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];
 | 
						|
    var ret = {};
 | 
						|
    var initialI18nStore = {};
 | 
						|
    i18n.languages.forEach(function (l) {
 | 
						|
      initialI18nStore[l] = {};
 | 
						|
      namespaces.forEach(function (ns) {
 | 
						|
        initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};
 | 
						|
      });
 | 
						|
    });
 | 
						|
    ret.initialI18nStore = initialI18nStore;
 | 
						|
    ret.initialLanguage = i18n.language;
 | 
						|
    return ret;
 | 
						|
  }
 | 
						|
 | 
						|
  function warn() {
 | 
						|
    if (console && console.warn) {
 | 
						|
      var _console;
 | 
						|
 | 
						|
      for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
 | 
						|
        args[_key] = arguments[_key];
 | 
						|
      }
 | 
						|
 | 
						|
      if (typeof args[0] === 'string') args[0] = "react-i18next:: ".concat(args[0]);
 | 
						|
 | 
						|
      (_console = console).warn.apply(_console, args);
 | 
						|
    }
 | 
						|
  }
 | 
						|
  var alreadyWarned = {};
 | 
						|
  function warnOnce() {
 | 
						|
    for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
 | 
						|
      args[_key2] = arguments[_key2];
 | 
						|
    }
 | 
						|
 | 
						|
    if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;
 | 
						|
    if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();
 | 
						|
    warn.apply(void 0, args);
 | 
						|
  }
 | 
						|
  function loadNamespaces(i18n, ns, cb) {
 | 
						|
    i18n.loadNamespaces(ns, function () {
 | 
						|
      if (i18n.isInitialized) {
 | 
						|
        cb();
 | 
						|
      } else {
 | 
						|
        var initialized = function initialized() {
 | 
						|
          setTimeout(function () {
 | 
						|
            i18n.off('initialized', initialized);
 | 
						|
          }, 0);
 | 
						|
          cb();
 | 
						|
        };
 | 
						|
 | 
						|
        i18n.on('initialized', initialized);
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  function oldI18nextHasLoadedNamespace(ns, i18n) {
 | 
						|
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
 | 
						|
    var lng = i18n.languages[0];
 | 
						|
    var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;
 | 
						|
    var lastLng = i18n.languages[i18n.languages.length - 1];
 | 
						|
    if (lng.toLowerCase() === 'cimode') return true;
 | 
						|
 | 
						|
    var loadNotPending = function loadNotPending(l, n) {
 | 
						|
      var loadState = i18n.services.backendConnector.state["".concat(l, "|").concat(n)];
 | 
						|
      return loadState === -1 || loadState === 2;
 | 
						|
    };
 | 
						|
 | 
						|
    if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;
 | 
						|
    if (i18n.hasResourceBundle(lng, ns)) return true;
 | 
						|
    if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;
 | 
						|
    if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;
 | 
						|
    return false;
 | 
						|
  }
 | 
						|
 | 
						|
  function hasLoadedNamespace(ns, i18n) {
 | 
						|
    var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
 | 
						|
 | 
						|
    if (!i18n.languages || !i18n.languages.length) {
 | 
						|
      warnOnce('i18n.languages were undefined or empty', i18n.languages);
 | 
						|
      return true;
 | 
						|
    }
 | 
						|
 | 
						|
    var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;
 | 
						|
 | 
						|
    if (!isNewerI18next) {
 | 
						|
      return oldI18nextHasLoadedNamespace(ns, i18n, options);
 | 
						|
    }
 | 
						|
 | 
						|
    return i18n.hasLoadedNamespace(ns, {
 | 
						|
      precheck: function precheck(i18nInstance, loadNotPending) {
 | 
						|
        if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;
 | 
						|
      }
 | 
						|
    });
 | 
						|
  }
 | 
						|
  function getDisplayName(Component) {
 | 
						|
    return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');
 | 
						|
  }
 | 
						|
 | 
						|
  var _excluded = ["format"],
 | 
						|
      _excluded2 = ["children", "count", "parent", "i18nKey", "context", "tOptions", "values", "defaults", "components", "ns", "i18n", "t", "shouldUnescape"];
 | 
						|
 | 
						|
  function hasChildren(node, checkLength) {
 | 
						|
    if (!node) return false;
 | 
						|
    var base = node.props ? node.props.children : node.children;
 | 
						|
    if (checkLength) return base.length > 0;
 | 
						|
    return !!base;
 | 
						|
  }
 | 
						|
 | 
						|
  function getChildren(node) {
 | 
						|
    if (!node) return [];
 | 
						|
    return node.props ? node.props.children : node.children;
 | 
						|
  }
 | 
						|
 | 
						|
  function hasValidReactChildren(children) {
 | 
						|
    if (Object.prototype.toString.call(children) !== '[object Array]') return false;
 | 
						|
    return children.every(function (child) {
 | 
						|
      return react.isValidElement(child);
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  function getAsArray(data) {
 | 
						|
    return Array.isArray(data) ? data : [data];
 | 
						|
  }
 | 
						|
 | 
						|
  function mergeProps(source, target) {
 | 
						|
    var newTarget = _objectSpread2({}, target);
 | 
						|
 | 
						|
    newTarget.props = Object.assign(source.props, target.props);
 | 
						|
    return newTarget;
 | 
						|
  }
 | 
						|
 | 
						|
  function nodesToString(children, i18nOptions) {
 | 
						|
    if (!children) return '';
 | 
						|
    var stringNode = '';
 | 
						|
    var childrenArray = getAsArray(children);
 | 
						|
    var keepArray = i18nOptions.transSupportBasicHtmlNodes && i18nOptions.transKeepBasicHtmlNodesFor ? i18nOptions.transKeepBasicHtmlNodesFor : [];
 | 
						|
    childrenArray.forEach(function (child, childIndex) {
 | 
						|
      if (typeof child === 'string') {
 | 
						|
        stringNode += "".concat(child);
 | 
						|
      } else if (react.isValidElement(child)) {
 | 
						|
        var childPropsCount = Object.keys(child.props).length;
 | 
						|
        var shouldKeepChild = keepArray.indexOf(child.type) > -1;
 | 
						|
        var childChildren = child.props.children;
 | 
						|
 | 
						|
        if (!childChildren && shouldKeepChild && childPropsCount === 0) {
 | 
						|
          stringNode += "<".concat(child.type, "/>");
 | 
						|
        } else if (!childChildren && (!shouldKeepChild || childPropsCount !== 0)) {
 | 
						|
          stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
 | 
						|
        } else if (child.props.i18nIsDynamicList) {
 | 
						|
          stringNode += "<".concat(childIndex, "></").concat(childIndex, ">");
 | 
						|
        } else if (shouldKeepChild && childPropsCount === 1 && typeof childChildren === 'string') {
 | 
						|
          stringNode += "<".concat(child.type, ">").concat(childChildren, "</").concat(child.type, ">");
 | 
						|
        } else {
 | 
						|
          var content = nodesToString(childChildren, i18nOptions);
 | 
						|
          stringNode += "<".concat(childIndex, ">").concat(content, "</").concat(childIndex, ">");
 | 
						|
        }
 | 
						|
      } else if (child === null) {
 | 
						|
        warn("Trans: the passed in value is invalid - seems you passed in a null child.");
 | 
						|
      } else if (_typeof(child) === 'object') {
 | 
						|
        var format = child.format,
 | 
						|
            clone = _objectWithoutProperties(child, _excluded);
 | 
						|
 | 
						|
        var keys = Object.keys(clone);
 | 
						|
 | 
						|
        if (keys.length === 1) {
 | 
						|
          var value = format ? "".concat(keys[0], ", ").concat(format) : keys[0];
 | 
						|
          stringNode += "{{".concat(value, "}}");
 | 
						|
        } else {
 | 
						|
          warn("react-i18next: the passed in object contained more than one variable - the object should look like {{ value, format }} where format is optional.", child);
 | 
						|
        }
 | 
						|
      } else {
 | 
						|
        warn("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}}.", child);
 | 
						|
      }
 | 
						|
    });
 | 
						|
    return stringNode;
 | 
						|
  }
 | 
						|
 | 
						|
  function renderNodes(children, targetString, i18n, i18nOptions, combinedTOpts, shouldUnescape) {
 | 
						|
    if (targetString === '') return [];
 | 
						|
    var keepArray = i18nOptions.transKeepBasicHtmlNodesFor || [];
 | 
						|
    var emptyChildrenButNeedsHandling = targetString && new RegExp(keepArray.join('|')).test(targetString);
 | 
						|
    if (!children && !emptyChildrenButNeedsHandling) return [targetString];
 | 
						|
    var data = {};
 | 
						|
 | 
						|
    function getData(childs) {
 | 
						|
      var childrenArray = getAsArray(childs);
 | 
						|
      childrenArray.forEach(function (child) {
 | 
						|
        if (typeof child === 'string') return;
 | 
						|
        if (hasChildren(child)) getData(getChildren(child));else if (_typeof(child) === 'object' && !react.isValidElement(child)) Object.assign(data, child);
 | 
						|
      });
 | 
						|
    }
 | 
						|
 | 
						|
    getData(children);
 | 
						|
    var ast = c.parse("<0>".concat(targetString, "</0>"));
 | 
						|
 | 
						|
    var opts = _objectSpread2(_objectSpread2({}, data), combinedTOpts);
 | 
						|
 | 
						|
    function renderInner(child, node, rootReactNode) {
 | 
						|
      var childs = getChildren(child);
 | 
						|
      var mappedChildren = mapAST(childs, node.children, rootReactNode);
 | 
						|
      return hasValidReactChildren(childs) && mappedChildren.length === 0 ? childs : mappedChildren;
 | 
						|
    }
 | 
						|
 | 
						|
    function pushTranslatedJSX(child, inner, mem, i, isVoid) {
 | 
						|
      if (child.dummy) child.children = inner;
 | 
						|
      mem.push(react.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
 | 
						|
        key: i
 | 
						|
      }), isVoid ? undefined : inner));
 | 
						|
    }
 | 
						|
 | 
						|
    function mapAST(reactNode, astNode, rootReactNode) {
 | 
						|
      var reactNodes = getAsArray(reactNode);
 | 
						|
      var astNodes = getAsArray(astNode);
 | 
						|
      return astNodes.reduce(function (mem, node, i) {
 | 
						|
        var translationContent = node.children && node.children[0] && node.children[0].content && i18n.services.interpolator.interpolate(node.children[0].content, opts, i18n.language);
 | 
						|
 | 
						|
        if (node.type === 'tag') {
 | 
						|
          var tmp = reactNodes[parseInt(node.name, 10)];
 | 
						|
          if (!tmp && rootReactNode.length === 1 && rootReactNode[0][node.name]) tmp = rootReactNode[0][node.name];
 | 
						|
          if (!tmp) tmp = {};
 | 
						|
          var child = Object.keys(node.attrs).length !== 0 ? mergeProps({
 | 
						|
            props: node.attrs
 | 
						|
          }, tmp) : tmp;
 | 
						|
          var isElement = react.isValidElement(child);
 | 
						|
          var isValidTranslationWithChildren = isElement && hasChildren(node, true) && !node.voidElement;
 | 
						|
          var isEmptyTransWithHTML = emptyChildrenButNeedsHandling && _typeof(child) === 'object' && child.dummy && !isElement;
 | 
						|
          var isKnownComponent = _typeof(children) === 'object' && children !== null && Object.hasOwnProperty.call(children, node.name);
 | 
						|
 | 
						|
          if (typeof child === 'string') {
 | 
						|
            var value = i18n.services.interpolator.interpolate(child, opts, i18n.language);
 | 
						|
            mem.push(value);
 | 
						|
          } else if (hasChildren(child) || isValidTranslationWithChildren) {
 | 
						|
              var inner = renderInner(child, node, rootReactNode);
 | 
						|
              pushTranslatedJSX(child, inner, mem, i);
 | 
						|
            } else if (isEmptyTransWithHTML) {
 | 
						|
            var _inner = mapAST(reactNodes, node.children, rootReactNode);
 | 
						|
 | 
						|
            mem.push(react.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
 | 
						|
              key: i
 | 
						|
            }), _inner));
 | 
						|
          } else if (Number.isNaN(parseFloat(node.name))) {
 | 
						|
            if (isKnownComponent) {
 | 
						|
              var _inner2 = renderInner(child, node, rootReactNode);
 | 
						|
 | 
						|
              pushTranslatedJSX(child, _inner2, mem, i, node.voidElement);
 | 
						|
            } else if (i18nOptions.transSupportBasicHtmlNodes && keepArray.indexOf(node.name) > -1) {
 | 
						|
              if (node.voidElement) {
 | 
						|
                mem.push(react.createElement(node.name, {
 | 
						|
                  key: "".concat(node.name, "-").concat(i)
 | 
						|
                }));
 | 
						|
              } else {
 | 
						|
                var _inner3 = mapAST(reactNodes, node.children, rootReactNode);
 | 
						|
 | 
						|
                mem.push(react.createElement(node.name, {
 | 
						|
                  key: "".concat(node.name, "-").concat(i)
 | 
						|
                }, _inner3));
 | 
						|
              }
 | 
						|
            } else if (node.voidElement) {
 | 
						|
              mem.push("<".concat(node.name, " />"));
 | 
						|
            } else {
 | 
						|
              var _inner4 = mapAST(reactNodes, node.children, rootReactNode);
 | 
						|
 | 
						|
              mem.push("<".concat(node.name, ">").concat(_inner4, "</").concat(node.name, ">"));
 | 
						|
            }
 | 
						|
          } else if (_typeof(child) === 'object' && !isElement) {
 | 
						|
            var content = node.children[0] ? translationContent : null;
 | 
						|
            if (content) mem.push(content);
 | 
						|
          } else if (node.children.length === 1 && translationContent) {
 | 
						|
            mem.push(react.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
 | 
						|
              key: i
 | 
						|
            }), translationContent));
 | 
						|
          } else {
 | 
						|
            mem.push(react.cloneElement(child, _objectSpread2(_objectSpread2({}, child.props), {}, {
 | 
						|
              key: i
 | 
						|
            })));
 | 
						|
          }
 | 
						|
        } else if (node.type === 'text') {
 | 
						|
          var wrapTextNodes = i18nOptions.transWrapTextNodes;
 | 
						|
 | 
						|
          var _content = shouldUnescape ? i18nOptions.unescape(i18n.services.interpolator.interpolate(node.content, opts, i18n.language)) : i18n.services.interpolator.interpolate(node.content, opts, i18n.language);
 | 
						|
 | 
						|
          if (wrapTextNodes) {
 | 
						|
            mem.push(react.createElement(wrapTextNodes, {
 | 
						|
              key: "".concat(node.name, "-").concat(i)
 | 
						|
            }, _content));
 | 
						|
          } else {
 | 
						|
            mem.push(_content);
 | 
						|
          }
 | 
						|
        }
 | 
						|
 | 
						|
        return mem;
 | 
						|
      }, []);
 | 
						|
    }
 | 
						|
 | 
						|
    var result = mapAST([{
 | 
						|
      dummy: true,
 | 
						|
      children: children || []
 | 
						|
    }], ast, getAsArray(children || []));
 | 
						|
    return getChildren(result[0]);
 | 
						|
  }
 | 
						|
 | 
						|
  function Trans(_ref) {
 | 
						|
    var children = _ref.children,
 | 
						|
        count = _ref.count,
 | 
						|
        parent = _ref.parent,
 | 
						|
        i18nKey = _ref.i18nKey,
 | 
						|
        context = _ref.context,
 | 
						|
        _ref$tOptions = _ref.tOptions,
 | 
						|
        tOptions = _ref$tOptions === void 0 ? {} : _ref$tOptions,
 | 
						|
        values = _ref.values,
 | 
						|
        defaults = _ref.defaults,
 | 
						|
        components = _ref.components,
 | 
						|
        ns = _ref.ns,
 | 
						|
        i18nFromProps = _ref.i18n,
 | 
						|
        tFromProps = _ref.t,
 | 
						|
        shouldUnescape = _ref.shouldUnescape,
 | 
						|
        additionalProps = _objectWithoutProperties(_ref, _excluded2);
 | 
						|
 | 
						|
    var _ref2 = react.useContext(I18nContext) || {},
 | 
						|
        i18nFromContext = _ref2.i18n,
 | 
						|
        defaultNSFromContext = _ref2.defaultNS;
 | 
						|
 | 
						|
    var i18n = i18nFromProps || i18nFromContext || getI18n();
 | 
						|
 | 
						|
    if (!i18n) {
 | 
						|
      warnOnce('You will need to pass in an i18next instance by using i18nextReactModule');
 | 
						|
      return children;
 | 
						|
    }
 | 
						|
 | 
						|
    var t = tFromProps || i18n.t.bind(i18n) || function (k) {
 | 
						|
      return k;
 | 
						|
    };
 | 
						|
 | 
						|
    if (context) tOptions.context = context;
 | 
						|
 | 
						|
    var reactI18nextOptions = _objectSpread2(_objectSpread2({}, getDefaults()), i18n.options && i18n.options.react);
 | 
						|
 | 
						|
    var namespaces = ns || t.ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
 | 
						|
    namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
 | 
						|
    var defaultValue = defaults || nodesToString(children, reactI18nextOptions) || reactI18nextOptions.transEmptyNodeValue || i18nKey;
 | 
						|
    var hashTransKey = reactI18nextOptions.hashTransKey;
 | 
						|
    var key = i18nKey || (hashTransKey ? hashTransKey(defaultValue) : defaultValue);
 | 
						|
    var interpolationOverride = values ? tOptions.interpolation : {
 | 
						|
      interpolation: _objectSpread2(_objectSpread2({}, tOptions.interpolation), {}, {
 | 
						|
        prefix: '#$?',
 | 
						|
        suffix: '?$#'
 | 
						|
      })
 | 
						|
    };
 | 
						|
 | 
						|
    var combinedTOpts = _objectSpread2(_objectSpread2(_objectSpread2(_objectSpread2({}, tOptions), {}, {
 | 
						|
      count: count
 | 
						|
    }, values), interpolationOverride), {}, {
 | 
						|
      defaultValue: defaultValue,
 | 
						|
      ns: namespaces
 | 
						|
    });
 | 
						|
 | 
						|
    var translation = key ? t(key, combinedTOpts) : defaultValue;
 | 
						|
    var content = renderNodes(components || children, translation, i18n, reactI18nextOptions, combinedTOpts, shouldUnescape);
 | 
						|
    var useAsParent = parent !== undefined ? parent : reactI18nextOptions.defaultTransParent;
 | 
						|
    return useAsParent ? react.createElement(useAsParent, additionalProps, content) : content;
 | 
						|
  }
 | 
						|
 | 
						|
  var usePrevious = function usePrevious(value, ignore) {
 | 
						|
    var ref = react.useRef();
 | 
						|
    react.useEffect(function () {
 | 
						|
      ref.current = ignore ? ref.current : value;
 | 
						|
    }, [value, ignore]);
 | 
						|
    return ref.current;
 | 
						|
  };
 | 
						|
 | 
						|
  function useTranslation(ns) {
 | 
						|
    var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 | 
						|
    var i18nFromProps = props.i18n;
 | 
						|
 | 
						|
    var _ref = react.useContext(I18nContext) || {},
 | 
						|
        i18nFromContext = _ref.i18n,
 | 
						|
        defaultNSFromContext = _ref.defaultNS;
 | 
						|
 | 
						|
    var i18n = i18nFromProps || i18nFromContext || getI18n();
 | 
						|
    if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();
 | 
						|
 | 
						|
    if (!i18n) {
 | 
						|
      warnOnce('You will need to pass in an i18next instance by using initReactI18next');
 | 
						|
 | 
						|
      var notReadyT = function notReadyT(k) {
 | 
						|
        return Array.isArray(k) ? k[k.length - 1] : k;
 | 
						|
      };
 | 
						|
 | 
						|
      var retNotReady = [notReadyT, {}, false];
 | 
						|
      retNotReady.t = notReadyT;
 | 
						|
      retNotReady.i18n = {};
 | 
						|
      retNotReady.ready = false;
 | 
						|
      return retNotReady;
 | 
						|
    }
 | 
						|
 | 
						|
    if (i18n.options.react && i18n.options.react.wait !== undefined) warnOnce('It seems you are still using the old wait option, you may migrate to the new useSuspense behaviour.');
 | 
						|
 | 
						|
    var i18nOptions = _objectSpread2(_objectSpread2(_objectSpread2({}, getDefaults()), i18n.options.react), props);
 | 
						|
 | 
						|
    var useSuspense = i18nOptions.useSuspense,
 | 
						|
        keyPrefix = i18nOptions.keyPrefix;
 | 
						|
    var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;
 | 
						|
    namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];
 | 
						|
    if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);
 | 
						|
    var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {
 | 
						|
      return hasLoadedNamespace(n, i18n, i18nOptions);
 | 
						|
    });
 | 
						|
 | 
						|
    function getT() {
 | 
						|
      return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);
 | 
						|
    }
 | 
						|
 | 
						|
    var _useState = react.useState(getT),
 | 
						|
        _useState2 = _slicedToArray(_useState, 2),
 | 
						|
        t = _useState2[0],
 | 
						|
        setT = _useState2[1];
 | 
						|
 | 
						|
    var joinedNS = namespaces.join();
 | 
						|
    var previousJoinedNS = usePrevious(joinedNS);
 | 
						|
    var isMounted = react.useRef(true);
 | 
						|
    react.useEffect(function () {
 | 
						|
      var bindI18n = i18nOptions.bindI18n,
 | 
						|
          bindI18nStore = i18nOptions.bindI18nStore;
 | 
						|
      isMounted.current = true;
 | 
						|
 | 
						|
      if (!ready && !useSuspense) {
 | 
						|
        loadNamespaces(i18n, namespaces, function () {
 | 
						|
          if (isMounted.current) setT(getT);
 | 
						|
        });
 | 
						|
      }
 | 
						|
 | 
						|
      if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {
 | 
						|
        setT(getT);
 | 
						|
      }
 | 
						|
 | 
						|
      function boundReset() {
 | 
						|
        if (isMounted.current) setT(getT);
 | 
						|
      }
 | 
						|
 | 
						|
      if (bindI18n && i18n) i18n.on(bindI18n, boundReset);
 | 
						|
      if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);
 | 
						|
      return function () {
 | 
						|
        isMounted.current = false;
 | 
						|
        if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {
 | 
						|
          return i18n.off(e, boundReset);
 | 
						|
        });
 | 
						|
        if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {
 | 
						|
          return i18n.store.off(e, boundReset);
 | 
						|
        });
 | 
						|
      };
 | 
						|
    }, [i18n, joinedNS]);
 | 
						|
    var isInitial = react.useRef(true);
 | 
						|
    react.useEffect(function () {
 | 
						|
      if (isMounted.current && !isInitial.current) {
 | 
						|
        setT(getT);
 | 
						|
      }
 | 
						|
 | 
						|
      isInitial.current = false;
 | 
						|
    }, [i18n, keyPrefix]);
 | 
						|
    var ret = [t, i18n, ready];
 | 
						|
    ret.t = t;
 | 
						|
    ret.i18n = i18n;
 | 
						|
    ret.ready = ready;
 | 
						|
    if (ready) return ret;
 | 
						|
    if (!ready && !useSuspense) return ret;
 | 
						|
    throw new Promise(function (resolve) {
 | 
						|
      loadNamespaces(i18n, namespaces, function () {
 | 
						|
        resolve();
 | 
						|
      });
 | 
						|
    });
 | 
						|
  }
 | 
						|
 | 
						|
  var _excluded$1 = ["forwardedRef"];
 | 
						|
  function withTranslation(ns) {
 | 
						|
    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 | 
						|
    return function Extend(WrappedComponent) {
 | 
						|
      function I18nextWithTranslation(_ref) {
 | 
						|
        var forwardedRef = _ref.forwardedRef,
 | 
						|
            rest = _objectWithoutProperties(_ref, _excluded$1);
 | 
						|
 | 
						|
        var _useTranslation = useTranslation(ns, _objectSpread2(_objectSpread2({}, rest), {}, {
 | 
						|
          keyPrefix: options.keyPrefix
 | 
						|
        })),
 | 
						|
            _useTranslation2 = _slicedToArray(_useTranslation, 3),
 | 
						|
            t = _useTranslation2[0],
 | 
						|
            i18n = _useTranslation2[1],
 | 
						|
            ready = _useTranslation2[2];
 | 
						|
 | 
						|
        var passDownProps = _objectSpread2(_objectSpread2({}, rest), {}, {
 | 
						|
          t: t,
 | 
						|
          i18n: i18n,
 | 
						|
          tReady: ready
 | 
						|
        });
 | 
						|
 | 
						|
        if (options.withRef && forwardedRef) {
 | 
						|
          passDownProps.ref = forwardedRef;
 | 
						|
        } else if (!options.withRef && forwardedRef) {
 | 
						|
          passDownProps.forwardedRef = forwardedRef;
 | 
						|
        }
 | 
						|
 | 
						|
        return react.createElement(WrappedComponent, passDownProps);
 | 
						|
      }
 | 
						|
 | 
						|
      I18nextWithTranslation.displayName = "withI18nextTranslation(".concat(getDisplayName(WrappedComponent), ")");
 | 
						|
      I18nextWithTranslation.WrappedComponent = WrappedComponent;
 | 
						|
 | 
						|
      var forwardRef = function forwardRef(props, ref) {
 | 
						|
        return react.createElement(I18nextWithTranslation, Object.assign({}, props, {
 | 
						|
          forwardedRef: ref
 | 
						|
        }));
 | 
						|
      };
 | 
						|
 | 
						|
      return options.withRef ? react.forwardRef(forwardRef) : I18nextWithTranslation;
 | 
						|
    };
 | 
						|
  }
 | 
						|
 | 
						|
  var _excluded$2 = ["ns", "children"];
 | 
						|
  function Translation(props) {
 | 
						|
    var ns = props.ns,
 | 
						|
        children = props.children,
 | 
						|
        options = _objectWithoutProperties(props, _excluded$2);
 | 
						|
 | 
						|
    var _useTranslation = useTranslation(ns, options),
 | 
						|
        _useTranslation2 = _slicedToArray(_useTranslation, 3),
 | 
						|
        t = _useTranslation2[0],
 | 
						|
        i18n = _useTranslation2[1],
 | 
						|
        ready = _useTranslation2[2];
 | 
						|
 | 
						|
    return children(t, {
 | 
						|
      i18n: i18n,
 | 
						|
      lng: i18n.language
 | 
						|
    }, ready);
 | 
						|
  }
 | 
						|
 | 
						|
  function I18nextProvider(_ref) {
 | 
						|
    var i18n = _ref.i18n,
 | 
						|
        defaultNS = _ref.defaultNS,
 | 
						|
        children = _ref.children;
 | 
						|
    var value = react.useMemo(function () {
 | 
						|
      return {
 | 
						|
        i18n: i18n,
 | 
						|
        defaultNS: defaultNS
 | 
						|
      };
 | 
						|
    }, [i18n, defaultNS]);
 | 
						|
    return react.createElement(I18nContext.Provider, {
 | 
						|
      value: value
 | 
						|
    }, children);
 | 
						|
  }
 | 
						|
 | 
						|
  function useSSR(initialI18nStore, initialLanguage) {
 | 
						|
    var props = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
 | 
						|
    var i18nFromProps = props.i18n;
 | 
						|
 | 
						|
    var _ref = react.useContext(I18nContext) || {},
 | 
						|
        i18nFromContext = _ref.i18n;
 | 
						|
 | 
						|
    var i18n = i18nFromProps || i18nFromContext || getI18n();
 | 
						|
    if (i18n.options && i18n.options.isClone) return;
 | 
						|
 | 
						|
    if (initialI18nStore && !i18n.initializedStoreOnce) {
 | 
						|
      i18n.services.resourceStore.data = initialI18nStore;
 | 
						|
      i18n.options.ns = Object.values(initialI18nStore).reduce(function (mem, lngResources) {
 | 
						|
        Object.keys(lngResources).forEach(function (ns) {
 | 
						|
          if (mem.indexOf(ns) < 0) mem.push(ns);
 | 
						|
        });
 | 
						|
        return mem;
 | 
						|
      }, i18n.options.ns);
 | 
						|
      i18n.initializedStoreOnce = true;
 | 
						|
      i18n.isInitialized = true;
 | 
						|
    }
 | 
						|
 | 
						|
    if (initialLanguage && !i18n.initializedLanguageOnce) {
 | 
						|
      i18n.changeLanguage(initialLanguage);
 | 
						|
      i18n.initializedLanguageOnce = true;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  var _excluded$3 = ["initialI18nStore", "initialLanguage"];
 | 
						|
  function withSSR() {
 | 
						|
    return function Extend(WrappedComponent) {
 | 
						|
      function I18nextWithSSR(_ref) {
 | 
						|
        var initialI18nStore = _ref.initialI18nStore,
 | 
						|
            initialLanguage = _ref.initialLanguage,
 | 
						|
            rest = _objectWithoutProperties(_ref, _excluded$3);
 | 
						|
 | 
						|
        useSSR(initialI18nStore, initialLanguage);
 | 
						|
        return react.createElement(WrappedComponent, _objectSpread2({}, rest));
 | 
						|
      }
 | 
						|
 | 
						|
      I18nextWithSSR.getInitialProps = composeInitialProps(WrappedComponent);
 | 
						|
      I18nextWithSSR.displayName = "withI18nextSSR(".concat(getDisplayName(WrappedComponent), ")");
 | 
						|
      I18nextWithSSR.WrappedComponent = WrappedComponent;
 | 
						|
      return I18nextWithSSR;
 | 
						|
    };
 | 
						|
  }
 | 
						|
 | 
						|
  var date = function date() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
  var time = function time() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
  var number = function number() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
  var select = function select() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
  var plural = function plural() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
  var selectOrdinal = function selectOrdinal() {
 | 
						|
    return '';
 | 
						|
  };
 | 
						|
 | 
						|
  exports.I18nContext = I18nContext;
 | 
						|
  exports.I18nextProvider = I18nextProvider;
 | 
						|
  exports.Trans = Trans;
 | 
						|
  exports.Translation = Translation;
 | 
						|
  exports.composeInitialProps = composeInitialProps;
 | 
						|
  exports.date = date;
 | 
						|
  exports.getDefaults = getDefaults;
 | 
						|
  exports.getI18n = getI18n;
 | 
						|
  exports.getInitialProps = getInitialProps;
 | 
						|
  exports.initReactI18next = initReactI18next;
 | 
						|
  exports.number = number;
 | 
						|
  exports.plural = plural;
 | 
						|
  exports.select = select;
 | 
						|
  exports.selectOrdinal = selectOrdinal;
 | 
						|
  exports.setDefaults = setDefaults;
 | 
						|
  exports.setI18n = setI18n;
 | 
						|
  exports.time = time;
 | 
						|
  exports.useSSR = useSSR;
 | 
						|
  exports.useTranslation = useTranslation;
 | 
						|
  exports.withSSR = withSSR;
 | 
						|
  exports.withTranslation = withTranslation;
 | 
						|
 | 
						|
  Object.defineProperty(exports, '__esModule', { value: true });
 | 
						|
 | 
						|
});
 |