@bigbinary/neeto-slack-frontend 0.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../node_modules/@babel/runtime/helpers/esm/typeof.js","../node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../node_modules/@babel/runtime/helpers/esm/createClass.js","../node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/inherits.js","../node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../node_modules/@babel/runtime/helpers/esm/defineProperty.js","../node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../node_modules/@babel/runtime/helpers/esm/toArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../node_modules/i18next/dist/esm/i18next.js","../node_modules/react-i18next/dist/es/unescape.js","../node_modules/react-i18next/dist/es/context.js","../node_modules/react-i18next/dist/es/utils.js","../node_modules/@babel/runtime/helpers/esm/slicedToArray.js","../node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","../node_modules/react-i18next/dist/es/useTranslation.js","../src/common/i18n.js","../src/components/constants.js","../src/assets/images/success.svg","../src/components/Steps/Configure.jsx","../src/components/utils.js","../src/components/Steps/Connect.jsx","../src/components/common/Field.jsx","../src/components/Steps/Finish.jsx","../node_modules/rollup-plugin-styles/dist/runtime/inject-css.js"],"sourcesContent":["export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction 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; }\n\nfunction _objectSpread(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; }\n\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread(_objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n\n return matched;\n}\n\nfunction ownKeys$1(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; }\n\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n var _super = _createSuper(ResourceStore);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$1(_objectSpread$1({}, pack), resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$1(_objectSpread$1({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$2(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; }\n\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n var _super = _createSuper$1(Translator);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n\n if (key === undefined || key === null) {\n return false;\n }\n\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n\n if (returnDetails) {\n resolved.res = \"\".concat(namespace).concat(nsSeparator).concat(key);\n return resolved;\n }\n\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n\n if (returnDetails) {\n resolved.res = key;\n return resolved;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$2(_objectSpread$2({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n\n return r;\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$2(_objectSpread$2({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$2(_objectSpread$2({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$2(_objectSpread$2({}, options), {\n interpolation: _objectSpread$2(_objectSpread$2({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$2(_objectSpread$2({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$2({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n\n if (!rule) {\n return [];\n }\n\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n\n return this.getSuffixRetroCompatible(rule, count);\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n\n return PluralResolver;\n}();\n\nfunction ownKeys$3(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; }\n\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && options.hasOwnProperty(matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread$3({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction ownKeys$4(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; }\n\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$4(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\n\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Formatter);\n\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: function number(val, lng, options) {\n return new Intl.NumberFormat(lng, options).format(val);\n },\n currency: function currency(val, lng, options) {\n return new Intl.NumberFormat(lng, _objectSpread$4(_objectSpread$4({}, options), {}, {\n style: 'currency'\n })).format(val);\n },\n datetime: function datetime(val, lng, options) {\n return new Intl.DateTimeFormat(lng, _objectSpread$4({}, options)).format(val);\n },\n relativetime: function relativetime(val, lng, options) {\n return new Intl.RelativeTimeFormat(lng, _objectSpread$4({}, options)).format(val, options.range || 'day');\n },\n list: function list(val, lng, options) {\n return new Intl.ListFormat(lng, _objectSpread$4({}, options)).format(val);\n }\n };\n this.init(options);\n }\n\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng, options) {\n var _this = this;\n\n var formats = _format.split(this.formatSeparator);\n\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n\n if (_this.formats[formatName]) {\n var formatted = mem;\n\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$4(_objectSpread$4(_objectSpread$4({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n\n return mem;\n }, value);\n return result;\n }\n }]);\n\n return Formatter;\n}();\n\nfunction ownKeys$5(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; }\n\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$5(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n var _super = _createSuper$2(Connector);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n\n if (loadedKeys.length) {\n loadedKeys.forEach(function (ns) {\n if (loaded[l][ns] === undefined) loaded[l][ns] = true;\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n\n this.readingCalls++;\n return this.backend[fcName](lng, ns, function (err, data) {\n _this3.readingCalls--;\n\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread$5(_objectSpread$5({}, options), {}, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction ownKeys$6(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; }\n\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$6(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction noop() {}\n\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n var _super = _createSuper$3(I18n);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _super.call(this);\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n\n var defOpts = get();\n this.options = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, defOpts), this.options), transformOptions(options));\n\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread$6(_objectSpread$6({}, defOpts.interpolation), this.options.interpolation);\n }\n\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var formatter;\n\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n\n _this4.setResolvedLanguage(l);\n };\n\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread$6({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n return _this5.t(resultKey, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread$6(_objectSpread$6(_objectSpread$6({}, this.options), options), {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread$6({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\n\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport default instance;\nexport { changeLanguage, createInstance, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction 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; }\n\nfunction _objectSpread(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; }\n\nimport { createContext } from 'react';\nimport { unescape } from './unescape';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nvar i18nInstance;\nexport var I18nContext = createContext();\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function setI18n(instance) {\n i18nInstance = instance;\n}\nexport function getI18n() {\n return i18nInstance;\n}\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","export function warn() {\n if (console && console.warn) {\n var _console;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (typeof args[0] === 'string') args[0] = \"react-i18next:: \".concat(args[0]);\n\n (_console = console).warn.apply(_console, args);\n }\n}\nvar alreadyWarned = {};\nexport function warnOnce() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n if (typeof args[0] === 'string' && alreadyWarned[args[0]]) return;\n if (typeof args[0] === 'string') alreadyWarned[args[0]] = new Date();\n warn.apply(void 0, args);\n}\nexport function loadNamespaces(i18n, ns, cb) {\n i18n.loadNamespaces(ns, function () {\n if (i18n.isInitialized) {\n cb();\n } else {\n var initialized = function initialized() {\n setTimeout(function () {\n i18n.off('initialized', initialized);\n }, 0);\n cb();\n };\n\n i18n.on('initialized', initialized);\n }\n });\n}\n\nfunction oldI18nextHasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var lng = i18n.languages[0];\n var fallbackLng = i18n.options ? i18n.options.fallbackLng : false;\n var lastLng = i18n.languages[i18n.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = i18n.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18n.services.backendConnector.backend && i18n.isLanguageChangingTo && !loadNotPending(i18n.isLanguageChangingTo, ns)) return false;\n if (i18n.hasResourceBundle(lng, ns)) return true;\n if (!i18n.services.backendConnector.backend || i18n.options.resources && !i18n.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n}\n\nexport function hasLoadedNamespace(ns, i18n) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n if (!i18n.languages || !i18n.languages.length) {\n warnOnce('i18n.languages were undefined or empty', i18n.languages);\n return true;\n }\n\n var isNewerI18next = i18n.options.ignoreJSONStructure !== undefined;\n\n if (!isNewerI18next) {\n return oldI18nextHasLoadedNamespace(ns, i18n, options);\n }\n\n return i18n.hasLoadedNamespace(ns, {\n precheck: function precheck(i18nInstance, loadNotPending) {\n if (options.bindI18n && options.bindI18n.indexOf('languageChanging') > -1 && i18nInstance.services.backendConnector.backend && i18nInstance.isLanguageChangingTo && !loadNotPending(i18nInstance.isLanguageChangingTo, ns)) return false;\n }\n });\n}\nexport function getDisplayName(Component) {\n return Component.displayName || Component.name || (typeof Component === 'string' && Component.length > 0 ? Component : 'Unknown');\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction 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; }\n\nfunction _objectSpread(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; }\n\nimport { useState, useEffect, useContext, useRef } from 'react';\nimport { getI18n, getDefaults, ReportNamespaces, I18nContext } from './context';\nimport { warnOnce, loadNamespaces, hasLoadedNamespace } from './utils';\n\nvar usePrevious = function usePrevious(value, ignore) {\n var ref = useRef();\n useEffect(function () {\n ref.current = ignore ? ref.current : value;\n }, [value, ignore]);\n return ref.current;\n};\n\nexport function useTranslation(ns) {\n var props = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i18nFromProps = props.i18n;\n\n var _ref = useContext(I18nContext) || {},\n i18nFromContext = _ref.i18n,\n defaultNSFromContext = _ref.defaultNS;\n\n var i18n = i18nFromProps || i18nFromContext || getI18n();\n if (i18n && !i18n.reportNamespaces) i18n.reportNamespaces = new ReportNamespaces();\n\n if (!i18n) {\n warnOnce('You will need to pass in an i18next instance by using initReactI18next');\n\n var notReadyT = function notReadyT(k) {\n return Array.isArray(k) ? k[k.length - 1] : k;\n };\n\n var retNotReady = [notReadyT, {}, false];\n retNotReady.t = notReadyT;\n retNotReady.i18n = {};\n retNotReady.ready = false;\n return retNotReady;\n }\n\n 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.');\n\n var i18nOptions = _objectSpread(_objectSpread(_objectSpread({}, getDefaults()), i18n.options.react), props);\n\n var useSuspense = i18nOptions.useSuspense,\n keyPrefix = i18nOptions.keyPrefix;\n var namespaces = ns || defaultNSFromContext || i18n.options && i18n.options.defaultNS;\n namespaces = typeof namespaces === 'string' ? [namespaces] : namespaces || ['translation'];\n if (i18n.reportNamespaces.addUsedNamespaces) i18n.reportNamespaces.addUsedNamespaces(namespaces);\n var ready = (i18n.isInitialized || i18n.initializedStoreOnce) && namespaces.every(function (n) {\n return hasLoadedNamespace(n, i18n, i18nOptions);\n });\n\n function getT() {\n return i18n.getFixedT(null, i18nOptions.nsMode === 'fallback' ? namespaces : namespaces[0], keyPrefix);\n }\n\n var _useState = useState(getT),\n _useState2 = _slicedToArray(_useState, 2),\n t = _useState2[0],\n setT = _useState2[1];\n\n var joinedNS = namespaces.join();\n var previousJoinedNS = usePrevious(joinedNS);\n var isMounted = useRef(true);\n useEffect(function () {\n var bindI18n = i18nOptions.bindI18n,\n bindI18nStore = i18nOptions.bindI18nStore;\n isMounted.current = true;\n\n if (!ready && !useSuspense) {\n loadNamespaces(i18n, namespaces, function () {\n if (isMounted.current) setT(getT);\n });\n }\n\n if (ready && previousJoinedNS && previousJoinedNS !== joinedNS && isMounted.current) {\n setT(getT);\n }\n\n function boundReset() {\n if (isMounted.current) setT(getT);\n }\n\n if (bindI18n && i18n) i18n.on(bindI18n, boundReset);\n if (bindI18nStore && i18n) i18n.store.on(bindI18nStore, boundReset);\n return function () {\n isMounted.current = false;\n if (bindI18n && i18n) bindI18n.split(' ').forEach(function (e) {\n return i18n.off(e, boundReset);\n });\n if (bindI18nStore && i18n) bindI18nStore.split(' ').forEach(function (e) {\n return i18n.store.off(e, boundReset);\n });\n };\n }, [i18n, joinedNS]);\n var isInitial = useRef(true);\n useEffect(function () {\n if (isMounted.current && !isInitial.current) {\n setT(getT);\n }\n\n isInitial.current = false;\n }, [i18n, keyPrefix]);\n var ret = [t, i18n, ready];\n ret.t = t;\n ret.i18n = i18n;\n ret.ready = ready;\n if (ready) return ret;\n if (!ready && !useSuspense) return ret;\n throw new Promise(function (resolve) {\n loadNamespaces(i18n, namespaces, function () {\n resolve();\n });\n });\n}","import i18n from \"i18next\";\nimport { initReactI18next } from \"react-i18next\";\n\nimport { en } from \"../translations\";\n\ni18n.use(initReactI18next).init({\n resources: {\n en: { translation: en },\n },\n lng: \"en\",\n fallbackLng: \"en\",\n interpolation: {\n escapeValue: false,\n skipOnVariables: false,\n },\n});\n\nexport default i18n;\n","import { t } from \"i18next\";\nimport * as yup from \"yup\";\n\nexport const CHANNEL_NAME_VALIDAITON_SCHEMA = {\n selectedChannel: yup\n .object()\n .shape({\n label: yup.string(),\n value: yup\n .string()\n .required(t(\"common.required\", { entity: t(\"slack.channelName\") })),\n })\n .required()\n .nullable(),\n};\n","<svg width=\"72\" height=\"72\" viewBox=\"0 0 72 72\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n<rect width=\"72\" height=\"72\" fill=\"url(#pattern0)\"/>\n<defs>\n<pattern id=\"pattern0\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">\n<use xlink:href=\"#image0_6922_13911\" transform=\"scale(0.00290698)\"/>\n</pattern>\n<image id=\"image0_6922_13911\" width=\"344\" height=\"344\" xlink:href=\"data:image/png;base64,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WkH/ssvowWQz/YBFlR9ZwAICIBBXAqH1YL0OD+gniPJkO18J3kBp9lTfTfSi+yrepx+Li6hNPxZpEACBeBIIrcB6MXogzynR+Y4q6k0zkpIv/0/E5X8eVtgFArElEMoQgU/hAbz4L7ZfEzQcBEojEEoP1sPwAES1tPMKuUAABJhAKAXW5fAARBVfDRAAASMEQhcicCk8AFE1cjqhEBAAgWwCofNgDYYHIKrZZwLWQQAEjBMIncA6DA9AVI2fQigQBEAgF4FQhQjkMurTXkEbuDGVuRrUzXaIajdQsAkEQMB9AqHyYNvK6Tz+RShEXCGq7p87qAEEQKAHAqES2B7CAxDVHjobu0EABLwlEJoQQY7wAETV2/MFtYEACBRBIDQebFZ4AKJaRAfjUBAAAf8IhEZgyaKUSNO4suG0RE0F6B8y1AwCIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAACIAAC7hD4/8l256QQPdLRAAAAAElFTkSuQmCC\"/>\n</defs>\n</svg>\n","import React from \"react\";\n\nimport { buildValidationSchema } from \"components/utils\";\nimport { Typography, Button, Label } from \"neetoui\";\nimport { Select, Form } from \"neetoui/formik\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Configure = ({\n children,\n teamName,\n initialFormValues,\n handleSubmit,\n isSubmitting,\n className,\n validationSchema,\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className={`neeto-ui-w-full neeto-ui-space-y-6 ${className}`}>\n <div className=\"neeto-ui-w-full neeto-ui-mb-3\">\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-ui-mb-0.5\"\n style=\"h3\"\n weight=\"semibold\"\n >\n {teamName}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-600\"\n style=\"body1\"\n weight=\"normal\"\n >\n {teamName?.replace(/\\s/g, \"\").toLowerCase()}.slack.com\n </Typography>\n </div>\n <Form\n formikProps={{\n enableReinitialize: true,\n initialValues: initialFormValues,\n onSubmit: handleSubmit,\n validationSchema: buildValidationSchema(validationSchema),\n }}\n >\n {formikProps => (\n <>\n <div className=\"neeto-ui-mb-4 neeto-ui-w-full\">\n <Label className=\"neeto-ui-text-gray-800 neeto-ui-mb-0.5 neeto-ui-text-base neeto-ui-font-semibold\">\n {t(\"slack.configure.sendTo\")}\n </Label>\n <Typography\n className=\"neeto-ui-text-gray-700 neeto-ui-mb-3\"\n style=\"body2\"\n weight=\"normal\"\n >\n {t(\"slack.configure.sendToDescription\")}\n </Typography>\n <Select\n name=\"selectedChannel\"\n options={formikProps.values.channels}\n size=\"large\"\n placeholder={t(\"slack.placeholder\")}\n />\n </div>\n {typeof children === \"function\" ? children(formikProps) : children}\n <Button\n type=\"submit\"\n label={t(\"common.continue\")}\n loading={isSubmitting}\n />\n </>\n )}\n </Form>\n </div>\n );\n};\n\nexport default Configure;\n","import * as yup from \"yup\";\n\nimport { CHANNEL_NAME_VALIDAITON_SCHEMA } from \"./constants\";\n\nexport const buildValidationSchema = customValidationSchema =>\n yup.object().shape({\n ...customValidationSchema,\n ...CHANNEL_NAME_VALIDAITON_SCHEMA,\n });\n","import React from \"react\";\n\nimport { Slack as SlackIcon } from \"neetoicons/misc\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Connect = ({ handleRedirectToSlack }) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"w-full\">\n <SlackIcon size={32} />\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-ui-mb-0.5 neeto-ui-mt-6\"\n style=\"h2\"\n weight=\"semibold\"\n >\n {t(\"slack.connect.title\")}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700 neeto-ui-mb-4\"\n style=\"body1\"\n weight=\"normal\"\n >\n {t(\"slack.connect.description\")}\n </Typography>\n <Button\n label={t(\"slack.connect.loginButton\")}\n onClick={handleRedirectToSlack}\n />\n </div>\n );\n};\n\nexport default Connect;\n","import React from \"react\";\n\nimport { Typography } from \"neetoui\";\n\nconst Field = ({ name, value, className = \"\" }) => (\n <div className={`neeto-ui-mb-3 neeto-ui-w-full ${className}`}>\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-ui-mb-1\"\n style=\"h5\"\n weight=\"semibold\"\n >\n {name}\n </Typography>\n <Typography\n className=\"neeto-ui-text-gray-700\"\n style=\"body2\"\n weight=\"normal\"\n >\n {value}\n </Typography>\n </div>\n);\n\nexport default Field;\n","import React from \"react\";\n\nimport SuccessIcon from \"assets/images/success.svg\";\nimport Field from \"components/common/Field\";\nimport { isNotEmpty } from \"neetocommons/pure\";\nimport { Typography, Button } from \"neetoui\";\nimport { useTranslation } from \"react-i18next\";\n\nconst Finish = ({\n children,\n onClose,\n onBack,\n teamName,\n selectedChannel,\n otherFields = [],\n}) => {\n const { t } = useTranslation();\n\n return (\n <div className=\"neeto-ui-w-full\">\n <SuccessIcon />\n <Typography\n className=\"neeto-ui-text-gray-800 neeto-ui-mb-6 neeto-ui-mt-4\"\n style=\"h3\"\n weight=\"bold\"\n >\n {t(\"slack.finish.title\")}\n </Typography>\n <Field\n name={t(\"slack.finish.account\")}\n value={`${teamName?.replace(/\\s/g, \"\").toLowerCase()}.slack.com`}\n />\n <Field\n name={t(\"slack.finish.channel\")}\n value={selectedChannel}\n className=\"border-t border-gray-300 neeto-ui-pt-3\"\n />\n {isNotEmpty(otherFields) &&\n otherFields.map(field => (\n <Field\n key={field.name}\n name={field.name}\n value={field.value}\n className=\"border-t border-gray-300 neeto-ui-pt-3\"\n />\n ))}\n {children}\n <div className=\"neeto-ui-flex neeto-ui-w-full neeto-ui-flex-row neeto-ui-mt-6\">\n <Button\n className=\"neeto-ui-my-1\"\n label={t(\"slack.steps.finish\")}\n onClick={onClose}\n />\n <Button\n className=\"neeto-ui-my-1 neeto-ui-ml-2\"\n style=\"secondary\"\n label={t(\"common.edit\")}\n onClick={onBack}\n />\n </div>\n </div>\n );\n};\n\nexport default Finish;\n","var e=[],t=[];function n(n,r){if(n&&\"undefined\"!=typeof document){var a,s=!0===r.prepend?\"prepend\":\"append\",d=!0===r.singleTag,i=\"string\"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName(\"head\")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c()}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n))}function c(){var e=document.createElement(\"style\");if(e.setAttribute(\"type\",\"text/css\"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a=\"prepend\"===s?\"afterbegin\":\"beforeend\";return i.insertAdjacentElement(a,e),e}}export{n as default};\n"],"names":["_typeof","obj","Symbol","iterator","constructor","prototype","_classCallCheck","instance","Constructor","TypeError","_toPropertyKey","arg","key","input","hint","prim","toPrimitive","undefined","res","call","String","Number","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","toPropertyKey","_createClass","protoProps","staticProps","_assertThisInitialized","self","ReferenceError","_setPrototypeOf","o","p","setPrototypeOf","bind","__proto__","_inherits","subClass","superClass","create","value","_possibleConstructorReturn","assertThisInitialized","_getPrototypeOf","getPrototypeOf","_defineProperty","_arrayWithHoles","arr","Array","isArray","_arrayLikeToArray","len","arr2","_unsupportedIterableToArray","minLen","arrayLikeToArray","n","toString","slice","name","from","test","_nonIterableRest","_toArray","arrayWithHoles","iter","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","push","apply","_objectSpread","arguments","source","forEach","getOwnPropertyDescriptors","defineProperties","consoleLogger","type","log","args","this","output","warn","error","console","baseLogger","Logger","concreteLogger","options","init","prefix","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","concat","moduleName","EventEmitter","observers","events","listener","_this","split","event","l","cloned","observer","_cloned","defer","rej","promise","Promise","resolve","reject","makeString","copy","a","s","t","m","getLastOfPath","path","Empty","cleanKey","indexOf","replace","canNotTraverseDeeper","stack","shift","hasOwnProperty","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","data","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","escape","isIE10","window","navigator","userAgentData","userAgent","chars","ownKeys$1","_objectSpread$1","_createSuper","Derived","hasNativeReflectConstruct","Reflect","construct","sham","Proxy","Boolean","valueOf","e","_isNativeReflectConstruct","result","Super","NewTarget","deepFind","keySeparator","paths","current","j","join","mix","endsWith","joinedPath","ResourceStore","_EventEmitter","_super","ns","defaultNS","ignoreJSONStructure","index","splice","lng","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","getDataByLanguage","find","v","postProcessor","processors","addPostProcessor","module","handle","translator","processor","process","ownKeys$2","_objectSpread$2","_createSuper$1","_isNativeReflectConstruct$1","checkedLoadedFor","Translator","services","language","interpolation","resolved","nsSeparator","namespaces","wouldCheckForNsInKey","seemsNaturalLanguage","userDefinedKeySeparator","userDefinedNsSeparator","possibleChars","c","r","RegExp","map","matched","ki","substring","looksLikeObjectPath","match","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","returnDetails","_this$extractFromKey","extractFromKey","namespace","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","missingKeyNoValueFallbackToKey","resForMissing","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","specificDefaultValue","defaultForMissing","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","defaultVariables","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsZeroSuffixLookup","ordinal","shouldUseIntlApi","needsContextHandling","codes","utils","hasLoadedNamespace","code","possibleKey","finalKeys","addLookupKeys","pluralSuffix","zeroSuffix","pluralSeparator","contextKey","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","part","cleanCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","isSupportedCode","lngOnly","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","deprecatedJsonVersions","suffixesOrder","zero","one","two","few","many","other","createRules","rules","set","numbers","plurals","PluralResolver","compatibilityJSON","Intl","PluralRules","_unused","rule","getRule","resolvedOptions","pluralCategories","sort","pluralCategory1","pluralCategory2","pluralCategory","prepend","number","select","getSuffixRetroCompatible","idx","noAbs","Math","abs","simplifyPluralSuffix","returnSuffix","includes","ownKeys$3","_objectSpread$3","Interpolator","format","escapeValue","iOpts","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","val","handleFormat","interpolationkey","trim","f","missingInterpolationHandler","regex","safeValue","todo","exec","matchedVar","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","matchedSingleQuotes","matchedDoubleQuotes","JSON","formatters","doReduce","elem","reduce","ownKeys$4","_objectSpread$4","Formatter","formats","NumberFormat","currency","style","datetime","DateTimeFormat","relativetime","RelativeTimeFormat","range","list","ListFormat","_format","mem","_parseFormatStr","formatStr","formatName","formatOptions","optStr","opt","_opt$split2","isNaN","parseInt","parseFormatStr","formatted","valOptions","formatParams","locale","ownKeys$5","_objectSpread$5","_createSuper$2","_isNativeReflectConstruct$2","Connector","backend","store","waitingReads","maxParallelReads","readingCalls","maxRetries","retryTimeout","state","queue","languages","callback","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","pendingCount","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","removePending","done","loadedKeys","fcName","tried","wait","next","read","setTimeout","queueLoad","loadOne","prepareLoading","_this5","fallbackValue","isUpdate","get","initImmediate","preload","partialBundledLanguages","ret","tDescription","transformOptions","ownKeys$6","_objectSpread$6","_createSuper$3","_isNativeReflectConstruct$3","noop","bindMemberFunctions","inst","getOwnPropertyNames","I18n","modules","external","isInitialized","isClone","defOpts","createClassOnDemand","ClassOrObject","formatter","lu","on","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","initializedStoreOnce","changeLanguage","usedCallback","append","resolvedLanguage","setResolvedLanguage","Error","li","lngInLngs","hasLanguageSomeTranslations","isLanguageChangingTo","setLngProps","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","keyPrefix","fixedT","opts","rest","resultKey","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","membersToCopy","createInstance","reloadResources","use","getFixedT","setDefaultNamespace","loadNamespaces","loadLanguages","matchHtmlEntity","htmlEntities","unescapeHtmlEntity","i18nInstance","defaultOptions","bindI18n","bindI18nStore","transEmptyNodeValue","transSupportBasicHtmlNodes","transWrapTextNodes","transKeepBasicHtmlNodesFor","useSuspense","unescape","text","I18nContext","createContext","getDefaults","ReportNamespaces","usedNamespaces","getI18n","initReactI18next","setDefaults","react","setI18n","_console","alreadyWarned","warnOnce","Date","i18n","cb","initialized","off","oldI18nextHasLoadedNamespace","isNewerI18next","_slicedToArray","_i","_s","_e","_x","_r","_arr","_n","_d","iterableToArrayLimit","usePrevious","ignore","ref","useRef","useEffect","useTranslation","i18nFromProps","_ref","useContext","i18nFromContext","defaultNSFromContext","reportNamespaces","notReadyT","retNotReady","ready","i18nOptions","addUsedNamespaces","every","getT","nsMode","_useState","useState","_useState2","setT","joinedNS","previousJoinedNS","isMounted","boundReset","isInitial","en","translation","_path","_defs","CHANNEL_NAME_VALIDAITON_SCHEMA","selectedChannel","yup","shape","label","required","entity","nullable","Configure","customValidationSchema","children","teamName","initialFormValues","handleSubmit","isSubmitting","className","validationSchema","React","createElement","Typography","weight","Form","formikProps","enableReinitialize","initialValues","onSubmit","Fragment","Label","Select","values","channels","size","placeholder","Button","loading","Connect","handleRedirectToSlack","SlackIcon","onClick","_extends","assign","SvgSuccess","width","height","fill","xmlns","xmlnsXlink","d","id","patternContentUnits","xlinkHref","transform","Field","_ref$className","Finish","onClose","onBack","_ref$otherFields","otherFields","SuccessIcon","isNotEmpty","field","document","singleTag","container","querySelector","getElementsByTagName","u","charCodeAt","styleSheet","cssText","appendChild","createTextNode","setAttribute","attributes","insertAdjacentElement"],"mappings":"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"}