@tolgee/core 2.5.1 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"tolgee.cjs.js","sources":["../node_modules/tslib/tslib.es6.js","../src/Constants/Global.ts","../src/helpers/NodeHelper.ts","../src/Constants/ModifierKey.ts","../src/TolgeeConfig.ts","../src/Properties.ts","../src/services/Subscription.ts","../src/services/EventEmitter.ts","../src/services/EventService.ts","../src/Errors/ApiHttpError.ts","../src/services/ApiHttpService.ts","../src/types/DTOs.ts","../src/services/TranslationService.ts","../src/helpers/TextHelper.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/intl-messageformat/lib/index.js","../src/services/TextService.ts","../src/highlighter/MouseEventHandler.ts","../src/highlighter/TranslationHighlighter.ts","../src/services/ElementRegistrar.ts","../src/handlers/AbstractHandler.ts","../src/handlers/TextHandler.ts","../src/handlers/AttributeHandler.ts","../src/handlers/CoreHandler.ts","../src/Observer.ts","../src/services/CoreService.ts","../src/handlers/WrappedHandler.ts","../src/helpers/sleep.ts","../src/toolsManager/PluginManager.ts","../src/toolsManager/Messages.ts","../src/highlighter/HighlightFunctionsInitializer.ts","../src/services/ScreenshotService.ts","../src/services/DependencyStore.ts","../src/Tolgee.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export var RESTRICTED_ASCENDANT_ATTRIBUTE = 'data-tolgee-restricted';\nexport var TOLGEE_ATTRIBUTE_NAME = '_tolgee';\nexport var TOLGEE_TARGET_ATTRIBUTE = '_tolgee-target';\nexport var TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE = 'data-tolgee-key-only';\n","import { __generator, __read, __spreadArray } from \"tslib\";\nimport { TOLGEE_TARGET_ATTRIBUTE } from '../Constants/Global';\nvar NodeHelper = /** @class */ (function () {\n function NodeHelper() {\n }\n NodeHelper.evaluateGenerator = function (expression, targetNode) {\n var node, evaluated;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);\n _a.label = 1;\n case 1:\n if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];\n return [4 /*yield*/, node];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n NodeHelper.evaluate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Array.from(this.evaluateGenerator.apply(this, __spreadArray([], __read(args), false)));\n };\n NodeHelper.evaluateToSingle = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var arr = this.evaluate.apply(this, __spreadArray([], __read(args), false));\n if (arr.length === 1) {\n return arr[0];\n }\n if (arr.length < 1) {\n throw new Error('No element found');\n }\n throw new Error('Multiple elements found');\n };\n NodeHelper.closestElement = function (node) {\n if (node instanceof Text) {\n return node.parentElement;\n }\n return node;\n };\n NodeHelper.getParentElement = function (node) {\n if (node.parentElement) {\n return node.parentElement;\n }\n if (node.ownerElement) {\n return node.ownerElement;\n }\n };\n NodeHelper.isElementTargetElement = function (element) {\n return element.hasAttribute(TOLGEE_TARGET_ATTRIBUTE);\n };\n NodeHelper.markElementAsTargetElement = function (element) {\n element.setAttribute(TOLGEE_TARGET_ATTRIBUTE, '');\n };\n NodeHelper.unmarkElementAsTargetElement = function (element) {\n element.removeAttribute(TOLGEE_TARGET_ATTRIBUTE);\n };\n NodeHelper.nodeContains = function (descendant, node) {\n if (descendant.contains(node)) {\n return true;\n }\n if (node instanceof Attr) {\n var ownerContainsAttr = Object.values(node.ownerElement.attributes).indexOf(node) > -1;\n if (descendant.contains(node.ownerElement) && ownerContainsAttr) {\n return true;\n }\n }\n return false;\n };\n return NodeHelper;\n}());\nexport { NodeHelper };\n","export var ModifierKey;\n(function (ModifierKey) {\n ModifierKey[ModifierKey[\"Alt\"] = 0] = \"Alt\";\n ModifierKey[ModifierKey[\"Control\"] = 1] = \"Control\";\n ModifierKey[ModifierKey[\"Shift\"] = 2] = \"Shift\";\n ModifierKey[ModifierKey[\"Meta\"] = 3] = \"Meta\";\n})(ModifierKey || (ModifierKey = {}));\n","import { NodeHelper } from './helpers/NodeHelper';\nimport { ModifierKey } from './Constants/ModifierKey';\nvar DEFAULT_TARGET_ELEMENT_SUPPLIER = function () {\n if (typeof document !== 'undefined') {\n return document.body;\n }\n};\nvar TolgeeConfig = /** @class */ (function () {\n function TolgeeConfig(config) {\n this.apiUrl = 'https://app.tolgee.io';\n this.inputPrefix = '%-%tolgee:';\n this.inputSuffix = '%-%';\n this.defaultLanguage = 'en';\n this.filesUrlPrefix = 'i18n/';\n this.tagAttributes = {\n textarea: ['placeholder'],\n input: ['value', 'placeholder'],\n img: ['alt'],\n '*': ['aria-label', 'title'],\n };\n this.highlightKeys = [ModifierKey.Alt];\n this.passToParent = ['option', 'optgroup'];\n this.restrictedElements = ['script', 'style'];\n this.highlightColor = 'rgb(224 240 255)';\n /**\n * When true, fallback language will be preloaded on Tolgee.run\n */\n this.preloadFallback = false;\n //workaround for: https://stackoverflow.com/questions/48725916/typescript-optional-property-with-a-getter\n Object.defineProperty(this, 'targetElement', {\n set: function (targetElement) {\n if (this.targetElement !== undefined) {\n throw new Error('Target element is already defined!');\n }\n if (targetElement === undefined) {\n this._targetElement = DEFAULT_TARGET_ELEMENT_SUPPLIER();\n }\n if (NodeHelper.isElementTargetElement(targetElement)) {\n // eslint-disable-next-line no-console\n console.error('Target element: ', this._targetElement);\n throw new Error('An tolgee instance is inited with provided target element');\n }\n this._targetElement = targetElement;\n NodeHelper.markElementAsTargetElement(this._targetElement);\n },\n get: function () {\n return this._targetElement;\n },\n });\n Object.assign(this, config || {});\n if (this._targetElement === undefined) {\n this._targetElement = DEFAULT_TARGET_ELEMENT_SUPPLIER();\n }\n this.mode = this.mode || (this.apiKey ? 'development' : 'production');\n this.fallbackLanguage = this.fallbackLanguage || this.defaultLanguage;\n if (this.watch === undefined) {\n this.watch = this.mode === 'development';\n }\n }\n return TolgeeConfig;\n}());\nexport { TolgeeConfig };\n","var PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY = '__tolgee_preferredLanguages';\nvar CURRENT_LANGUAGE_LOCAL_STORAGE_KEY = '__tolgee_currentLanguage';\nvar Properties = /** @class */ (function () {\n function Properties() {\n }\n Object.defineProperty(Properties.prototype, \"currentLanguage\", {\n get: function () {\n var result;\n if (this.config.forceLanguage) {\n return this.config.forceLanguage;\n }\n if (typeof localStorage !== 'undefined') {\n result = localStorage.getItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY);\n if (this.config.availableLanguages) {\n var isSavedLanguageAvailable = this.config.availableLanguages.indexOf(result) > -1;\n if (!isSavedLanguageAvailable) {\n result = undefined;\n }\n }\n }\n else {\n result = this._currentLanguage;\n }\n if (!result) {\n result = this.getLanguageByNavigator();\n this.currentLanguage = result;\n }\n return result;\n },\n set: function (language) {\n if (typeof localStorage == 'undefined') {\n this._currentLanguage = language;\n return;\n }\n localStorage.setItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY, language);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Properties.prototype, \"preferredLanguages\", {\n get: function () {\n return new Set(JSON.parse(localStorage.getItem(PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY)));\n },\n set: function (languages) {\n localStorage.setItem(PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY, JSON.stringify(Array.from(languages)));\n },\n enumerable: false,\n configurable: true\n });\n Properties.prototype.getLanguageByNavigator = function () {\n if (typeof window !== 'undefined' && this.config.availableLanguages) {\n var preferred_1 = window.navigator.language;\n var exactMatch = this.config.availableLanguages.find(function (l) { return l === preferred_1; });\n if (exactMatch) {\n return exactMatch;\n }\n var getTwoLetters_1 = function (fullTag) { return fullTag.replace(/^(.+?)(-.*)?$/, '$1'); };\n var preferredTwoLetter_1 = getTwoLetters_1(window.navigator.language);\n var twoLetterMatch = this.config.availableLanguages.find(function (l) { return getTwoLetters_1(l) === preferredTwoLetter_1; });\n if (twoLetterMatch) {\n return twoLetterMatch;\n }\n }\n return this.config.defaultLanguage;\n };\n return Properties;\n}());\nexport { Properties };\n","var Subscription = /** @class */ (function () {\n function Subscription(onUnsubscribe) {\n this.onUnsubscribe = onUnsubscribe;\n }\n Subscription.prototype.unsubscribe = function () {\n this.onUnsubscribe();\n };\n return Subscription;\n}());\nexport { Subscription };\n","import { __values } from \"tslib\";\nimport { Subscription } from './Subscription';\nvar EventEmitterImpl = /** @class */ (function () {\n function EventEmitterImpl() {\n this.idCounter = 0;\n this._subscriptions = new Map();\n }\n Object.defineProperty(EventEmitterImpl.prototype, \"subscriptions\", {\n get: function () {\n return this._subscriptions;\n },\n enumerable: false,\n configurable: true\n });\n EventEmitterImpl.prototype.emit = function (data) {\n var e_1, _a;\n var promiseReturns = [];\n try {\n for (var _b = __values(this.subscriptions.values()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var callback = _c.value;\n var returned = callback(data);\n if (typeof (returned === null || returned === void 0 ? void 0 : returned['then']) === 'function') {\n promiseReturns.push(returned);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (promiseReturns.length === 0) {\n return;\n }\n return new Promise(function (resolve) {\n return Promise.all(promiseReturns).then(function () { return resolve(); });\n });\n };\n EventEmitterImpl.prototype.subscribe = function (callback) {\n var _this = this;\n var newId = this.idCounter++;\n var subscription = new Subscription(function () { return _this.unsubscribe(newId); });\n this.subscriptions.set(newId, callback);\n return subscription;\n };\n EventEmitterImpl.prototype.unsubscribe = function (id) {\n var wasPresent = this._subscriptions.delete(id);\n if (!wasPresent) {\n // eslint-disable-next-line no-console\n console.warn('Event to unsubscribe was not found');\n }\n };\n return EventEmitterImpl;\n}());\nexport { EventEmitterImpl };\n","import { EventEmitterImpl } from './EventEmitter';\nvar EventService = /** @class */ (function () {\n function EventService() {\n this.TRANSLATION_CHANGED = new EventEmitterImpl();\n this.LANGUAGE_CHANGED = new EventEmitterImpl();\n this.LANGUAGE_LOADED = new EventEmitterImpl();\n this.ELEMENT_REGISTERED = new EventEmitterImpl();\n }\n return EventService;\n}());\nexport { EventService };\n","import { __extends } from \"tslib\";\nvar ApiHttpError = /** @class */ (function (_super) {\n __extends(ApiHttpError, _super);\n function ApiHttpError(response, code) {\n var _this = _super.call(this, 'Api http error') || this;\n _this.response = response;\n _this.code = code;\n // Set the prototype explicitly.\n Object.setPrototypeOf(_this, ApiHttpError.prototype);\n return _this;\n }\n return ApiHttpError;\n}(Error));\nexport { ApiHttpError };\n","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { ApiHttpError } from '../Errors/ApiHttpError';\nvar ApiHttpService = /** @class */ (function () {\n function ApiHttpService(properties) {\n this.properties = properties;\n }\n ApiHttpService.handleErrors = function (response) {\n return __awaiter(this, void 0, void 0, function () {\n var error, data, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.status >= 400)) return [3 /*break*/, 5];\n error = new ApiHttpError(response);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, response.json()];\n case 2:\n data = _a.sent();\n error.code = data.code;\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n // eslint-disable-next-line no-console\n console.warn('Tolgee server responded with invalid status code.');\n return [3 /*break*/, 4];\n case 4: throw error;\n case 5: return [2 /*return*/, response];\n }\n });\n });\n };\n ApiHttpService.prototype.fetch = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, url, rest;\n return __generator(this, function (_b) {\n if (typeof args[0] === 'object') {\n return [2 /*return*/, fetch(__assign(__assign({}, args[0]), { url: this.getUrl(args[0].url) })).then(function (r) {\n return ApiHttpService.handleErrors(r);\n })];\n }\n _a = __read(args), url = _a[0], rest = _a.slice(1);\n return [2 /*return*/, fetch.apply(void 0, __spreadArray([this.getUrl(url)], __read(rest), false)).then(function (r) {\n return ApiHttpService.handleErrors(r);\n })];\n });\n });\n };\n ApiHttpService.prototype.fetchJson = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.fetch.apply(this, __spreadArray([], __read(args), false)).then(function (res) {\n return res.json();\n })];\n });\n });\n };\n ApiHttpService.prototype.post = function (url, body, init) {\n if (init === void 0) { init = {}; }\n var rest = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n rest[_i - 3] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.fetch.apply(this, __spreadArray([url, __assign({ body: JSON.stringify(body), method: 'POST', headers: {\n 'Content-Type': 'application/json',\n } }, init)], __read(rest), false))];\n });\n });\n };\n ApiHttpService.prototype.postJson = function (url, body, init) {\n if (init === void 0) { init = {}; }\n var rest = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n rest[_i - 3] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.post.apply(this, __spreadArray([url, body, init], __read(rest), false)).then(function (res) { return res.json(); })];\n });\n });\n };\n ApiHttpService.prototype.getUrl = function (path) {\n var querySeparator = path.indexOf('?') < 0 ? '?' : '&';\n return this.properties.config.apiUrl + \"/\" + path + querySeparator + \"ak=\" + this.properties.config.apiKey;\n };\n return ApiHttpService;\n}());\nexport { ApiHttpService };\n","var TranslationData = /** @class */ (function () {\n function TranslationData(key, translations, id) {\n this.key = key;\n this.translations = translations;\n this.id = id;\n }\n return TranslationData;\n}());\nexport { TranslationData };\n","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { ApiHttpError } from '../Errors/ApiHttpError';\nimport { TranslationData, } from '../types/DTOs';\nvar TranslationService = /** @class */ (function () {\n function TranslationService(properties, coreService, apiHttpService, eventService) {\n var _this = this;\n this.properties = properties;\n this.coreService = coreService;\n this.apiHttpService = apiHttpService;\n this.eventService = eventService;\n this.translationsCache = new Map();\n this.fetchPromises = {};\n this.updateTranslationInCache = function (data) { return __awaiter(_this, void 0, void 0, function () {\n var result;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = {};\n Object.entries(data.translations).forEach(function (_a) {\n var _b = __read(_a, 2), lang = _b[0], translation = _b[1];\n var cachedData = _this.translationsCache.get(lang);\n if (cachedData) {\n cachedData[data.name] = translation.text;\n }\n result[lang] = translation.text;\n });\n return [4 /*yield*/, this.eventService.TRANSLATION_CHANGED.emit(new TranslationData(data.name, result, data.id))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n this.getTranslationsOfKey = function (key, languages) {\n if (languages === void 0) { languages = new Set([_this.properties.currentLanguage]); }\n return __awaiter(_this, void 0, void 0, function () {\n var languagesArray, languagesQuery, data, translationData_1, firstItem, langs, e_1, _a;\n var _b, _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n this.coreService.checkScope('translations.view');\n _e.label = 1;\n case 1:\n _e.trys.push([1, 3, , 7]);\n languagesArray = __spreadArray([], __read(languages), false);\n languagesQuery = languagesArray\n .map(function (l) { return \"languages=\" + l; })\n .join('&');\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/projects/translations?\" + languagesQuery + \"&filterKeyName=\" + encodeURIComponent(key))];\n case 2:\n data = _e.sent();\n translationData_1 = languagesArray.reduce(function (acc, curr) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[curr] = '', _a)));\n }, {});\n firstItem = (_c = (_b = data._embedded) === null || _b === void 0 ? void 0 : _b.keys) === null || _c === void 0 ? void 0 : _c[0];\n if (firstItem === null || firstItem === void 0 ? void 0 : firstItem.translations) {\n Object.entries(firstItem.translations).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], translation = _b[1];\n return (translationData_1[language] = translation.text);\n });\n }\n langs = (_d = data.selectedLanguages) === null || _d === void 0 ? void 0 : _d.map(function (l) { return l.tag; });\n return [2 /*return*/, [firstItem, langs]];\n case 3:\n e_1 = _e.sent();\n if (!(e_1 instanceof ApiHttpError &&\n e_1.response.status === 404 &&\n e_1.code === 'language_not_found')) return [3 /*break*/, 5];\n // only possible reason for this error is, that languages definition\n // is changed, but the old value is stored in preferred languages\n _a = this.properties;\n return [4 /*yield*/, this.coreService.getLanguages()];\n case 4:\n // only possible reason for this error is, that languages definition\n // is changed, but the old value is stored in preferred languages\n _a.preferredLanguages =\n _e.sent();\n // eslint-disable-next-line no-console\n console.error('Requested language not found, refreshing the page!');\n location.reload();\n return [3 /*break*/, 6];\n case 5: throw e_1;\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n }\n TranslationService.translationByValue = function (message, key, orEmpty, defaultValue) {\n if (message) {\n return message;\n }\n if (defaultValue) {\n return defaultValue;\n }\n if (orEmpty) {\n return '';\n }\n return key;\n };\n TranslationService.prototype.initStatic = function () {\n var _this = this;\n var _a;\n if (this.properties.config.mode === 'production' &&\n typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {\n Object.entries(this.properties.config.staticData).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], data = _b[1];\n //if not provider or promise then it is raw data\n if (typeof data !== 'function') {\n _this.setLanguageData(language, data);\n }\n });\n }\n };\n TranslationService.prototype.loadTranslations = function (lang) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.translationsCache.get(lang) == undefined)) return [3 /*break*/, 2];\n if (!(this.fetchPromises[lang] instanceof Promise)) {\n this.fetchPromises[lang] = this.fetchTranslations(lang);\n }\n return [4 /*yield*/, this.fetchPromises[lang]];\n case 1:\n _a.sent();\n this.eventService.LANGUAGE_LOADED.emit(lang);\n _a.label = 2;\n case 2:\n this.fetchPromises[lang] = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.getTranslation = function (key, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n if (orEmpty === void 0) { orEmpty = false; }\n return __awaiter(this, void 0, void 0, function () {\n var message;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n message = this.getFromCache(key, lang);\n if (!!message) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadTranslations(lang)];\n case 1:\n _a.sent();\n message = this.getFromCache(key, lang);\n if (!!message) return [3 /*break*/, 3];\n message = this.getFromCache(key, this.properties.config.fallbackLanguage);\n if (!!message) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadTranslations(this.properties.config.fallbackLanguage)];\n case 2:\n _a.sent();\n message = this.getFromCache(key, this.properties.config.fallbackLanguage);\n _a.label = 3;\n case 3: return [2 /*return*/, TranslationService.translationByValue(message, key, orEmpty, defaultValue)];\n }\n });\n });\n };\n TranslationService.prototype.updateKeyComplex = function (id, data) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.coreService.checkScope('translations.edit');\n return [4 /*yield*/, this.apiHttpService.postJson(\"v2/projects/keys/\" + id + \"/complex-update\", __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)\n ? data.screenshotUploadedImageIds\n : undefined, screenshotIdsToDelete: ((_b = data.screenshotIdsToDelete) === null || _b === void 0 ? void 0 : _b.length)\n ? data.screenshotIdsToDelete\n : undefined }), { method: 'put' })];\n case 1:\n result = (_c.sent());\n return [4 /*yield*/, this.updateTranslationInCache(result)];\n case 2:\n _c.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n TranslationService.prototype.createKey = function (data) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.coreService.checkScope('keys.edit');\n return [4 /*yield*/, this.apiHttpService.postJson(\"v2/projects/keys/create\", __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)\n ? data.screenshotUploadedImageIds\n : undefined }))];\n case 1:\n result = (_b.sent());\n return [4 /*yield*/, this.updateTranslationInCache(result)];\n case 2:\n _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n TranslationService.prototype.setTranslations = function (translationData) {\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.coreService.checkScope('translations.edit');\n return [4 /*yield*/, this.apiHttpService.postJson('v2/projects/translations', translationData)];\n case 1:\n result = (_a.sent());\n return [4 /*yield*/, this.updateTranslationInCache({\n id: result.keyId,\n name: result.keyName,\n translations: result.translations,\n })];\n case 2:\n _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Change translations of some keys to some value temporarily.\n * For screenshot taking with provided values, before actually saving\n * the values\n *\n * @return Returns callback changing affected translations back\n */\n TranslationService.prototype.changeTranslations = function (_a) {\n var key = _a.key, translations = _a.translations;\n return __awaiter(this, void 0, void 0, function () {\n var old;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n old = {};\n Object.entries(translations).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], value = _b[1];\n var data = _this.translationsCache.get(language);\n if (data) {\n old[language] = data[key];\n data[key] = value;\n }\n });\n return [4 /*yield*/, this.eventService.TRANSLATION_CHANGED.emit({\n key: key,\n translations: translations,\n })];\n case 1:\n _b.sent();\n // callback to revert the operation\n return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object.entries(old).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], value = _b[1];\n var data = _this.translationsCache.get(language);\n if (data) {\n data[key] = value;\n }\n });\n return [4 /*yield*/, this.eventService\n .TRANSLATION_CHANGED.emit({\n key: key,\n translations: old,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }];\n }\n });\n });\n };\n TranslationService.prototype.getFromCacheOrFallback = function (key, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n if (orEmpty === void 0) { orEmpty = false; }\n var message = this.getFromCache(key, lang) ||\n this.getFromCache(key, this.properties.config.fallbackLanguage);\n return TranslationService.translationByValue(message, key, orEmpty, defaultValue);\n };\n TranslationService.prototype.fetchTranslations = function (lang) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchTranslationsDevelopment(lang)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, this.fetchTranslationsProduction(lang)];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n TranslationService.prototype.fetchTranslationsProduction = function (language) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var langStaticData, data, url, result, data, e_2, e_3;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n langStaticData = (_b = (_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === null || _b === void 0 ? void 0 : _b[language];\n if (!(typeof langStaticData === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, langStaticData()];\n case 1:\n data = _c.sent();\n this.setLanguageData(language, data);\n return [2 /*return*/];\n case 2:\n if (langStaticData !== undefined) {\n this.setLanguageData(language, langStaticData);\n return [2 /*return*/];\n }\n _c.label = 3;\n case 3:\n url = \"\" + (this.properties.config.filesUrlPrefix || '/') + language + \".json\";\n _c.label = 4;\n case 4:\n _c.trys.push([4, 10, , 11]);\n return [4 /*yield*/, fetch(url)];\n case 5:\n result = _c.sent();\n if (result.status >= 400) {\n //on error set language data as empty object to not break the flow\n // eslint-disable-next-line no-console\n console.error('Server responded with error status while loading localization data.');\n this.setLanguageData(language, {});\n return [2 /*return*/];\n }\n _c.label = 6;\n case 6:\n _c.trys.push([6, 8, , 9]);\n return [4 /*yield*/, result.json()];\n case 7:\n data = _c.sent();\n this.setLanguageData(language, data);\n return [3 /*break*/, 9];\n case 8:\n e_2 = _c.sent();\n // eslint-disable-next-line no-console\n console.error(\"Error parsing json retrieved from \" + url + \".\");\n this.setEmptyLanguageData(language);\n return [3 /*break*/, 9];\n case 9: return [3 /*break*/, 11];\n case 10:\n e_3 = _c.sent();\n // eslint-disable-next-line no-console\n console.error(\"Error fetching localization data from \" + url + \".\");\n this.setEmptyLanguageData(language);\n return [3 /*break*/, 11];\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.fetchTranslationsDevelopment = function (language) {\n return __awaiter(this, void 0, void 0, function () {\n var data, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.coreService.checkScope('translations.view');\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/projects/translations/\" + language)];\n case 2:\n data = _a.sent();\n this.setLanguageData(language, data[language] || {});\n return [3 /*break*/, 4];\n case 3:\n e_4 = _a.sent();\n // eslint-disable-next-line no-console\n console.error('Error while fetching localization data from API.', e_4);\n this.setEmptyLanguageData(language);\n return [2 /*return*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.setEmptyLanguageData = function (language) {\n this.translationsCache.set(language, {});\n };\n TranslationService.prototype.setLanguageData = function (language, data) {\n // recursively walk the tree and make it flat, when tree data are provided\n var makeFlat = function (data) {\n var result = {};\n Object.entries(data).forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n // ignore falsy values\n if (!value) {\n return;\n }\n if (typeof value === 'object') {\n Object.entries(makeFlat(value)).forEach(function (_a) {\n var _b = __read(_a, 2), flatKey = _b[0], flatValue = _b[1];\n result[key + '.' + flatKey] = flatValue;\n });\n return;\n }\n result[key] = value;\n });\n return result;\n };\n this.translationsCache.set(language, makeFlat(data));\n };\n TranslationService.prototype.getFromCache = function (key, lang) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n var root = this.translationsCache.get(lang);\n //if lang is not downloaded or does not exist at all\n if (root === undefined) {\n return undefined;\n }\n return root[key];\n };\n return TranslationService;\n}());\nexport { TranslationService };\n","var TextHelper = /** @class */ (function () {\n function TextHelper() {\n }\n TextHelper.splitOnNonEscapedDelimiter = function (string, delimiter) {\n var result = [];\n var actual = '';\n var escaped = false;\n for (var i = 0; i < string.length; i++) {\n var char = string[i];\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n actual += char;\n continue;\n }\n if (char === delimiter) {\n result.push(actual);\n actual = '';\n continue;\n }\n actual += char;\n }\n result.push(actual);\n return result;\n };\n TextHelper.isCharEscaped = function (position, fullString) {\n var escapeCharsCount = 0;\n while (position > -1 && fullString[position - 1] === '\\\\') {\n escapeCharsCount++;\n position--;\n }\n return escapeCharsCount % 2 == 1;\n };\n TextHelper.removeEscapes = function (string) {\n var result = '';\n var escaped = false;\n for (var i = 0; i < string.length; i++) {\n var char = string[i];\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n result += char;\n continue;\n }\n result += char;\n }\n return result;\n };\n return TextHelper;\n}());\nexport { TextHelper };\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\" + SPACE_SEPARATOR_REGEX.source + \"*\");\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(SPACE_SEPARATOR_REGEX.source + \"*$\");\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\" + tagName + \"/>\",\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('</')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: skeleton,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(skeleton)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \" + offset + \" is at invalid UTF-16 code unit boundary\");\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" must be greater than or equal to the current offset \" + this.offset());\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" is at invalid UTF-16 code unit boundary\");\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { IntlMessageFormat } from './src/core';\nexport * from './src/formatters';\nexport * from './src/core';\nexport * from './src/error';\nexport default IntlMessageFormat;\n","import { __awaiter, __generator, __read, __values } from \"tslib\";\nimport { TextHelper } from '../helpers/TextHelper';\nimport IntlMessageFormat from 'intl-messageformat';\nvar TextService = /** @class */ (function () {\n function TextService(properties, translationService) {\n var _this = this;\n this.properties = properties;\n this.translationService = translationService;\n this.format = function (translation, params) {\n try {\n //try to format the text\n return new IntlMessageFormat(translation, _this.properties.currentLanguage).format(params);\n }\n catch (e) {\n // if string cannot be formatted, throw error\n // eslint-disable-next-line no-console\n console.error(e);\n }\n };\n this.escapeForRegExp = function (string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n };\n this.escapeParam = function (param) {\n if (typeof param === 'string') {\n return param.replace(/[,:\\\\]/gs, '\\\\$&');\n }\n if (typeof param === 'number' || typeof param === 'bigint') {\n return param.toString();\n }\n // eslint-disable-next-line no-console\n console.warn(param);\n // eslint-disable-next-line no-console\n console.warn('Unsupported value type of above param. Consider converting to string.');\n return param;\n };\n }\n Object.defineProperty(TextService.prototype, \"rawUnWrapRegex\", {\n get: function () {\n var escapedPrefix = this.escapeForRegExp(this.properties.config.inputPrefix);\n var escapedSuffix = this.escapeForRegExp(this.properties.config.inputSuffix);\n return \"(\\\\\\\\?)(\" + escapedPrefix + \"(.*?)\" + escapedSuffix + \")\";\n },\n enumerable: false,\n configurable: true\n });\n TextService.parseUnwrapped = function (unwrappedString) {\n var e_1, _a;\n var escaped = false;\n var actual = '';\n var paramName = '';\n var readingState = 'KEY';\n var result = {\n key: '',\n params: {},\n defaultValue: undefined,\n };\n try {\n for (var unwrappedString_1 = __values(unwrappedString), unwrappedString_1_1 = unwrappedString_1.next(); !unwrappedString_1_1.done; unwrappedString_1_1 = unwrappedString_1.next()) {\n var char = unwrappedString_1_1.value;\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n actual += char;\n continue;\n }\n if (readingState === 'KEY' && char === ',') {\n readingState = 'DEFAULT_VALUE';\n result.key = actual;\n actual = '';\n continue;\n }\n if (readingState === 'KEY' && char === ':') {\n readingState = 'PARAM_NAME';\n result.key = actual;\n actual = '';\n continue;\n }\n if (readingState === 'DEFAULT_VALUE' && char === ':') {\n readingState = 'PARAM_NAME';\n result.defaultValue = actual;\n actual = '';\n continue;\n }\n if (readingState === 'PARAM_NAME' && char === ':') {\n readingState = 'PARAM_VALUE';\n paramName = actual;\n actual = '';\n continue;\n }\n if (readingState === 'PARAM_VALUE' && char === ',') {\n readingState = 'PARAM_NAME';\n result.params[paramName] = actual;\n actual = '';\n continue;\n }\n actual += char;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (unwrappedString_1_1 && !unwrappedString_1_1.done && (_a = unwrappedString_1.return)) _a.call(unwrappedString_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (readingState === 'KEY') {\n result.key = actual;\n }\n if (readingState === 'DEFAULT_VALUE') {\n result.defaultValue = actual;\n }\n if (readingState === 'PARAM_VALUE') {\n result.params[paramName] = actual;\n }\n return result;\n };\n TextService.prototype.translate = function (key, params, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n return __awaiter(this, void 0, void 0, function () {\n var result, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.format;\n return [4 /*yield*/, this.translationService.getTranslation(key, lang, orEmpty, defaultValue)];\n case 1:\n result = _a.apply(this, [_b.sent(), params]);\n if (result !== undefined) {\n return [2 /*return*/, result];\n }\n return [2 /*return*/, key];\n }\n });\n });\n };\n TextService.prototype.instant = function (key, params, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n var result = this.format(this.translationService.getFromCacheOrFallback(key, lang, orEmpty, defaultValue), params);\n if (result !== undefined) {\n return result;\n }\n return key;\n };\n TextService.prototype.replace = function (text) {\n return __awaiter(this, void 0, void 0, function () {\n var matchRegexp, keysAndParams, matched, match, start, result, pre, _a, fullMatch, _, wrapped, unwrapped, index, input, translated;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n matchRegexp = new RegExp(this.rawUnWrapRegex, 'gs');\n keysAndParams = [];\n matched = false;\n start = 0;\n result = '';\n _b.label = 1;\n case 1:\n if (!((match = matchRegexp.exec(text)) !== null)) return [3 /*break*/, 3];\n pre = match[1];\n _a = __read(match, 4), fullMatch = _a[0], _ = _a[1], wrapped = _a[2], unwrapped = _a[3];\n index = match.index, input = match.input;\n result += input.substr(start, index - start);\n start = index + fullMatch.length;\n if (pre === '\\\\') {\n if (!TextHelper.isCharEscaped(index, text)) {\n result += wrapped;\n return [3 /*break*/, 1];\n }\n pre = '';\n }\n return [4 /*yield*/, this.getTranslatedWithMetadata(unwrapped)];\n case 2:\n translated = _b.sent();\n keysAndParams.push({\n key: translated.key,\n params: translated.params,\n defaultValue: translated.defaultValue,\n });\n matched = true;\n result += pre + translated.translated;\n return [3 /*break*/, 1];\n case 3:\n result += text.substring(start);\n if (matched) {\n return [2 /*return*/, { text: result, keys: keysAndParams }];\n }\n return [2 /*return*/, undefined];\n }\n });\n });\n };\n TextService.prototype.wrap = function (key, params, defaultValue) {\n var _this = this;\n if (params === void 0) { params = {}; }\n if (defaultValue === void 0) { defaultValue = undefined; }\n var paramString = Object.entries(params)\n .map(function (_a) {\n var _b = __read(_a, 2), name = _b[0], value = _b[1];\n return _this.escapeParam(name) + \":\" + _this.escapeParam(value);\n })\n .join(',');\n paramString = paramString.length ? \":\" + paramString : '';\n var defaultString = defaultValue !== undefined ? \",\" + this.escapeParam(defaultValue) : '';\n return \"\" + this.properties.config.inputPrefix + this.escapeParam(key) + defaultString + paramString + this.properties.config.inputSuffix;\n };\n TextService.prototype.getTranslatedWithMetadata = function (text) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, key, params, defaultValue, translated;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = TextService.parseUnwrapped(text), key = _a.key, params = _a.params, defaultValue = _a.defaultValue;\n return [4 /*yield*/, this.translate(key, params, undefined, false, defaultValue)];\n case 1:\n translated = _b.sent();\n return [2 /*return*/, { translated: translated, key: key, params: params, defaultValue: defaultValue }];\n }\n });\n });\n };\n return TextService;\n}());\nexport { TextService };\n","import { __values } from \"tslib\";\nimport { ModifierKey } from '../Constants/ModifierKey';\nimport { EventEmitterImpl } from '../services/EventEmitter';\nvar MouseEventHandler = /** @class */ (function () {\n function MouseEventHandler(properties) {\n this.properties = properties;\n this.keysDown = new Set();\n this.mouseOn = new Set();\n this.mouseOnChanged = new EventEmitterImpl();\n this.keysChanged = new EventEmitterImpl();\n if (typeof window !== 'undefined') {\n this.initKeyListener();\n return;\n }\n }\n MouseEventHandler.prototype.handle = function (element, onclick) {\n var _this = this;\n if (element._tolgee.listeningForHighlighting) {\n // eslint-disable-next-line no-console\n console.error('Element is already listening mouse events! This is probably bug in tolgee');\n return;\n }\n element._tolgee.listeningForHighlighting = true;\n this.initEventListeners(element, onclick);\n this.mouseOnChanged.subscribe(function () {\n if (_this.highlighted !== _this.getMouseOn()) {\n _this.onConditionsChanged();\n }\n });\n this.keysChanged.subscribe(function () {\n _this.onConditionsChanged();\n });\n };\n MouseEventHandler.prototype.initEventListeners = function (element, onclick) {\n var _this = this;\n var onMouseOver = function () { return _this.onMouseOver(element); };\n var onMouseOut = function () { return _this.onMouseOut(element); };\n var onClick = function (e) {\n if (_this.areKeysDown()) {\n e.stopPropagation();\n e.preventDefault();\n onclick(e);\n }\n };\n element.addEventListener('mouseover', onMouseOver);\n element.addEventListener('click', onClick);\n var onMouseDownOrUp = function (e) {\n if (_this.areKeysDown()) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n element.addEventListener('mousedown', onMouseDownOrUp);\n element.addEventListener('mouseup', onMouseDownOrUp);\n element.addEventListener('mouseout', onMouseOut);\n element._tolgee.removeAllEventListeners = function () {\n element.removeEventListener('mousedown', onMouseDownOrUp);\n element.removeEventListener('mouseup', onMouseDownOrUp);\n element.removeEventListener('mouseover', onMouseOver);\n element.removeEventListener('click', onClick);\n element.removeEventListener('mouseout', onMouseOut);\n };\n };\n MouseEventHandler.prototype.onConditionsChanged = function () {\n this.unhighlight();\n if (this.areKeysDown() && this.getMouseOn()) {\n this.highlight();\n }\n };\n MouseEventHandler.prototype.highlight = function () {\n this.getMouseOn()._tolgee.highlight();\n this.highlighted = this.getMouseOn();\n };\n MouseEventHandler.prototype.unhighlight = function () {\n if (this.highlighted) {\n this.highlighted._tolgee.unhighlight();\n this.highlighted = null;\n }\n };\n MouseEventHandler.prototype.onMouseOut = function (element) {\n this.mouseOn.delete(element);\n this.mouseOnChanged.emit(this.getMouseOn());\n };\n MouseEventHandler.prototype.onMouseOver = function (element) {\n this.filterMouseOn();\n this.mouseOn.delete(element); //to get in to last place\n this.mouseOn.add(element);\n this.mouseOnChanged.emit(this.getMouseOn());\n };\n MouseEventHandler.prototype.getMouseOn = function () {\n var mouseOnArray = Array.from(this.mouseOn);\n return mouseOnArray.length ? mouseOnArray[0] : undefined;\n };\n MouseEventHandler.prototype.initKeyListener = function () {\n var _this = this;\n window.addEventListener('blur', function () {\n _this.keysDown = new Set();\n _this.keysChanged.emit(_this.areKeysDown());\n });\n window.addEventListener('keydown', function (e) {\n var modifierKey = ModifierKey[e.key];\n if (modifierKey !== undefined) {\n _this.keysDown.add(modifierKey);\n _this.keysChanged.emit(_this.areKeysDown());\n }\n });\n window.addEventListener('keyup', function (e) {\n _this.keysDown.delete(ModifierKey[e.key]);\n _this.keysChanged.emit(_this.areKeysDown());\n });\n };\n MouseEventHandler.prototype.filterMouseOn = function () {\n var _this = this;\n this.mouseOn.forEach(function (el) {\n if (!document.contains(el)) {\n _this.mouseOn.delete(el);\n }\n });\n };\n MouseEventHandler.prototype.areKeysDown = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.properties.config.highlightKeys), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (!this.keysDown.has(key)) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n };\n return MouseEventHandler;\n}());\nexport { MouseEventHandler };\n","import { __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nvar TranslationHighlighter = /** @class */ (function () {\n function TranslationHighlighter(dependencies) {\n var _this = this;\n this.dependencies = dependencies;\n this.translationEdit = function (e, element) { return __awaiter(_this, void 0, void 0, function () {\n var key;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(typeof this.renderer === 'object')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.getKeyAndDefault(e, element)];\n case 1:\n key = _a.sent();\n if (key) {\n this.renderer.renderViewer(key.key, key.defaultValue);\n return [2 /*return*/];\n }\n return [2 /*return*/];\n case 2:\n // eslint-disable-next-line no-console\n console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to \"ui\" configuration property. ' +\n 'To disable highlighting use production mode.');\n return [2 /*return*/];\n }\n });\n }); };\n }\n Object.defineProperty(TranslationHighlighter.prototype, \"renderer\", {\n get: function () {\n if (this._renderer === undefined) {\n if (typeof this.dependencies.properties.config.ui === 'function') {\n this._renderer = new this.dependencies.properties.config.ui(this.dependencies);\n }\n }\n return this._renderer;\n },\n enumerable: false,\n configurable: true\n });\n TranslationHighlighter.getKeyOptions = function (node) {\n var nodes = Array.from(node._tolgee.nodes);\n return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({\n key: k.key,\n defaultValue: k.defaultValue,\n }); })), false); }, []);\n };\n TranslationHighlighter.prototype.listen = function (element) {\n var _this = this;\n this.dependencies.highlightFunctionInitializer.initFunctions(element);\n this.dependencies.mouseEventHandler.handle(element, function (e) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.translationEdit(e, element)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n }); }); });\n };\n TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {\n return __awaiter(this, void 0, void 0, function () {\n var keysWithDefaults, keySet, selectedKey_1, found;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (element._tolgee.wrappedWithElementOnlyKey) {\n return [2 /*return*/, {\n key: element._tolgee.wrappedWithElementOnlyKey,\n defaultValue: element._tolgee.wrappedWithElementOnlyDefaultHtml,\n }];\n }\n keysWithDefaults = TranslationHighlighter.getKeyOptions(element);\n keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));\n if (!(keySet.size > 1)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.renderer.getKey({\n keys: keySet,\n openEvent: mouseEvent,\n })];\n case 1:\n selectedKey_1 = _a.sent();\n found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });\n if (found) {\n return [2 /*return*/, found];\n }\n _a.label = 2;\n case 2:\n if (keySet.size === 1) {\n return [2 /*return*/, keysWithDefaults[0]];\n }\n // eslint-disable-next-line no-console\n console.error('No key to translate. This seems like a bug in tolgee.');\n return [2 /*return*/];\n }\n });\n });\n };\n return TranslationHighlighter;\n}());\nexport { TranslationHighlighter };\n","import { __generator, __values } from \"tslib\";\nimport { TOLGEE_ATTRIBUTE_NAME } from '../Constants/Global';\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar ElementRegistrar = /** @class */ (function () {\n function ElementRegistrar(properties, translationHighlighter, eventService) {\n this.properties = properties;\n this.translationHighlighter = translationHighlighter;\n this.eventService = eventService;\n this.registeredElements = new Set();\n }\n ElementRegistrar.prototype.register = function (element) {\n //ignore element with no active nodes\n if (this.getActiveNodes(element).next().value === undefined &&\n !element._tolgee.wrappedWithElementOnlyKey) {\n return;\n }\n if (this.properties.config.mode === 'development' &&\n !this.registeredElements.has(element)) {\n this.translationHighlighter.listen(element);\n }\n this.registeredElements.add(element);\n this.eventService.ELEMENT_REGISTERED.emit(element);\n };\n ElementRegistrar.prototype.refreshAll = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.registeredElements), _c = _b.next(); !_c.done; _c = _b.next()) {\n var element = _c.value;\n this.cleanElementInactiveNodes(element);\n if (element._tolgee.nodes.size === 0 &&\n !element._tolgee.wrappedWithElementOnlyKey) {\n this.cleanElement(element);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ElementRegistrar.prototype.cleanAll = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.registeredElements), _c = _b.next(); !_c.done; _c = _b.next()) {\n var registeredElement = _c.value;\n this.cleanElement(registeredElement);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n ElementRegistrar.prototype.findAllByKey = function (key) {\n var e_3, _a, e_4, _b;\n var result = [];\n try {\n for (var _c = __values(this.registeredElements), _d = _c.next(); !_d.done; _d = _c.next()) {\n var registeredElement = _d.value;\n if (registeredElement._tolgee.wrappedWithElementOnlyKey === key) {\n result.push(registeredElement);\n continue;\n }\n try {\n for (var _e = (e_4 = void 0, __values(registeredElement._tolgee.nodes)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var node = _f.value;\n if (node._tolgee.keys.findIndex(function (keyWithParams) { return keyWithParams.key === key; }) > -1) {\n result.push(registeredElement);\n break;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return result;\n };\n ElementRegistrar.prototype.cleanElementInactiveNodes = function (element) {\n if (this.isElementActive(element)) {\n element._tolgee.nodes = new Set(this.getActiveNodes(element));\n return;\n }\n };\n ElementRegistrar.prototype.cleanElement = function (element) {\n if (typeof element._tolgee.removeAllEventListeners === 'function') {\n element._tolgee.removeAllEventListeners();\n }\n element.removeAttribute(TOLGEE_ATTRIBUTE_NAME);\n delete element._tolgee;\n this.registeredElements.delete(element);\n };\n ElementRegistrar.prototype.getActiveNodes = function (element) {\n var _a, _b, node, e_5_1;\n var e_5, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 5, 6, 7]);\n _a = __values(element._tolgee.nodes), _b = _a.next();\n _d.label = 1;\n case 1:\n if (!!_b.done) return [3 /*break*/, 4];\n node = _b.value;\n if (!NodeHelper.nodeContains(this.properties.config.targetElement, node)) return [3 /*break*/, 3];\n return [4 /*yield*/, node];\n case 2:\n _d.sent();\n _d.label = 3;\n case 3:\n _b = _a.next();\n return [3 /*break*/, 1];\n case 4: return [3 /*break*/, 7];\n case 5:\n e_5_1 = _d.sent();\n e_5 = { error: e_5_1 };\n return [3 /*break*/, 7];\n case 6:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n }\n finally { if (e_5) throw e_5.error; }\n return [7 /*endfinally*/];\n case 7: return [2 /*return*/];\n }\n });\n };\n ElementRegistrar.prototype.isElementActive = function (element) {\n return this.properties.config.targetElement.contains(element);\n };\n return ElementRegistrar;\n}());\nexport { ElementRegistrar };\n","import { __awaiter, __generator, __values } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { RESTRICTED_ASCENDANT_ATTRIBUTE, TOLGEE_ATTRIBUTE_NAME, } from '../Constants/Global';\nvar AbstractHandler = /** @class */ (function () {\n function AbstractHandler(properties, textService, elementRegistrar, translationHighlighter) {\n this.properties = properties;\n this.textService = textService;\n this.elementRegistrar = elementRegistrar;\n this.translationHighlighter = translationHighlighter;\n }\n AbstractHandler.initParentElement = function (element) {\n if (element[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n element[TOLGEE_ATTRIBUTE_NAME] = {\n nodes: new Set(),\n };\n element.setAttribute(TOLGEE_ATTRIBUTE_NAME, '');\n }\n return element;\n };\n AbstractHandler.prototype.filterRestricted = function (nodes) {\n var restrictedElements = this.properties.config.restrictedElements;\n return nodes.filter(function (n) {\n var e = NodeHelper.closestElement(n);\n return (restrictedElements.indexOf(e.tagName.toLowerCase()) === -1 &&\n e.closest(\"[\" + RESTRICTED_ASCENDANT_ATTRIBUTE + \"=\\\"true\\\"]\") === null);\n });\n };\n AbstractHandler.prototype.handleNodes = function (nodes) {\n return __awaiter(this, void 0, void 0, function () {\n var nodes_1, nodes_1_1, textNode, tolgeeData, result, text, keys, translatedNode, parentElement, e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 7]);\n nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next();\n _b.label = 1;\n case 1:\n if (!!nodes_1_1.done) return [3 /*break*/, 4];\n textNode = nodes_1_1.value;\n if (textNode[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n textNode[TOLGEE_ATTRIBUTE_NAME] = {};\n }\n tolgeeData = textNode[TOLGEE_ATTRIBUTE_NAME];\n if (!((tolgeeData === null || tolgeeData === void 0 ? void 0 : tolgeeData.locked) !== true)) return [3 /*break*/, 3];\n this.lockNode(textNode);\n return [4 /*yield*/, this.textService.replace(textNode.textContent)];\n case 2:\n result = _b.sent();\n if (result) {\n text = result.text, keys = result.keys;\n translatedNode = this.translateChildNode(textNode, text, keys);\n parentElement = this.getParentElement(translatedNode);\n parentElement._tolgee.nodes.add(translatedNode);\n this.elementRegistrar.register(parentElement);\n }\n this.unlockNode(textNode);\n _b.label = 3;\n case 3:\n nodes_1_1 = nodes_1.next();\n return [3 /*break*/, 1];\n case 4: return [3 /*break*/, 7];\n case 5:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 7];\n case 6:\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n AbstractHandler.prototype.translateChildNode = function (node, newValue, keys) {\n node[TOLGEE_ATTRIBUTE_NAME] = {\n oldTextContent: node.textContent,\n keys: keys,\n };\n node.textContent = newValue;\n return node;\n };\n AbstractHandler.prototype.lockNode = function (node) {\n if (node[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n node[TOLGEE_ATTRIBUTE_NAME] = {};\n }\n var tolgeeData = node[TOLGEE_ATTRIBUTE_NAME];\n if ((tolgeeData === null || tolgeeData === void 0 ? void 0 : tolgeeData.locked) !== true) {\n tolgeeData.locked = true;\n }\n return node;\n };\n AbstractHandler.prototype.unlockNode = function (node) {\n if (node[TOLGEE_ATTRIBUTE_NAME]) {\n node[TOLGEE_ATTRIBUTE_NAME].locked = false;\n }\n };\n AbstractHandler.prototype.getParentElement = function (node) {\n var parent = this.getSuitableParent(node);\n return AbstractHandler.initParentElement(parent);\n };\n AbstractHandler.prototype.getSuitableParent = function (node) {\n var domParent = NodeHelper.getParentElement(node);\n if (domParent === undefined) {\n // eslint-disable-next-line no-console\n console.error(node);\n throw new Error('No suitable parent found for node above.');\n }\n if (!this.properties.config.passToParent) {\n return domParent;\n }\n if (Array.isArray(this.properties.config.passToParent)) {\n var tagNameEquals = function (elementTagName) {\n return domParent.tagName.toLowerCase() === elementTagName.toLowerCase();\n };\n if (this.properties.config.passToParent.findIndex(tagNameEquals) === -1) {\n return domParent;\n }\n }\n if (typeof this.properties.config.passToParent === 'function') {\n if (!this.properties.config.passToParent(domParent)) {\n return domParent;\n }\n }\n return this.getSuitableParent(domParent);\n };\n return AbstractHandler;\n}());\nexport { AbstractHandler };\n","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { AbstractHandler } from './AbstractHandler';\nvar TextHandler = /** @class */ (function (_super) {\n __extends(TextHandler, _super);\n function TextHandler(properties, translationHighlighter, textService, nodeRegistrar) {\n var _this = _super.call(this, properties, textService, nodeRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.translationHighlighter = translationHighlighter;\n _this.textService = textService;\n _this.nodeRegistrar = nodeRegistrar;\n return _this;\n }\n TextHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var inputPrefix, inputSuffix, xPath, nodes, filtered;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n inputPrefix = this.properties.config.inputPrefix;\n inputSuffix = this.properties.config.inputSuffix;\n xPath = \"./descendant-or-self::text()[contains(., '\" + inputPrefix + \"') and contains(., '\" + inputSuffix + \"')]\";\n nodes = NodeHelper.evaluate(xPath, node);\n filtered = this.filterRestricted(nodes);\n return [4 /*yield*/, this.handleNodes(filtered)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return TextHandler;\n}(AbstractHandler));\nexport { TextHandler };\n","import { __awaiter, __extends, __generator, __read, __values } from \"tslib\";\nimport { AbstractHandler } from './AbstractHandler';\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar AttributeHandler = /** @class */ (function (_super) {\n __extends(AttributeHandler, _super);\n function AttributeHandler(properties, textService, elementRegistrar, translationHighlighter) {\n var _this = _super.call(this, properties, textService, elementRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.textService = textService;\n _this.elementRegistrar = elementRegistrar;\n _this.translationHighlighter = translationHighlighter;\n return _this;\n }\n AttributeHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var inputPrefix, inputSuffix, _a, _b, _c, tag, attributes, attributes_1, attributes_1_1, attribute, expression, nodes, e_1_1, e_2_1;\n var e_2, _d, e_1, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n inputPrefix = this.properties.config.inputPrefix;\n inputSuffix = this.properties.config.inputSuffix;\n _f.label = 1;\n case 1:\n _f.trys.push([1, 12, 13, 14]);\n _a = __values(Object.entries(this.properties.config.tagAttributes)), _b = _a.next();\n _f.label = 2;\n case 2:\n if (!!_b.done) return [3 /*break*/, 11];\n _c = __read(_b.value, 2), tag = _c[0], attributes = _c[1];\n _f.label = 3;\n case 3:\n _f.trys.push([3, 8, 9, 10]);\n attributes_1 = (e_1 = void 0, __values(attributes)), attributes_1_1 = attributes_1.next();\n _f.label = 4;\n case 4:\n if (!!attributes_1_1.done) return [3 /*break*/, 7];\n attribute = attributes_1_1.value;\n expression = \"descendant-or-self::\" + tag + \"/@\" + attribute + \"[contains(., '\" + inputPrefix + \"') and contains(., '\" + inputSuffix + \"')]\";\n nodes = NodeHelper.evaluate(expression, node);\n return [4 /*yield*/, this.handleNodes(nodes)];\n case 5:\n _f.sent();\n _f.label = 6;\n case 6:\n attributes_1_1 = attributes_1.next();\n return [3 /*break*/, 4];\n case 7: return [3 /*break*/, 10];\n case 8:\n e_1_1 = _f.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 10];\n case 9:\n try {\n if (attributes_1_1 && !attributes_1_1.done && (_e = attributes_1.return)) _e.call(attributes_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 10:\n _b = _a.next();\n return [3 /*break*/, 2];\n case 11: return [3 /*break*/, 14];\n case 12:\n e_2_1 = _f.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 14];\n case 13:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 14: return [2 /*return*/];\n }\n });\n });\n };\n return AttributeHandler;\n}(AbstractHandler));\nexport { AttributeHandler };\n","import { __awaiter, __generator, __values } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar CoreHandler = /** @class */ (function () {\n function CoreHandler(service, textHandler, eventService, properties, attributeHandler, textService, wrappedHandler) {\n this.service = service;\n this.textHandler = textHandler;\n this.eventService = eventService;\n this.properties = properties;\n this.attributeHandler = attributeHandler;\n this.textService = textService;\n this.wrappedHandler = wrappedHandler;\n if (typeof window !== 'undefined') {\n eventService.LANGUAGE_CHANGED.subscribe(this.refresh.bind(this));\n eventService.TRANSLATION_CHANGED.subscribe(this.refresh.bind(this));\n }\n }\n CoreHandler.prototype.handleSubtree = function (target) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.attributeHandler.handle(target)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.textHandler.handle(target)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.wrappedHandler.handle(target)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n CoreHandler.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n var nodes, nodes_1, nodes_1_1, node, _a, _b, textNode, result, e_1_1, e_2_1;\n var e_2, _c, e_1, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n nodes = NodeHelper.evaluate(\"//*[@_tolgee]\", this.properties.config.targetElement);\n _e.label = 1;\n case 1:\n _e.trys.push([1, 12, 13, 14]);\n nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next();\n _e.label = 2;\n case 2:\n if (!!nodes_1_1.done) return [3 /*break*/, 11];\n node = nodes_1_1.value;\n _e.label = 3;\n case 3:\n _e.trys.push([3, 8, 9, 10]);\n _a = (e_1 = void 0, __values(node._tolgee.nodes)), _b = _a.next();\n _e.label = 4;\n case 4:\n if (!!_b.done) return [3 /*break*/, 7];\n textNode = _b.value;\n return [4 /*yield*/, this.textService.replace(textNode._tolgee.oldTextContent)];\n case 5:\n result = _e.sent();\n if (result) {\n textNode.textContent = result.text;\n }\n _e.label = 6;\n case 6:\n _b = _a.next();\n return [3 /*break*/, 4];\n case 7: return [3 /*break*/, 10];\n case 8:\n e_1_1 = _e.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 10];\n case 9:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 10:\n nodes_1_1 = nodes_1.next();\n return [3 /*break*/, 2];\n case 11: return [3 /*break*/, 14];\n case 12:\n e_2_1 = _e.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 14];\n case 13:\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_c = nodes_1.return)) _c.call(nodes_1);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 14: return [2 /*return*/];\n }\n });\n });\n };\n return CoreHandler;\n}());\nexport { CoreHandler };\n","import { __awaiter, __generator, __values } from \"tslib\";\nvar Observer = /** @class */ (function () {\n function Observer(properties, coreHandler, basicTextHandler, attributeHandler, nodeRegistrar) {\n this.properties = properties;\n this.coreHandler = coreHandler;\n this.basicTextHandler = basicTextHandler;\n this.attributeHandler = attributeHandler;\n this.nodeRegistrar = nodeRegistrar;\n this._observer = undefined;\n }\n Object.defineProperty(Observer.prototype, \"observer\", {\n get: function () {\n var _this = this;\n if (!this._observer && typeof window !== 'undefined') {\n this._observer = new MutationObserver(function (mutationsList) { return __awaiter(_this, void 0, void 0, function () {\n var mutationsList_1, mutationsList_1_1, mutation, e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 9, 10, 11]);\n mutationsList_1 = __values(mutationsList), mutationsList_1_1 = mutationsList_1.next();\n _b.label = 1;\n case 1:\n if (!!mutationsList_1_1.done) return [3 /*break*/, 8];\n mutation = mutationsList_1_1.value;\n if (!(mutation.type === 'characterData')) return [3 /*break*/, 3];\n return [4 /*yield*/, this.basicTextHandler.handle(mutation.target)];\n case 2:\n _b.sent();\n return [3 /*break*/, 7];\n case 3:\n if (!(mutation.type === 'childList')) return [3 /*break*/, 5];\n return [4 /*yield*/, this.coreHandler.handleSubtree(mutation.target)];\n case 4:\n _b.sent();\n return [3 /*break*/, 7];\n case 5:\n if (!(mutation.type === 'attributes')) return [3 /*break*/, 7];\n return [4 /*yield*/, this.attributeHandler.handle(mutation.target)];\n case 6:\n _b.sent();\n _b.label = 7;\n case 7:\n mutationsList_1_1 = mutationsList_1.next();\n return [3 /*break*/, 1];\n case 8: return [3 /*break*/, 11];\n case 9:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 11];\n case 10:\n try {\n if (mutationsList_1_1 && !mutationsList_1_1.done && (_a = mutationsList_1.return)) _a.call(mutationsList_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 11:\n this.nodeRegistrar.refreshAll();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return this._observer;\n },\n enumerable: false,\n configurable: true\n });\n Observer.prototype.observe = function () {\n if (!this.observer) {\n return;\n }\n this.observer.observe(this.properties.config.targetElement, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n });\n };\n Observer.prototype.stopObserving = function () {\n if (!this.observer) {\n return;\n }\n this.observer.disconnect();\n };\n return Observer;\n}());\nexport { Observer };\n","import { __awaiter, __generator } from \"tslib\";\nvar CoreService = /** @class */ (function () {\n function CoreService(properties, apiHttpService) {\n this.properties = properties;\n this.apiHttpService = apiHttpService;\n }\n CoreService.prototype.getLanguages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var languages, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.languagePromise instanceof Promise)) {\n this.languagePromise = this.apiHttpService.fetchJson(\"v2/projects/languages?size=1000\");\n }\n _a = Set.bind;\n return [4 /*yield*/, this.languagePromise];\n case 1:\n languages = new (_a.apply(Set, [void 0, (_b.sent())._embedded.languages.map(function (l) { return l.tag; })]))();\n this.properties.preferredLanguages = new Set(Array.from(this.properties.preferredLanguages).filter(function (l) {\n return languages.has(l);\n }));\n return [2 /*return*/, languages];\n }\n });\n });\n };\n CoreService.prototype.getLanguagesFull = function () {\n return __awaiter(this, void 0, void 0, function () {\n var languages;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.getLanguages();\n return [4 /*yield*/, this.languagePromise];\n case 1:\n languages = _a.sent();\n return [2 /*return*/, languages._embedded.languages];\n }\n });\n });\n };\n CoreService.prototype.getScopes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/api-keys/current\")];\n case 1: return [2 /*return*/, (_a.sent())\n .scopes];\n case 2:\n e_1 = _a.sent();\n // eslint-disable-next-line no-console\n console.error(e_1);\n // eslint-disable-next-line no-console\n console.error('Error getting scopes. Trying to switch to production mode!');\n this.properties.config.mode = 'production';\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n CoreService.prototype.isAuthorizedTo = function (scope) {\n return this.properties.scopes.indexOf(scope) > -1;\n };\n CoreService.prototype.checkScope = function (scope) {\n if (!this.isAuthorizedTo(scope)) {\n throw new Error(\"Api key not permitted to do this, please add 'translations.view' scope.\");\n }\n };\n return CoreService;\n}());\nexport { CoreService };\n","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { AbstractHandler } from './AbstractHandler';\nimport { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '../Constants/Global';\nvar WrappedHandler = /** @class */ (function (_super) {\n __extends(WrappedHandler, _super);\n function WrappedHandler(properties, translationHighlighter, textService, elementRegistrar) {\n var _this = _super.call(this, properties, textService, elementRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.translationHighlighter = translationHighlighter;\n _this.textService = textService;\n _this.elementRegistrar = elementRegistrar;\n return _this;\n }\n WrappedHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var xPath, nodes, filtered;\n var _this = this;\n return __generator(this, function (_a) {\n xPath = \"./descendant-or-self::*[@\" + TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE + \"]\";\n nodes = NodeHelper.evaluate(xPath, node);\n filtered = this.filterRestricted(nodes);\n filtered.forEach(function (element) {\n var elementWithMeta = AbstractHandler.initParentElement(element);\n elementWithMeta._tolgee.wrappedWithElementOnlyKey = element.getAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE);\n elementWithMeta._tolgee.wrappedWithElementOnlyDefaultHtml =\n element.innerHTML;\n _this.elementRegistrar.register(elementWithMeta);\n });\n return [2 /*return*/];\n });\n });\n };\n return WrappedHandler;\n}(AbstractHandler));\nexport { WrappedHandler };\n","export var sleep = function (ms) {\n return new Promise(function (resolve) { return setTimeout(resolve, ms); });\n};\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { sleep } from '../helpers/sleep';\nvar PluginManager = /** @class */ (function () {\n function PluginManager(messages, properties, eventService, elementRegistrar, translationService) {\n var _this = this;\n this.messages = messages;\n this.properties = properties;\n this.eventService = eventService;\n this.elementRegistrar = elementRegistrar;\n this.translationService = translationService;\n this.handshakeSucceed = false;\n this.takeScreenshot = function (translationData) {\n return new Promise(function (resolve, reject) {\n _this.translationService\n .changeTranslations(translationData)\n .then(function (revertChange) { return __awaiter(_this, void 0, void 0, function () {\n var cancel_1, e_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n this.highlightAllByKey(translationData.key);\n return [4 /*yield*/, sleep(100)];\n case 1:\n _a.sent();\n this.messages.send('TOLGEE_TAKE_SCREENSHOT');\n cancel_1 = this.messages.listen('TOLGEE_SCREENSHOT_TAKEN', function (data) {\n _this.unhighlightAllByKey(translationData.key);\n resolve(data);\n revertChange();\n cancel_1();\n });\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n revertChange();\n reject(e_1);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n reject(e);\n });\n });\n };\n this.handshake = function () {\n var sharedConfiguration = __assign(__assign({}, _this.properties), { config: __assign(__assign({}, _this.properties.config), { \n //remove properties, which cannot be sent by window.postMessage\n staticData: undefined, targetElement: undefined, _targetElement: undefined, ui: undefined }) });\n var timer = null;\n var ping = function () {\n _this.messages.send('TOLGEE_READY', sharedConfiguration);\n };\n var finish = function () {\n clearInterval(timer);\n };\n _this.messages.listen('TOLGEE_PLUGIN_READY', function () {\n _this.handshakeSucceed = true;\n _this.messages.send('TOLGEE_READY', sharedConfiguration);\n finish();\n });\n ping();\n // try ping 5 times as sometimes extension doesn't respond right away\n var counter = 0;\n timer = setInterval(function () {\n if (!_this.handshakeSucceed && counter < 5) {\n ping();\n counter += 1;\n }\n else {\n finish();\n }\n }, 200);\n };\n }\n PluginManager.prototype.run = function () {\n try {\n this.messages.startListening();\n this.handshake();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n // eslint-disable-next-line no-console\n console.warn('Can not start communication with browser plugin. Check waning above.');\n }\n };\n PluginManager.prototype.stop = function () {\n this.messages.stopListening();\n };\n PluginManager.prototype.highlightAllByKey = function (key) {\n this.elementRegistrar\n .findAllByKey(key)\n .forEach(function (el) { return el._tolgee.highlight(); });\n };\n PluginManager.prototype.unhighlightAllByKey = function (key) {\n this.elementRegistrar\n .findAllByKey(key)\n .forEach(function (el) { return el._tolgee.unhighlight(); });\n };\n return PluginManager;\n}());\nexport { PluginManager };\n","var Messages = /** @class */ (function () {\n function Messages() {\n var _this = this;\n this.listeners = [];\n this.startListening = function () {\n var receiveMessage = function (event) {\n if (event.source != window) {\n return;\n }\n _this.listeners.forEach(function (listener) {\n if (listener.type == event.data.type) {\n listener.callback(event.data.data);\n }\n });\n };\n window.addEventListener('message', receiveMessage, false);\n typeof _this._stopListening === 'function' && _this._stopListening();\n _this._stopListening = function () {\n window.removeEventListener('message', receiveMessage, false);\n };\n };\n this.listen = function (type, callback) {\n var listenerInfo = { type: type, callback: callback };\n _this.listeners.push(listenerInfo);\n // return callback to remove the listener\n return function () {\n _this.listeners.splice(_this.listeners.indexOf(listenerInfo), 1);\n };\n };\n this.send = function (type, data) {\n try {\n window.postMessage({ type: type, data: data }, window.origin);\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Cannot send message.', e);\n }\n };\n }\n Messages.prototype.stopListening = function () {\n this._stopListening();\n };\n return Messages;\n}());\nexport { Messages };\n","var HighlightFunctionsInitializer = /** @class */ (function () {\n function HighlightFunctionsInitializer(properties) {\n this.properties = properties;\n }\n HighlightFunctionsInitializer.prototype.initFunctions = function (element) {\n this.initHighlightFunction(element);\n this.initUnhighlightFunction(element);\n };\n HighlightFunctionsInitializer.prototype.initHighlightFunction = function (element) {\n var _this = this;\n element._tolgee.highlight = function () {\n element._tolgee.initialBackgroundColor = element.style.backgroundColor;\n element.style.backgroundColor = _this.properties.config.highlightColor;\n };\n };\n HighlightFunctionsInitializer.prototype.initUnhighlightFunction = function (element) {\n element._tolgee.unhighlight = function () {\n element.style.backgroundColor = element._tolgee.initialBackgroundColor;\n };\n };\n return HighlightFunctionsInitializer;\n}());\nexport { HighlightFunctionsInitializer };\n","import { __awaiter, __generator } from \"tslib\";\nvar ScreenshotService = /** @class */ (function () {\n function ScreenshotService(coreService, apiHttpService) {\n this.coreService = coreService;\n this.apiHttpService = apiHttpService;\n }\n ScreenshotService.prototype.uploadImage = function (blob) {\n return __awaiter(this, void 0, void 0, function () {\n var formData;\n return __generator(this, function (_a) {\n formData = new FormData();\n formData.append('image', blob);\n return [2 /*return*/, this.apiHttpService.postJson('v2/image-upload', undefined, {\n headers: {},\n body: formData,\n })];\n });\n });\n };\n ScreenshotService.prototype.deleteImages = function (ids) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiHttpService.post(\"v2/image-upload/\" + ids.join(','), undefined, {\n method: 'delete',\n })];\n });\n });\n };\n return ScreenshotService;\n}());\nexport { ScreenshotService };\n","import { Properties } from '../Properties';\nimport { EventService } from './EventService';\nimport { ApiHttpService } from './ApiHttpService';\nimport { TranslationService } from './TranslationService';\nimport { TextService } from './TextService';\nimport { MouseEventHandler } from '../highlighter/MouseEventHandler';\nimport { TranslationHighlighter } from '../highlighter/TranslationHighlighter';\nimport { ElementRegistrar } from './ElementRegistrar';\nimport { TextHandler } from '../handlers/TextHandler';\nimport { AttributeHandler } from '../handlers/AttributeHandler';\nimport { CoreHandler } from '../handlers/CoreHandler';\nimport { Observer } from '../Observer';\nimport { CoreService } from './CoreService';\nimport { TolgeeConfig } from '../TolgeeConfig';\nimport { WrappedHandler } from '../handlers/WrappedHandler';\nimport { PluginManager } from '../toolsManager/PluginManager';\nimport { Messages } from '../toolsManager/Messages';\nimport { HighlightFunctionsInitializer } from '../highlighter/HighlightFunctionsInitializer';\nimport { ScreenshotService } from './ScreenshotService';\nvar DependencyStore = /** @class */ (function () {\n function DependencyStore(config) {\n if (config === void 0) { config = new TolgeeConfig(); }\n this.properties = new Properties();\n this.eventService = new EventService();\n this.apiHttpService = new ApiHttpService(this.properties);\n this.mouseEventHandler = new MouseEventHandler(this.properties);\n this.coreService = new CoreService(this.properties, this.apiHttpService);\n this.screenshotService = new ScreenshotService(this.coreService, this.apiHttpService);\n this.translationService = new TranslationService(this.properties, this.coreService, this.apiHttpService, this.eventService);\n this.textService = new TextService(this.properties, this.translationService);\n this.highlightFunctionInitializer = new HighlightFunctionsInitializer(this.properties);\n this.translationHighlighter = new TranslationHighlighter(this);\n this.elementRegistrar = new ElementRegistrar(this.properties, this.translationHighlighter, this.eventService);\n this.textHandler = new TextHandler(this.properties, this.translationHighlighter, this.textService, this.elementRegistrar);\n this.attributeHandler = new AttributeHandler(this.properties, this.textService, this.elementRegistrar, this.translationHighlighter);\n this.wrappedHandler = new WrappedHandler(this.properties, this.translationHighlighter, this.textService, this.elementRegistrar);\n this.coreHandler = new CoreHandler(this.coreService, this.textHandler, this.eventService, this.properties, this.attributeHandler, this.textService, this.wrappedHandler);\n this.observer = new Observer(this.properties, this.coreHandler, this.textHandler, this.attributeHandler, this.elementRegistrar);\n this.messages = new Messages();\n this.pluginManager = new PluginManager(this.messages, this.properties, this.eventService, this.elementRegistrar, this.translationService);\n this.properties.config = config;\n this.translationService.initStatic();\n this.translationHighlighter.pluginManager = this.pluginManager;\n }\n return DependencyStore;\n}());\nexport { DependencyStore };\n","import { __awaiter, __generator } from \"tslib\";\nimport { TolgeeConfig } from './TolgeeConfig';\nimport { NodeHelper } from './helpers/NodeHelper';\nimport { DependencyStore } from './services/DependencyStore';\nvar Tolgee = /** @class */ (function () {\n function Tolgee(config) {\n var _this = this;\n this.stop = function () {\n _this.dependencyStore.observer.stopObserving();\n _this.dependencyStore.elementRegistrar.cleanAll();\n NodeHelper.unmarkElementAsTargetElement(_this.properties.config.targetElement);\n };\n this.dependencyStore = new DependencyStore(new TolgeeConfig(config));\n }\n Object.defineProperty(Tolgee.prototype, \"properties\", {\n get: function () {\n return this.dependencyStore.properties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"translationService\", {\n get: function () {\n return this.dependencyStore.translationService;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"coreService\", {\n get: function () {\n return this.dependencyStore.coreService;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"lang\", {\n get: function () {\n return this.properties.currentLanguage;\n },\n set: function (value) {\n this.properties.currentLanguage = value;\n this.dependencyStore.eventService\n .LANGUAGE_CHANGED.emit(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"defaultLanguage\", {\n get: function () {\n return this.properties.config.defaultLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onLangChange\", {\n get: function () {\n return this.dependencyStore.eventService.LANGUAGE_CHANGED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onTranslationChange\", {\n get: function () {\n return this.dependencyStore.eventService.TRANSLATION_CHANGED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onLangLoaded\", {\n get: function () {\n return this.dependencyStore.eventService.LANGUAGE_LOADED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"initialLoading\", {\n /**\n * True if loading is needed to wait for Tolgee init.\n * When translation data are provided statically (using import\n * as staticData config property) then there is no need for translation\n * fetching so initial loading is not needed at all.\n */\n get: function () {\n var _a, _b, _c, _d;\n if (((_b = (_a = this.properties) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.mode) !== 'production') {\n return true;\n }\n var currentLang = this.properties.currentLanguage;\n var fallbackLang = this.properties.config.fallbackLanguage;\n var fallbackPreloading = this.properties.config.preloadFallback;\n var isStaticDataProvided = function (data) {\n return data !== undefined && typeof data !== 'function';\n };\n return (!isStaticDataProvided((_c = this.properties.config.staticData) === null || _c === void 0 ? void 0 : _c[currentLang]) ||\n (!!fallbackPreloading &&\n !isStaticDataProvided((_d = this.properties.config.staticData) === null || _d === void 0 ? void 0 : _d[fallbackLang])));\n },\n enumerable: false,\n configurable: true\n });\n Tolgee.prototype.run = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.loadScopes()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, this.translationService.loadTranslations()];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.dependencyStore.pluginManager.run()];\n case 4:\n _a.sent();\n if (!this.properties.config.preloadFallback) return [3 /*break*/, 6];\n return [4 /*yield*/, this.translationService.loadTranslations(this.properties.config.fallbackLanguage)];\n case 5:\n _a.sent();\n _a.label = 6;\n case 6: return [4 /*yield*/, this.refresh()];\n case 7:\n _a.sent();\n if (this.properties.config.watch) {\n this.dependencyStore.observer.observe();\n }\n return [2 /*return*/];\n }\n });\n });\n };\n Tolgee.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.dependencyStore.coreHandler.handleSubtree(this.properties.config.targetElement)];\n });\n });\n };\n Tolgee.prototype.translate = function (keyOrProps, params, noWrap, defaultValue) {\n if (params === void 0) { params = {}; }\n if (noWrap === void 0) { noWrap = false; }\n if (defaultValue === void 0) { defaultValue = undefined; }\n return __awaiter(this, void 0, void 0, function () {\n var key, orEmpty, props;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = typeof keyOrProps === 'string' ? keyOrProps : keyOrProps.key;\n orEmpty = undefined;\n if (typeof keyOrProps === 'object') {\n props = keyOrProps;\n // if values are not provided in props object, get them from function\n // params defaults\n params = props.params !== undefined ? props.params : params;\n noWrap = props.noWrap !== undefined ? props.noWrap : noWrap;\n defaultValue =\n props.defaultValue !== undefined ? props.defaultValue : defaultValue;\n orEmpty = props.orEmpty;\n }\n if (!(this.properties.config.mode === 'development' && !noWrap)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadScopes()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.translationService.loadTranslations()];\n case 2:\n _a.sent();\n return [2 /*return*/, this.dependencyStore.textService.wrap(key, params, defaultValue)];\n case 3: return [2 /*return*/, this.dependencyStore.textService.translate(key, params, undefined, orEmpty, defaultValue)];\n }\n });\n });\n };\n Tolgee.prototype.instant = function (keyOrProps, params, noWrap, orEmpty, defaultValue) {\n if (params === void 0) { params = {}; }\n if (noWrap === void 0) { noWrap = false; }\n var key = typeof keyOrProps === 'string' ? keyOrProps : keyOrProps.key;\n if (typeof keyOrProps === 'object') {\n var props = keyOrProps;\n // if values are not provided in props object, get them from function\n // params defaults\n params = props.params !== undefined ? props.params : params;\n noWrap = props.noWrap !== undefined ? props.noWrap : noWrap;\n defaultValue =\n props.defaultValue !== undefined ? props.defaultValue : defaultValue;\n orEmpty = props.orEmpty !== undefined ? props.orEmpty : orEmpty;\n }\n if (this.properties.config.mode === 'development' && !noWrap) {\n return this.dependencyStore.textService.wrap(key, params, defaultValue);\n }\n return this.dependencyStore.textService.instant(key, params, undefined, orEmpty, defaultValue);\n };\n Tolgee.prototype.loadScopes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.properties.scopes === undefined)) return [3 /*break*/, 2];\n _a = this.properties;\n return [4 /*yield*/, this.dependencyStore.coreService.getScopes()];\n case 1:\n _a.scopes =\n _b.sent();\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n return Tolgee;\n}());\nexport { Tolgee };\nexport default Tolgee;\n"],"names":["ModifierKey","IntlMessageFormat"],"mappings":"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MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,C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"}
1
+ {"version":3,"file":"tolgee.cjs.js","sources":["../node_modules/tslib/tslib.es6.js","../src/Constants/Global.ts","../src/helpers/NodeHelper.ts","../src/Constants/ModifierKey.ts","../src/TolgeeConfig.ts","../src/Properties.ts","../src/services/Subscription.ts","../src/services/EventEmitter.ts","../src/services/EventService.ts","../src/Errors/ApiHttpError.ts","../src/services/ApiHttpService.ts","../src/types/DTOs.ts","../src/services/TranslationService.ts","../src/helpers/TextHelper.ts","../node_modules/@formatjs/icu-messageformat-parser/lib/error.js","../node_modules/@formatjs/icu-messageformat-parser/lib/types.js","../node_modules/@formatjs/icu-messageformat-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/date-time.js","../node_modules/@formatjs/icu-skeleton-parser/lib/regex.generated.js","../node_modules/@formatjs/icu-skeleton-parser/lib/number.js","../node_modules/@formatjs/icu-messageformat-parser/lib/parser.js","../node_modules/@formatjs/icu-messageformat-parser/lib/index.js","../node_modules/@formatjs/fast-memoize/lib/index.js","../node_modules/intl-messageformat/lib/src/error.js","../node_modules/intl-messageformat/lib/src/formatters.js","../node_modules/intl-messageformat/lib/src/core.js","../node_modules/intl-messageformat/lib/index.js","../src/services/TextService.ts","../src/highlighter/MouseEventHandler.ts","../src/highlighter/TranslationHighlighter.ts","../src/services/ElementRegistrar.ts","../src/handlers/AbstractHandler.ts","../src/handlers/TextHandler.ts","../src/handlers/AttributeHandler.ts","../src/handlers/CoreHandler.ts","../src/Observer.ts","../src/services/CoreService.ts","../src/handlers/WrappedHandler.ts","../src/helpers/sleep.ts","../src/toolsManager/PluginManager.ts","../src/toolsManager/Messages.ts","../src/highlighter/HighlightFunctionsInitializer.ts","../src/services/ScreenshotService.ts","../src/services/DependencyStore.ts","../src/Tolgee.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","export var RESTRICTED_ASCENDANT_ATTRIBUTE = 'data-tolgee-restricted';\nexport var TOLGEE_ATTRIBUTE_NAME = '_tolgee';\nexport var TOLGEE_TARGET_ATTRIBUTE = '_tolgee-target';\nexport var TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE = 'data-tolgee-key-only';\n","import { __generator, __read, __spreadArray } from \"tslib\";\nimport { TOLGEE_TARGET_ATTRIBUTE } from '../Constants/Global';\nvar NodeHelper = /** @class */ (function () {\n function NodeHelper() {\n }\n NodeHelper.evaluateGenerator = function (expression, targetNode) {\n var node, evaluated;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n evaluated = document.evaluate(expression, targetNode, undefined, XPathResult.ANY_TYPE);\n _a.label = 1;\n case 1:\n if (!((node = evaluated.iterateNext()) !== null)) return [3 /*break*/, 3];\n return [4 /*yield*/, node];\n case 2:\n _a.sent();\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/];\n }\n });\n };\n NodeHelper.evaluate = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return Array.from(this.evaluateGenerator.apply(this, __spreadArray([], __read(args), false)));\n };\n NodeHelper.evaluateToSingle = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var arr = this.evaluate.apply(this, __spreadArray([], __read(args), false));\n if (arr.length === 1) {\n return arr[0];\n }\n if (arr.length < 1) {\n throw new Error('No element found');\n }\n throw new Error('Multiple elements found');\n };\n NodeHelper.closestElement = function (node) {\n if (node instanceof Text) {\n return node.parentElement;\n }\n return node;\n };\n NodeHelper.getParentElement = function (node) {\n if (node.parentElement) {\n return node.parentElement;\n }\n if (node.ownerElement) {\n return node.ownerElement;\n }\n };\n NodeHelper.isElementTargetElement = function (element) {\n return element.hasAttribute(TOLGEE_TARGET_ATTRIBUTE);\n };\n NodeHelper.markElementAsTargetElement = function (element) {\n element.setAttribute(TOLGEE_TARGET_ATTRIBUTE, '');\n };\n NodeHelper.unmarkElementAsTargetElement = function (element) {\n element.removeAttribute(TOLGEE_TARGET_ATTRIBUTE);\n };\n NodeHelper.nodeContains = function (descendant, node) {\n if (descendant.contains(node)) {\n return true;\n }\n if (node instanceof Attr) {\n var ownerContainsAttr = Object.values(node.ownerElement.attributes).indexOf(node) > -1;\n if (descendant.contains(node.ownerElement) && ownerContainsAttr) {\n return true;\n }\n }\n return false;\n };\n return NodeHelper;\n}());\nexport { NodeHelper };\n","export var ModifierKey;\n(function (ModifierKey) {\n ModifierKey[ModifierKey[\"Alt\"] = 0] = \"Alt\";\n ModifierKey[ModifierKey[\"Control\"] = 1] = \"Control\";\n ModifierKey[ModifierKey[\"Shift\"] = 2] = \"Shift\";\n ModifierKey[ModifierKey[\"Meta\"] = 3] = \"Meta\";\n})(ModifierKey || (ModifierKey = {}));\n","import { NodeHelper } from './helpers/NodeHelper';\nimport { ModifierKey } from './Constants/ModifierKey';\nvar DEFAULT_TARGET_ELEMENT_SUPPLIER = function () {\n if (typeof document !== 'undefined') {\n return document.body;\n }\n};\nvar TolgeeConfig = /** @class */ (function () {\n function TolgeeConfig(config) {\n this.apiUrl = 'https://app.tolgee.io';\n this.inputPrefix = '%-%tolgee:';\n this.inputSuffix = '%-%';\n this.defaultLanguage = 'en';\n this.filesUrlPrefix = 'i18n/';\n this.tagAttributes = {\n textarea: ['placeholder'],\n input: ['value', 'placeholder'],\n img: ['alt'],\n '*': ['aria-label', 'title'],\n };\n this.highlightKeys = [ModifierKey.Alt];\n this.passToParent = ['option', 'optgroup'];\n this.restrictedElements = ['script', 'style'];\n this.highlightColor = 'rgb(224 240 255)';\n /**\n * When true, fallback language will be preloaded on Tolgee.run\n */\n this.preloadFallback = false;\n //workaround for: https://stackoverflow.com/questions/48725916/typescript-optional-property-with-a-getter\n Object.defineProperty(this, 'targetElement', {\n set: function (targetElement) {\n if (this.targetElement !== undefined) {\n throw new Error('Target element is already defined!');\n }\n if (targetElement === undefined) {\n this._targetElement = DEFAULT_TARGET_ELEMENT_SUPPLIER();\n }\n if (NodeHelper.isElementTargetElement(targetElement)) {\n // eslint-disable-next-line no-console\n console.error('Target element: ', this._targetElement);\n throw new Error('An tolgee instance is inited with provided target element');\n }\n this._targetElement = targetElement;\n NodeHelper.markElementAsTargetElement(this._targetElement);\n },\n get: function () {\n return this._targetElement;\n },\n });\n Object.assign(this, config || {});\n if (this._targetElement === undefined) {\n this._targetElement = DEFAULT_TARGET_ELEMENT_SUPPLIER();\n }\n this.mode = this.mode || (this.apiKey ? 'development' : 'production');\n this.fallbackLanguage = this.fallbackLanguage || this.defaultLanguage;\n if (this.watch === undefined) {\n this.watch = this.mode === 'development';\n }\n }\n return TolgeeConfig;\n}());\nexport { TolgeeConfig };\n","var PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY = '__tolgee_preferredLanguages';\nvar CURRENT_LANGUAGE_LOCAL_STORAGE_KEY = '__tolgee_currentLanguage';\nvar Properties = /** @class */ (function () {\n function Properties() {\n }\n Object.defineProperty(Properties.prototype, \"currentLanguage\", {\n get: function () {\n var result;\n if (this.config.forceLanguage) {\n return this.config.forceLanguage;\n }\n if (typeof localStorage !== 'undefined') {\n result = localStorage.getItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY);\n if (this.config.availableLanguages) {\n var isSavedLanguageAvailable = this.config.availableLanguages.indexOf(result) > -1;\n if (!isSavedLanguageAvailable) {\n result = undefined;\n }\n }\n }\n else {\n result = this._currentLanguage;\n }\n if (!result) {\n result = this.getLanguageByNavigator();\n this.currentLanguage = result;\n }\n return result;\n },\n set: function (language) {\n if (typeof localStorage == 'undefined') {\n this._currentLanguage = language;\n return;\n }\n localStorage.setItem(CURRENT_LANGUAGE_LOCAL_STORAGE_KEY, language);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Properties.prototype, \"preferredLanguages\", {\n get: function () {\n return new Set(JSON.parse(localStorage.getItem(PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY)));\n },\n set: function (languages) {\n localStorage.setItem(PREFERRED_LANGUAGES_LOCAL_STORAGE_KEY, JSON.stringify(Array.from(languages)));\n },\n enumerable: false,\n configurable: true\n });\n Properties.prototype.getLanguageByNavigator = function () {\n if (typeof window !== 'undefined' && this.config.availableLanguages) {\n var preferred_1 = window.navigator.language;\n var exactMatch = this.config.availableLanguages.find(function (l) { return l === preferred_1; });\n if (exactMatch) {\n return exactMatch;\n }\n var getTwoLetters_1 = function (fullTag) { return fullTag.replace(/^(.+?)(-.*)?$/, '$1'); };\n var preferredTwoLetter_1 = getTwoLetters_1(window.navigator.language);\n var twoLetterMatch = this.config.availableLanguages.find(function (l) { return getTwoLetters_1(l) === preferredTwoLetter_1; });\n if (twoLetterMatch) {\n return twoLetterMatch;\n }\n }\n return this.config.defaultLanguage;\n };\n return Properties;\n}());\nexport { Properties };\n","var Subscription = /** @class */ (function () {\n function Subscription(onUnsubscribe) {\n this.onUnsubscribe = onUnsubscribe;\n }\n Subscription.prototype.unsubscribe = function () {\n this.onUnsubscribe();\n };\n return Subscription;\n}());\nexport { Subscription };\n","import { __values } from \"tslib\";\nimport { Subscription } from './Subscription';\nvar EventEmitterImpl = /** @class */ (function () {\n function EventEmitterImpl() {\n this.idCounter = 0;\n this._subscriptions = new Map();\n }\n Object.defineProperty(EventEmitterImpl.prototype, \"subscriptions\", {\n get: function () {\n return this._subscriptions;\n },\n enumerable: false,\n configurable: true\n });\n EventEmitterImpl.prototype.emit = function (data) {\n var e_1, _a;\n var promiseReturns = [];\n try {\n for (var _b = __values(this.subscriptions.values()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var callback = _c.value;\n var returned = callback(data);\n if (typeof (returned === null || returned === void 0 ? void 0 : returned['then']) === 'function') {\n promiseReturns.push(returned);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (promiseReturns.length === 0) {\n return;\n }\n return new Promise(function (resolve) {\n return Promise.all(promiseReturns).then(function () { return resolve(); });\n });\n };\n EventEmitterImpl.prototype.subscribe = function (callback) {\n var _this = this;\n var newId = this.idCounter++;\n var subscription = new Subscription(function () { return _this.unsubscribe(newId); });\n this.subscriptions.set(newId, callback);\n return subscription;\n };\n EventEmitterImpl.prototype.unsubscribe = function (id) {\n var wasPresent = this._subscriptions.delete(id);\n if (!wasPresent) {\n // eslint-disable-next-line no-console\n console.warn('Event to unsubscribe was not found');\n }\n };\n return EventEmitterImpl;\n}());\nexport { EventEmitterImpl };\n","import { EventEmitterImpl } from './EventEmitter';\nvar EventService = /** @class */ (function () {\n function EventService() {\n this.TRANSLATION_CHANGED = new EventEmitterImpl();\n this.LANGUAGE_CHANGED = new EventEmitterImpl();\n this.LANGUAGE_LOADED = new EventEmitterImpl();\n this.ELEMENT_REGISTERED = new EventEmitterImpl();\n }\n return EventService;\n}());\nexport { EventService };\n","import { __extends } from \"tslib\";\nvar ApiHttpError = /** @class */ (function (_super) {\n __extends(ApiHttpError, _super);\n function ApiHttpError(response, code) {\n var _this = _super.call(this, 'Api http error') || this;\n _this.response = response;\n _this.code = code;\n // Set the prototype explicitly.\n Object.setPrototypeOf(_this, ApiHttpError.prototype);\n return _this;\n }\n return ApiHttpError;\n}(Error));\nexport { ApiHttpError };\n","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { ApiHttpError } from '../Errors/ApiHttpError';\nvar ApiHttpService = /** @class */ (function () {\n function ApiHttpService(properties) {\n this.properties = properties;\n }\n ApiHttpService.handleErrors = function (response) {\n return __awaiter(this, void 0, void 0, function () {\n var error, data, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.status >= 400)) return [3 /*break*/, 5];\n error = new ApiHttpError(response);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, response.json()];\n case 2:\n data = _a.sent();\n error.code = data.code;\n return [3 /*break*/, 4];\n case 3:\n e_1 = _a.sent();\n // eslint-disable-next-line no-console\n console.warn('Tolgee server responded with invalid status code.');\n return [3 /*break*/, 4];\n case 4: throw error;\n case 5: return [2 /*return*/, response];\n }\n });\n });\n };\n ApiHttpService.prototype.fetch = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n var _a, url, rest;\n return __generator(this, function (_b) {\n if (typeof args[0] === 'object') {\n return [2 /*return*/, fetch(__assign(__assign({}, args[0]), { url: this.getUrl(args[0].url) })).then(function (r) {\n return ApiHttpService.handleErrors(r);\n })];\n }\n _a = __read(args), url = _a[0], rest = _a.slice(1);\n return [2 /*return*/, fetch.apply(void 0, __spreadArray([this.getUrl(url)], __read(rest), false)).then(function (r) {\n return ApiHttpService.handleErrors(r);\n })];\n });\n });\n };\n ApiHttpService.prototype.fetchJson = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.fetch.apply(this, __spreadArray([], __read(args), false)).then(function (res) {\n return res.json();\n })];\n });\n });\n };\n ApiHttpService.prototype.post = function (url, body, init) {\n if (init === void 0) { init = {}; }\n var rest = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n rest[_i - 3] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.fetch.apply(this, __spreadArray([url, __assign({ body: JSON.stringify(body), method: 'POST', headers: {\n 'Content-Type': 'application/json',\n } }, init)], __read(rest), false))];\n });\n });\n };\n ApiHttpService.prototype.postJson = function (url, body, init) {\n if (init === void 0) { init = {}; }\n var rest = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n rest[_i - 3] = arguments[_i];\n }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.post.apply(this, __spreadArray([url, body, init], __read(rest), false)).then(function (res) { return res.json(); })];\n });\n });\n };\n ApiHttpService.prototype.getUrl = function (path) {\n var querySeparator = path.indexOf('?') < 0 ? '?' : '&';\n return this.properties.config.apiUrl + \"/\" + path + querySeparator + \"ak=\" + this.properties.config.apiKey;\n };\n return ApiHttpService;\n}());\nexport { ApiHttpService };\n","var TranslationData = /** @class */ (function () {\n function TranslationData(key, translations, id) {\n this.key = key;\n this.translations = translations;\n this.id = id;\n }\n return TranslationData;\n}());\nexport { TranslationData };\n","import { __assign, __awaiter, __generator, __read, __spreadArray } from \"tslib\";\nimport { ApiHttpError } from '../Errors/ApiHttpError';\nimport { TranslationData, } from '../types/DTOs';\nvar TranslationService = /** @class */ (function () {\n function TranslationService(properties, coreService, apiHttpService, eventService) {\n var _this = this;\n this.properties = properties;\n this.coreService = coreService;\n this.apiHttpService = apiHttpService;\n this.eventService = eventService;\n this.translationsCache = new Map();\n this.fetchPromises = {};\n this.updateTranslationInCache = function (data) { return __awaiter(_this, void 0, void 0, function () {\n var result;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n result = {};\n Object.entries(data.translations).forEach(function (_a) {\n var _b = __read(_a, 2), lang = _b[0], translation = _b[1];\n var cachedData = _this.translationsCache.get(lang);\n if (cachedData) {\n cachedData[data.name] = translation.text;\n }\n result[lang] = translation.text;\n });\n return [4 /*yield*/, this.eventService.TRANSLATION_CHANGED.emit(new TranslationData(data.name, result, data.id))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); };\n this.getTranslationsOfKey = function (key, languages) {\n if (languages === void 0) { languages = new Set([_this.properties.currentLanguage]); }\n return __awaiter(_this, void 0, void 0, function () {\n var languagesArray, languagesQuery, data, translationData_1, firstItem, langs, e_1, _a;\n var _b, _c, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n this.coreService.checkScope('translations.view');\n _e.label = 1;\n case 1:\n _e.trys.push([1, 3, , 7]);\n languagesArray = __spreadArray([], __read(languages), false);\n languagesQuery = languagesArray\n .map(function (l) { return \"languages=\" + l; })\n .join('&');\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/projects/translations?\" + languagesQuery + \"&filterKeyName=\" + encodeURIComponent(key))];\n case 2:\n data = _e.sent();\n translationData_1 = languagesArray.reduce(function (acc, curr) {\n var _a;\n return (__assign(__assign({}, acc), (_a = {}, _a[curr] = '', _a)));\n }, {});\n firstItem = (_c = (_b = data._embedded) === null || _b === void 0 ? void 0 : _b.keys) === null || _c === void 0 ? void 0 : _c[0];\n if (firstItem === null || firstItem === void 0 ? void 0 : firstItem.translations) {\n Object.entries(firstItem.translations).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], translation = _b[1];\n return (translationData_1[language] = translation.text);\n });\n }\n langs = (_d = data.selectedLanguages) === null || _d === void 0 ? void 0 : _d.map(function (l) { return l.tag; });\n return [2 /*return*/, [firstItem, langs]];\n case 3:\n e_1 = _e.sent();\n if (!(e_1 instanceof ApiHttpError &&\n e_1.response.status === 404 &&\n e_1.code === 'language_not_found')) return [3 /*break*/, 5];\n // only possible reason for this error is, that languages definition\n // is changed, but the old value is stored in preferred languages\n _a = this.properties;\n return [4 /*yield*/, this.coreService.getLanguages()];\n case 4:\n // only possible reason for this error is, that languages definition\n // is changed, but the old value is stored in preferred languages\n _a.preferredLanguages =\n _e.sent();\n // eslint-disable-next-line no-console\n console.error('Requested language not found, refreshing the page!');\n location.reload();\n return [3 /*break*/, 6];\n case 5: throw e_1;\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n }\n TranslationService.translationByValue = function (message, key, orEmpty, defaultValue) {\n if (message) {\n return message;\n }\n if (defaultValue) {\n return defaultValue;\n }\n if (orEmpty) {\n return '';\n }\n return key;\n };\n TranslationService.prototype.initStatic = function () {\n var _this = this;\n var _a;\n if (this.properties.config.mode === 'production' &&\n typeof ((_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === 'object') {\n Object.entries(this.properties.config.staticData).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], data = _b[1];\n //if not provider or promise then it is raw data\n if (typeof data !== 'function') {\n _this.setLanguageData(language, data);\n }\n });\n }\n };\n TranslationService.prototype.loadTranslations = function (lang) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.translationsCache.get(lang) == undefined)) return [3 /*break*/, 2];\n if (!(this.fetchPromises[lang] instanceof Promise)) {\n this.fetchPromises[lang] = this.fetchTranslations(lang);\n }\n return [4 /*yield*/, this.fetchPromises[lang]];\n case 1:\n _a.sent();\n this.eventService.LANGUAGE_LOADED.emit(lang);\n _a.label = 2;\n case 2:\n this.fetchPromises[lang] = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.getTranslation = function (key, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n if (orEmpty === void 0) { orEmpty = false; }\n return __awaiter(this, void 0, void 0, function () {\n var message;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n message = this.getFromCache(key, lang);\n if (!!message) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadTranslations(lang)];\n case 1:\n _a.sent();\n message = this.getFromCache(key, lang);\n if (!!message) return [3 /*break*/, 3];\n message = this.getFromCache(key, this.properties.config.fallbackLanguage);\n if (!!message) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadTranslations(this.properties.config.fallbackLanguage)];\n case 2:\n _a.sent();\n message = this.getFromCache(key, this.properties.config.fallbackLanguage);\n _a.label = 3;\n case 3: return [2 /*return*/, TranslationService.translationByValue(message, key, orEmpty, defaultValue)];\n }\n });\n });\n };\n TranslationService.prototype.updateKeyComplex = function (id, data) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.coreService.checkScope('translations.edit');\n return [4 /*yield*/, this.apiHttpService.postJson(\"v2/projects/keys/\" + id + \"/complex-update\", __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)\n ? data.screenshotUploadedImageIds\n : undefined, screenshotIdsToDelete: ((_b = data.screenshotIdsToDelete) === null || _b === void 0 ? void 0 : _b.length)\n ? data.screenshotIdsToDelete\n : undefined }), { method: 'put' })];\n case 1:\n result = (_c.sent());\n return [4 /*yield*/, this.updateTranslationInCache(result)];\n case 2:\n _c.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n TranslationService.prototype.createKey = function (data) {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n this.coreService.checkScope('keys.edit');\n return [4 /*yield*/, this.apiHttpService.postJson(\"v2/projects/keys/create\", __assign(__assign({}, data), { screenshotUploadedImageIds: ((_a = data.screenshotUploadedImageIds) === null || _a === void 0 ? void 0 : _a.length)\n ? data.screenshotUploadedImageIds\n : undefined }))];\n case 1:\n result = (_b.sent());\n return [4 /*yield*/, this.updateTranslationInCache(result)];\n case 2:\n _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n TranslationService.prototype.setTranslations = function (translationData) {\n return __awaiter(this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.coreService.checkScope('translations.edit');\n return [4 /*yield*/, this.apiHttpService.postJson('v2/projects/translations', translationData)];\n case 1:\n result = (_a.sent());\n return [4 /*yield*/, this.updateTranslationInCache({\n id: result.keyId,\n name: result.keyName,\n translations: result.translations,\n })];\n case 2:\n _a.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n /**\n * Change translations of some keys to some value temporarily.\n * For screenshot taking with provided values, before actually saving\n * the values\n *\n * @return Returns callback changing affected translations back\n */\n TranslationService.prototype.changeTranslations = function (_a) {\n var key = _a.key, translations = _a.translations;\n return __awaiter(this, void 0, void 0, function () {\n var old;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n old = {};\n Object.entries(translations).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], value = _b[1];\n var data = _this.translationsCache.get(language);\n if (data) {\n old[language] = data[key];\n data[key] = value;\n }\n });\n return [4 /*yield*/, this.eventService.TRANSLATION_CHANGED.emit({\n key: key,\n translations: translations,\n })];\n case 1:\n _b.sent();\n // callback to revert the operation\n return [2 /*return*/, function () { return __awaiter(_this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object.entries(old).forEach(function (_a) {\n var _b = __read(_a, 2), language = _b[0], value = _b[1];\n var data = _this.translationsCache.get(language);\n if (data) {\n data[key] = value;\n }\n });\n return [4 /*yield*/, this.eventService\n .TRANSLATION_CHANGED.emit({\n key: key,\n translations: old,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }];\n }\n });\n });\n };\n TranslationService.prototype.getFromCacheOrFallback = function (key, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n if (orEmpty === void 0) { orEmpty = false; }\n var message = this.getFromCache(key, lang) ||\n this.getFromCache(key, this.properties.config.fallbackLanguage);\n return TranslationService.translationByValue(message, key, orEmpty, defaultValue);\n };\n TranslationService.prototype.fetchTranslations = function (lang) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.fetchTranslationsDevelopment(lang)];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, this.fetchTranslationsProduction(lang)];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n TranslationService.prototype.fetchTranslationsProduction = function (language) {\n var _a, _b;\n return __awaiter(this, void 0, void 0, function () {\n var langStaticData, data, url, result, data, e_2, e_3;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n langStaticData = (_b = (_a = this.properties.config) === null || _a === void 0 ? void 0 : _a.staticData) === null || _b === void 0 ? void 0 : _b[language];\n if (!(typeof langStaticData === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, langStaticData()];\n case 1:\n data = _c.sent();\n this.setLanguageData(language, data);\n return [2 /*return*/];\n case 2:\n if (langStaticData !== undefined) {\n this.setLanguageData(language, langStaticData);\n return [2 /*return*/];\n }\n _c.label = 3;\n case 3:\n url = \"\" + (this.properties.config.filesUrlPrefix || '/') + language + \".json\";\n _c.label = 4;\n case 4:\n _c.trys.push([4, 10, , 11]);\n return [4 /*yield*/, fetch(url)];\n case 5:\n result = _c.sent();\n if (result.status >= 400) {\n //on error set language data as empty object to not break the flow\n // eslint-disable-next-line no-console\n console.error('Server responded with error status while loading localization data.');\n this.setLanguageData(language, {});\n return [2 /*return*/];\n }\n _c.label = 6;\n case 6:\n _c.trys.push([6, 8, , 9]);\n return [4 /*yield*/, result.json()];\n case 7:\n data = _c.sent();\n this.setLanguageData(language, data);\n return [3 /*break*/, 9];\n case 8:\n e_2 = _c.sent();\n // eslint-disable-next-line no-console\n console.error(\"Error parsing json retrieved from \" + url + \".\");\n this.setEmptyLanguageData(language);\n return [3 /*break*/, 9];\n case 9: return [3 /*break*/, 11];\n case 10:\n e_3 = _c.sent();\n // eslint-disable-next-line no-console\n console.error(\"Error fetching localization data from \" + url + \".\");\n this.setEmptyLanguageData(language);\n return [3 /*break*/, 11];\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.fetchTranslationsDevelopment = function (language) {\n return __awaiter(this, void 0, void 0, function () {\n var data, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.coreService.checkScope('translations.view');\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/projects/translations/\" + language)];\n case 2:\n data = _a.sent();\n this.setLanguageData(language, data[language] || {});\n return [3 /*break*/, 4];\n case 3:\n e_4 = _a.sent();\n // eslint-disable-next-line no-console\n console.error('Error while fetching localization data from API.', e_4);\n this.setEmptyLanguageData(language);\n return [2 /*return*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n TranslationService.prototype.setEmptyLanguageData = function (language) {\n this.translationsCache.set(language, {});\n };\n TranslationService.prototype.setLanguageData = function (language, data) {\n // recursively walk the tree and make it flat, when tree data are provided\n var makeFlat = function (data) {\n var result = {};\n Object.entries(data).forEach(function (_a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n // ignore falsy values\n if (!value) {\n return;\n }\n if (typeof value === 'object') {\n Object.entries(makeFlat(value)).forEach(function (_a) {\n var _b = __read(_a, 2), flatKey = _b[0], flatValue = _b[1];\n result[key + '.' + flatKey] = flatValue;\n });\n return;\n }\n result[key] = value;\n });\n return result;\n };\n this.translationsCache.set(language, makeFlat(data));\n };\n TranslationService.prototype.getFromCache = function (key, lang) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n var root = this.translationsCache.get(lang);\n //if lang is not downloaded or does not exist at all\n if (root === undefined) {\n return undefined;\n }\n return root[key];\n };\n return TranslationService;\n}());\nexport { TranslationService };\n","var TextHelper = /** @class */ (function () {\n function TextHelper() {\n }\n TextHelper.splitOnNonEscapedDelimiter = function (string, delimiter) {\n var result = [];\n var actual = '';\n var escaped = false;\n for (var i = 0; i < string.length; i++) {\n var char = string[i];\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n actual += char;\n continue;\n }\n if (char === delimiter) {\n result.push(actual);\n actual = '';\n continue;\n }\n actual += char;\n }\n result.push(actual);\n return result;\n };\n TextHelper.isCharEscaped = function (position, fullString) {\n var escapeCharsCount = 0;\n while (position > -1 && fullString[position - 1] === '\\\\') {\n escapeCharsCount++;\n position--;\n }\n return escapeCharsCount % 2 == 1;\n };\n TextHelper.removeEscapes = function (string) {\n var result = '';\n var escaped = false;\n for (var i = 0; i < string.length; i++) {\n var char = string[i];\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n result += char;\n continue;\n }\n result += char;\n }\n return result;\n };\n return TextHelper;\n}());\nexport { TextHelper };\n","export var ErrorKind;\n(function (ErrorKind) {\n /** Argument is unclosed (e.g. `{0`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_CLOSING_BRACE\"] = 1] = \"EXPECT_ARGUMENT_CLOSING_BRACE\";\n /** Argument is empty (e.g. `{}`). */\n ErrorKind[ErrorKind[\"EMPTY_ARGUMENT\"] = 2] = \"EMPTY_ARGUMENT\";\n /** Argument is malformed (e.g. `{foo!}``) */\n ErrorKind[ErrorKind[\"MALFORMED_ARGUMENT\"] = 3] = \"MALFORMED_ARGUMENT\";\n /** Expect an argument type (e.g. `{foo,}`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_TYPE\"] = 4] = \"EXPECT_ARGUMENT_TYPE\";\n /** Unsupported argument type (e.g. `{foo,foo}`) */\n ErrorKind[ErrorKind[\"INVALID_ARGUMENT_TYPE\"] = 5] = \"INVALID_ARGUMENT_TYPE\";\n /** Expect an argument style (e.g. `{foo, number, }`) */\n ErrorKind[ErrorKind[\"EXPECT_ARGUMENT_STYLE\"] = 6] = \"EXPECT_ARGUMENT_STYLE\";\n /** The number skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_NUMBER_SKELETON\"] = 7] = \"INVALID_NUMBER_SKELETON\";\n /** The date time skeleton is invalid. */\n ErrorKind[ErrorKind[\"INVALID_DATE_TIME_SKELETON\"] = 8] = \"INVALID_DATE_TIME_SKELETON\";\n /** Exepct a number skeleton following the `::` (e.g. `{foo, number, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_NUMBER_SKELETON\"] = 9] = \"EXPECT_NUMBER_SKELETON\";\n /** Exepct a date time skeleton following the `::` (e.g. `{foo, date, ::}`) */\n ErrorKind[ErrorKind[\"EXPECT_DATE_TIME_SKELETON\"] = 10] = \"EXPECT_DATE_TIME_SKELETON\";\n /** Unmatched apostrophes in the argument style (e.g. `{foo, number, 'test`) */\n ErrorKind[ErrorKind[\"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\"] = 11] = \"UNCLOSED_QUOTE_IN_ARGUMENT_STYLE\";\n /** Missing select argument options (e.g. `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_OPTIONS\"] = 12] = \"EXPECT_SELECT_ARGUMENT_OPTIONS\";\n /** Expecting an offset value in `plural` or `selectordinal` argument (e.g `{foo, plural, offset}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 13] = \"EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Offset value in `plural` or `selectordinal` is invalid (e.g. `{foo, plural, offset: x}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\"] = 14] = \"INVALID_PLURAL_ARGUMENT_OFFSET_VALUE\";\n /** Expecting a selector in `select` argument (e.g `{foo, select}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR\"] = 15] = \"EXPECT_SELECT_ARGUMENT_SELECTOR\";\n /** Expecting a selector in `plural` or `selectordinal` argument (e.g `{foo, plural}`) */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR\"] = 16] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR\";\n /** Expecting a message fragment after the `select` selector (e.g. `{foo, select, apple}`) */\n ErrorKind[ErrorKind[\"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\"] = 17] = \"EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\";\n /**\n * Expecting a message fragment after the `plural` or `selectordinal` selector\n * (e.g. `{foo, plural, one}`)\n */\n ErrorKind[ErrorKind[\"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\"] = 18] = \"EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT\";\n /** Selector in `plural` or `selectordinal` is malformed (e.g. `{foo, plural, =x {#}}`) */\n ErrorKind[ErrorKind[\"INVALID_PLURAL_ARGUMENT_SELECTOR\"] = 19] = \"INVALID_PLURAL_ARGUMENT_SELECTOR\";\n /**\n * Duplicate selectors in `plural` or `selectordinal` argument.\n * (e.g. {foo, plural, one {#} one {#}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\"] = 20] = \"DUPLICATE_PLURAL_ARGUMENT_SELECTOR\";\n /** Duplicate selectors in `select` argument.\n * (e.g. {foo, select, apple {apple} apple {apple}})\n */\n ErrorKind[ErrorKind[\"DUPLICATE_SELECT_ARGUMENT_SELECTOR\"] = 21] = \"DUPLICATE_SELECT_ARGUMENT_SELECTOR\";\n /** Plural or select argument option must have `other` clause. */\n ErrorKind[ErrorKind[\"MISSING_OTHER_CLAUSE\"] = 22] = \"MISSING_OTHER_CLAUSE\";\n /** The tag is malformed. (e.g. `<bold!>foo</bold!>) */\n ErrorKind[ErrorKind[\"INVALID_TAG\"] = 23] = \"INVALID_TAG\";\n /** The tag name is invalid. (e.g. `<123>foo</123>`) */\n ErrorKind[ErrorKind[\"INVALID_TAG_NAME\"] = 25] = \"INVALID_TAG_NAME\";\n /** The closing tag does not match the opening tag. (e.g. `<bold>foo</italic>`) */\n ErrorKind[ErrorKind[\"UNMATCHED_CLOSING_TAG\"] = 26] = \"UNMATCHED_CLOSING_TAG\";\n /** The opening tag has unmatched closing tag. (e.g. `<bold>foo`) */\n ErrorKind[ErrorKind[\"UNCLOSED_TAG\"] = 27] = \"UNCLOSED_TAG\";\n})(ErrorKind || (ErrorKind = {}));\n","export var TYPE;\n(function (TYPE) {\n /**\n * Raw text\n */\n TYPE[TYPE[\"literal\"] = 0] = \"literal\";\n /**\n * Variable w/o any format, e.g `var` in `this is a {var}`\n */\n TYPE[TYPE[\"argument\"] = 1] = \"argument\";\n /**\n * Variable w/ number format\n */\n TYPE[TYPE[\"number\"] = 2] = \"number\";\n /**\n * Variable w/ date format\n */\n TYPE[TYPE[\"date\"] = 3] = \"date\";\n /**\n * Variable w/ time format\n */\n TYPE[TYPE[\"time\"] = 4] = \"time\";\n /**\n * Variable w/ select format\n */\n TYPE[TYPE[\"select\"] = 5] = \"select\";\n /**\n * Variable w/ plural format\n */\n TYPE[TYPE[\"plural\"] = 6] = \"plural\";\n /**\n * Only possible within plural argument.\n * This is the `#` symbol that will be substituted with the count.\n */\n TYPE[TYPE[\"pound\"] = 7] = \"pound\";\n /**\n * XML-like tag\n */\n TYPE[TYPE[\"tag\"] = 8] = \"tag\";\n})(TYPE || (TYPE = {}));\nexport var SKELETON_TYPE;\n(function (SKELETON_TYPE) {\n SKELETON_TYPE[SKELETON_TYPE[\"number\"] = 0] = \"number\";\n SKELETON_TYPE[SKELETON_TYPE[\"dateTime\"] = 1] = \"dateTime\";\n})(SKELETON_TYPE || (SKELETON_TYPE = {}));\n/**\n * Type Guards\n */\nexport function isLiteralElement(el) {\n return el.type === TYPE.literal;\n}\nexport function isArgumentElement(el) {\n return el.type === TYPE.argument;\n}\nexport function isNumberElement(el) {\n return el.type === TYPE.number;\n}\nexport function isDateElement(el) {\n return el.type === TYPE.date;\n}\nexport function isTimeElement(el) {\n return el.type === TYPE.time;\n}\nexport function isSelectElement(el) {\n return el.type === TYPE.select;\n}\nexport function isPluralElement(el) {\n return el.type === TYPE.plural;\n}\nexport function isPoundElement(el) {\n return el.type === TYPE.pound;\n}\nexport function isTagElement(el) {\n return el.type === TYPE.tag;\n}\nexport function isNumberSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.number);\n}\nexport function isDateTimeSkeleton(el) {\n return !!(el && typeof el === 'object' && el.type === SKELETON_TYPE.dateTime);\n}\nexport function createLiteralElement(value) {\n return {\n type: TYPE.literal,\n value: value,\n };\n}\nexport function createNumberElement(value, style) {\n return {\n type: TYPE.number,\n value: value,\n style: style,\n };\n}\n","// @generated from regex-gen.ts\nexport var SPACE_SEPARATOR_REGEX = /[ \\xA0\\u1680\\u2000-\\u200A\\u202F\\u205F\\u3000]/;\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/;\n","/**\n * https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * Credit: https://github.com/caridy/intl-datetimeformat-pattern/blob/master/index.js\n * with some tweaks\n */\nvar DATE_TIME_REGEX = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n/**\n * Parse Date time skeleton into Intl.DateTimeFormatOptions\n * Ref: https://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * @public\n * @param skeleton skeleton string\n */\nexport function parseDateTimeSkeleton(skeleton) {\n var result = {};\n skeleton.replace(DATE_TIME_REGEX, function (match) {\n var len = match.length;\n switch (match[0]) {\n // Era\n case 'G':\n result.era = len === 4 ? 'long' : len === 5 ? 'narrow' : 'short';\n break;\n // Year\n case 'y':\n result.year = len === 2 ? '2-digit' : 'numeric';\n break;\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n throw new RangeError('`Y/u/U/r` (year) patterns are not supported, use `y` instead');\n // Quarter\n case 'q':\n case 'Q':\n throw new RangeError('`q/Q` (quarter) patterns are not supported');\n // Month\n case 'M':\n case 'L':\n result.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][len - 1];\n break;\n // Week\n case 'w':\n case 'W':\n throw new RangeError('`w/W` (week) patterns are not supported');\n case 'd':\n result.day = ['numeric', '2-digit'][len - 1];\n break;\n case 'D':\n case 'F':\n case 'g':\n throw new RangeError('`D/F/g` (day) patterns are not supported, use `d` instead');\n // Weekday\n case 'E':\n result.weekday = len === 4 ? 'short' : len === 5 ? 'narrow' : 'short';\n break;\n case 'e':\n if (len < 4) {\n throw new RangeError('`e..eee` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n case 'c':\n if (len < 4) {\n throw new RangeError('`c..ccc` (weekday) patterns are not supported');\n }\n result.weekday = ['short', 'long', 'narrow', 'short'][len - 4];\n break;\n // Period\n case 'a': // AM, PM\n result.hour12 = true;\n break;\n case 'b': // am, pm, noon, midnight\n case 'B': // flexible day periods\n throw new RangeError('`b/B` (period) patterns are not supported, use `a` instead');\n // Hour\n case 'h':\n result.hourCycle = 'h12';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'H':\n result.hourCycle = 'h23';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'K':\n result.hourCycle = 'h11';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'k':\n result.hourCycle = 'h24';\n result.hour = ['numeric', '2-digit'][len - 1];\n break;\n case 'j':\n case 'J':\n case 'C':\n throw new RangeError('`j/J/C` (hour) patterns are not supported, use `h/H/K/k` instead');\n // Minute\n case 'm':\n result.minute = ['numeric', '2-digit'][len - 1];\n break;\n // Second\n case 's':\n result.second = ['numeric', '2-digit'][len - 1];\n break;\n case 'S':\n case 'A':\n throw new RangeError('`S/A` (second) patterns are not supported, use `s` instead');\n // Zone\n case 'z': // 1..3, 4: specific non-location format\n result.timeZoneName = len < 4 ? 'short' : 'long';\n break;\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x': // 1, 2, 3, 4: The ISO8601 varios formats\n throw new RangeError('`Z/O/v/V/X/x` (timeZone) patterns are not supported, use `z` instead');\n }\n return '';\n });\n return result;\n}\n","// @generated from regex-gen.ts\nexport var WHITE_SPACE_REGEX = /[\\t-\\r \\x85\\u200E\\u200F\\u2028\\u2029]/i;\n","import { __assign } from \"tslib\";\nimport { WHITE_SPACE_REGEX } from './regex.generated';\nexport function parseNumberSkeletonFromString(skeleton) {\n if (skeleton.length === 0) {\n throw new Error('Number skeleton cannot be empty');\n }\n // Parse the skeleton\n var stringTokens = skeleton\n .split(WHITE_SPACE_REGEX)\n .filter(function (x) { return x.length > 0; });\n var tokens = [];\n for (var _i = 0, stringTokens_1 = stringTokens; _i < stringTokens_1.length; _i++) {\n var stringToken = stringTokens_1[_i];\n var stemAndOptions = stringToken.split('/');\n if (stemAndOptions.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n var stem = stemAndOptions[0], options = stemAndOptions.slice(1);\n for (var _a = 0, options_1 = options; _a < options_1.length; _a++) {\n var option = options_1[_a];\n if (option.length === 0) {\n throw new Error('Invalid number skeleton');\n }\n }\n tokens.push({ stem: stem, options: options });\n }\n return tokens;\n}\nfunction icuUnitToEcma(unit) {\n return unit.replace(/^(.*?)-/, '');\n}\nvar FRACTION_PRECISION_REGEX = /^\\.(?:(0+)(\\*)?|(#+)|(0+)(#+))$/g;\nvar SIGNIFICANT_PRECISION_REGEX = /^(@+)?(\\+|#+)?[rs]?$/g;\nvar INTEGER_WIDTH_REGEX = /(\\*)(0+)|(#+)(0+)|(0+)/g;\nvar CONCISE_INTEGER_WIDTH_REGEX = /^(0+)$/;\nfunction parseSignificantPrecision(str) {\n var result = {};\n if (str[str.length - 1] === 'r') {\n result.roundingPriority = 'morePrecision';\n }\n else if (str[str.length - 1] === 's') {\n result.roundingPriority = 'lessPrecision';\n }\n str.replace(SIGNIFICANT_PRECISION_REGEX, function (_, g1, g2) {\n // @@@ case\n if (typeof g2 !== 'string') {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits = g1.length;\n }\n // @@@+ case\n else if (g2 === '+') {\n result.minimumSignificantDigits = g1.length;\n }\n // .### case\n else if (g1[0] === '#') {\n result.maximumSignificantDigits = g1.length;\n }\n // .@@## or .@@@ case\n else {\n result.minimumSignificantDigits = g1.length;\n result.maximumSignificantDigits =\n g1.length + (typeof g2 === 'string' ? g2.length : 0);\n }\n return '';\n });\n return result;\n}\nfunction parseSign(str) {\n switch (str) {\n case 'sign-auto':\n return {\n signDisplay: 'auto',\n };\n case 'sign-accounting':\n case '()':\n return {\n currencySign: 'accounting',\n };\n case 'sign-always':\n case '+!':\n return {\n signDisplay: 'always',\n };\n case 'sign-accounting-always':\n case '()!':\n return {\n signDisplay: 'always',\n currencySign: 'accounting',\n };\n case 'sign-except-zero':\n case '+?':\n return {\n signDisplay: 'exceptZero',\n };\n case 'sign-accounting-except-zero':\n case '()?':\n return {\n signDisplay: 'exceptZero',\n currencySign: 'accounting',\n };\n case 'sign-never':\n case '+_':\n return {\n signDisplay: 'never',\n };\n }\n}\nfunction parseConciseScientificAndEngineeringStem(stem) {\n // Engineering\n var result;\n if (stem[0] === 'E' && stem[1] === 'E') {\n result = {\n notation: 'engineering',\n };\n stem = stem.slice(2);\n }\n else if (stem[0] === 'E') {\n result = {\n notation: 'scientific',\n };\n stem = stem.slice(1);\n }\n if (result) {\n var signDisplay = stem.slice(0, 2);\n if (signDisplay === '+!') {\n result.signDisplay = 'always';\n stem = stem.slice(2);\n }\n else if (signDisplay === '+?') {\n result.signDisplay = 'exceptZero';\n stem = stem.slice(2);\n }\n if (!CONCISE_INTEGER_WIDTH_REGEX.test(stem)) {\n throw new Error('Malformed concise eng/scientific notation');\n }\n result.minimumIntegerDigits = stem.length;\n }\n return result;\n}\nfunction parseNotationOptions(opt) {\n var result = {};\n var signOpts = parseSign(opt);\n if (signOpts) {\n return signOpts;\n }\n return result;\n}\n/**\n * https://github.com/unicode-org/icu/blob/master/docs/userguide/format_parse/numbers/skeletons.md#skeleton-stems-and-options\n */\nexport function parseNumberSkeleton(tokens) {\n var result = {};\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n switch (token.stem) {\n case 'percent':\n case '%':\n result.style = 'percent';\n continue;\n case '%x100':\n result.style = 'percent';\n result.scale = 100;\n continue;\n case 'currency':\n result.style = 'currency';\n result.currency = token.options[0];\n continue;\n case 'group-off':\n case ',_':\n result.useGrouping = false;\n continue;\n case 'precision-integer':\n case '.':\n result.maximumFractionDigits = 0;\n continue;\n case 'measure-unit':\n case 'unit':\n result.style = 'unit';\n result.unit = icuUnitToEcma(token.options[0]);\n continue;\n case 'compact-short':\n case 'K':\n result.notation = 'compact';\n result.compactDisplay = 'short';\n continue;\n case 'compact-long':\n case 'KK':\n result.notation = 'compact';\n result.compactDisplay = 'long';\n continue;\n case 'scientific':\n result = __assign(__assign(__assign({}, result), { notation: 'scientific' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'engineering':\n result = __assign(__assign(__assign({}, result), { notation: 'engineering' }), token.options.reduce(function (all, opt) { return (__assign(__assign({}, all), parseNotationOptions(opt))); }, {}));\n continue;\n case 'notation-simple':\n result.notation = 'standard';\n continue;\n // https://github.com/unicode-org/icu/blob/master/icu4c/source/i18n/unicode/unumberformatter.h\n case 'unit-width-narrow':\n result.currencyDisplay = 'narrowSymbol';\n result.unitDisplay = 'narrow';\n continue;\n case 'unit-width-short':\n result.currencyDisplay = 'code';\n result.unitDisplay = 'short';\n continue;\n case 'unit-width-full-name':\n result.currencyDisplay = 'name';\n result.unitDisplay = 'long';\n continue;\n case 'unit-width-iso-code':\n result.currencyDisplay = 'symbol';\n continue;\n case 'scale':\n result.scale = parseFloat(token.options[0]);\n continue;\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n case 'integer-width':\n if (token.options.length > 1) {\n throw new RangeError('integer-width stems only accept a single optional option');\n }\n token.options[0].replace(INTEGER_WIDTH_REGEX, function (_, g1, g2, g3, g4, g5) {\n if (g1) {\n result.minimumIntegerDigits = g2.length;\n }\n else if (g3 && g4) {\n throw new Error('We currently do not support maximum integer digits');\n }\n else if (g5) {\n throw new Error('We currently do not support exact integer digits');\n }\n return '';\n });\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#integer-width\n if (CONCISE_INTEGER_WIDTH_REGEX.test(token.stem)) {\n result.minimumIntegerDigits = token.stem.length;\n continue;\n }\n if (FRACTION_PRECISION_REGEX.test(token.stem)) {\n // Precision\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#fraction-precision\n // precision-integer case\n if (token.options.length > 1) {\n throw new RangeError('Fraction-precision stems only accept a single optional option');\n }\n token.stem.replace(FRACTION_PRECISION_REGEX, function (_, g1, g2, g3, g4, g5) {\n // .000* case (before ICU67 it was .000+)\n if (g2 === '*') {\n result.minimumFractionDigits = g1.length;\n }\n // .### case\n else if (g3 && g3[0] === '#') {\n result.maximumFractionDigits = g3.length;\n }\n // .00## case\n else if (g4 && g5) {\n result.minimumFractionDigits = g4.length;\n result.maximumFractionDigits = g4.length + g5.length;\n }\n else {\n result.minimumFractionDigits = g1.length;\n result.maximumFractionDigits = g1.length;\n }\n return '';\n });\n var opt = token.options[0];\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#trailing-zero-display\n if (opt === 'w') {\n result = __assign(__assign({}, result), { trailingZeroDisplay: 'stripIfInteger' });\n }\n else if (opt) {\n result = __assign(__assign({}, result), parseSignificantPrecision(opt));\n }\n continue;\n }\n // https://unicode-org.github.io/icu/userguide/format_parse/numbers/skeletons.html#significant-digits-precision\n if (SIGNIFICANT_PRECISION_REGEX.test(token.stem)) {\n result = __assign(__assign({}, result), parseSignificantPrecision(token.stem));\n continue;\n }\n var signOpts = parseSign(token.stem);\n if (signOpts) {\n result = __assign(__assign({}, result), signOpts);\n }\n var conciseScientificAndEngineeringOpts = parseConciseScientificAndEngineeringStem(token.stem);\n if (conciseScientificAndEngineeringOpts) {\n result = __assign(__assign({}, result), conciseScientificAndEngineeringOpts);\n }\n }\n return result;\n}\n","var _a;\nimport { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { SKELETON_TYPE, TYPE, } from './types';\nimport { SPACE_SEPARATOR_REGEX } from './regex.generated';\nimport { parseNumberSkeleton, parseNumberSkeletonFromString, parseDateTimeSkeleton, } from '@formatjs/icu-skeleton-parser';\nvar SPACE_SEPARATOR_START_REGEX = new RegExp(\"^\" + SPACE_SEPARATOR_REGEX.source + \"*\");\nvar SPACE_SEPARATOR_END_REGEX = new RegExp(SPACE_SEPARATOR_REGEX.source + \"*$\");\nfunction createLocation(start, end) {\n return { start: start, end: end };\n}\n// #region Ponyfills\n// Consolidate these variables up top for easier toggling during debugging\nvar hasNativeStartsWith = !!String.prototype.startsWith;\nvar hasNativeFromCodePoint = !!String.fromCodePoint;\nvar hasNativeFromEntries = !!Object.fromEntries;\nvar hasNativeCodePointAt = !!String.prototype.codePointAt;\nvar hasTrimStart = !!String.prototype.trimStart;\nvar hasTrimEnd = !!String.prototype.trimEnd;\nvar hasNativeIsSafeInteger = !!Number.isSafeInteger;\nvar isSafeInteger = hasNativeIsSafeInteger\n ? Number.isSafeInteger\n : function (n) {\n return (typeof n === 'number' &&\n isFinite(n) &&\n Math.floor(n) === n &&\n Math.abs(n) <= 0x1fffffffffffff);\n };\n// IE11 does not support y and u.\nvar REGEX_SUPPORTS_U_AND_Y = true;\ntry {\n var re = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n /**\n * legacy Edge or Xbox One browser\n * Unicode flag support: supported\n * Pattern_Syntax support: not supported\n * See https://github.com/formatjs/formatjs/issues/2822\n */\n REGEX_SUPPORTS_U_AND_Y = ((_a = re.exec('a')) === null || _a === void 0 ? void 0 : _a[0]) === 'a';\n}\ncatch (_) {\n REGEX_SUPPORTS_U_AND_Y = false;\n}\nvar startsWith = hasNativeStartsWith\n ? // Native\n function startsWith(s, search, position) {\n return s.startsWith(search, position);\n }\n : // For IE11\n function startsWith(s, search, position) {\n return s.slice(position, position + search.length) === search;\n };\nvar fromCodePoint = hasNativeFromCodePoint\n ? String.fromCodePoint\n : // IE11\n function fromCodePoint() {\n var codePoints = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n codePoints[_i] = arguments[_i];\n }\n var elements = '';\n var length = codePoints.length;\n var i = 0;\n var code;\n while (length > i) {\n code = codePoints[i++];\n if (code > 0x10ffff)\n throw RangeError(code + ' is not a valid code point');\n elements +=\n code < 0x10000\n ? String.fromCharCode(code)\n : String.fromCharCode(((code -= 0x10000) >> 10) + 0xd800, (code % 0x400) + 0xdc00);\n }\n return elements;\n };\nvar fromEntries = \n// native\nhasNativeFromEntries\n ? Object.fromEntries\n : // Ponyfill\n function fromEntries(entries) {\n var obj = {};\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\n var _a = entries_1[_i], k = _a[0], v = _a[1];\n obj[k] = v;\n }\n return obj;\n };\nvar codePointAt = hasNativeCodePointAt\n ? // Native\n function codePointAt(s, index) {\n return s.codePointAt(index);\n }\n : // IE 11\n function codePointAt(s, index) {\n var size = s.length;\n if (index < 0 || index >= size) {\n return undefined;\n }\n var first = s.charCodeAt(index);\n var second;\n return first < 0xd800 ||\n first > 0xdbff ||\n index + 1 === size ||\n (second = s.charCodeAt(index + 1)) < 0xdc00 ||\n second > 0xdfff\n ? first\n : ((first - 0xd800) << 10) + (second - 0xdc00) + 0x10000;\n };\nvar trimStart = hasTrimStart\n ? // Native\n function trimStart(s) {\n return s.trimStart();\n }\n : // Ponyfill\n function trimStart(s) {\n return s.replace(SPACE_SEPARATOR_START_REGEX, '');\n };\nvar trimEnd = hasTrimEnd\n ? // Native\n function trimEnd(s) {\n return s.trimEnd();\n }\n : // Ponyfill\n function trimEnd(s) {\n return s.replace(SPACE_SEPARATOR_END_REGEX, '');\n };\n// Prevent minifier to translate new RegExp to literal form that might cause syntax error on IE11.\nfunction RE(s, flag) {\n return new RegExp(s, flag);\n}\n// #endregion\nvar matchIdentifierAtIndex;\nif (REGEX_SUPPORTS_U_AND_Y) {\n // Native\n var IDENTIFIER_PREFIX_RE_1 = RE('([^\\\\p{White_Space}\\\\p{Pattern_Syntax}]*)', 'yu');\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var _a;\n IDENTIFIER_PREFIX_RE_1.lastIndex = index;\n var match = IDENTIFIER_PREFIX_RE_1.exec(s);\n return (_a = match[1]) !== null && _a !== void 0 ? _a : '';\n };\n}\nelse {\n // IE11\n matchIdentifierAtIndex = function matchIdentifierAtIndex(s, index) {\n var match = [];\n while (true) {\n var c = codePointAt(s, index);\n if (c === undefined || _isWhiteSpace(c) || _isPatternSyntax(c)) {\n break;\n }\n match.push(c);\n index += c >= 0x10000 ? 2 : 1;\n }\n return fromCodePoint.apply(void 0, match);\n };\n}\nvar Parser = /** @class */ (function () {\n function Parser(message, options) {\n if (options === void 0) { options = {}; }\n this.message = message;\n this.position = { offset: 0, line: 1, column: 1 };\n this.ignoreTag = !!options.ignoreTag;\n this.requiresOtherClause = !!options.requiresOtherClause;\n this.shouldParseSkeletons = !!options.shouldParseSkeletons;\n }\n Parser.prototype.parse = function () {\n if (this.offset() !== 0) {\n throw Error('parser can only be used once');\n }\n return this.parseMessage(0, '', false);\n };\n Parser.prototype.parseMessage = function (nestingLevel, parentArgType, expectingCloseTag) {\n var elements = [];\n while (!this.isEOF()) {\n var char = this.char();\n if (char === 123 /* `{` */) {\n var result = this.parseArgument(nestingLevel, expectingCloseTag);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else if (char === 125 /* `}` */ && nestingLevel > 0) {\n break;\n }\n else if (char === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) {\n var position = this.clonePosition();\n this.bump();\n elements.push({\n type: TYPE.pound,\n location: createLocation(position, this.clonePosition()),\n });\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n this.peek() === 47 // char code for '/'\n ) {\n if (expectingCloseTag) {\n break;\n }\n else {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(this.clonePosition(), this.clonePosition()));\n }\n }\n else if (char === 60 /* `<` */ &&\n !this.ignoreTag &&\n _isAlpha(this.peek() || 0)) {\n var result = this.parseTag(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n else {\n var result = this.parseLiteral(nestingLevel, parentArgType);\n if (result.err) {\n return result;\n }\n elements.push(result.val);\n }\n }\n return { val: elements, err: null };\n };\n /**\n * A tag name must start with an ASCII lower/upper case letter. The grammar is based on the\n * [custom element name][] except that a dash is NOT always mandatory and uppercase letters\n * are accepted:\n *\n * ```\n * tag ::= \"<\" tagName (whitespace)* \"/>\" | \"<\" tagName (whitespace)* \">\" message \"</\" tagName (whitespace)* \">\"\n * tagName ::= [a-z] (PENChar)*\n * PENChar ::=\n * \"-\" | \".\" | [0-9] | \"_\" | [a-z] | [A-Z] | #xB7 | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x37D] |\n * [#x37F-#x1FFF] | [#x200C-#x200D] | [#x203F-#x2040] | [#x2070-#x218F] | [#x2C00-#x2FEF] |\n * [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]\n * ```\n *\n * [custom element name]: https://html.spec.whatwg.org/multipage/custom-elements.html#valid-custom-element-name\n * NOTE: We're a bit more lax here since HTML technically does not allow uppercase HTML element but we do\n * since other tag-based engines like React allow it\n */\n Parser.prototype.parseTag = function (nestingLevel, parentArgType) {\n var startPosition = this.clonePosition();\n this.bump(); // `<`\n var tagName = this.parseTagName();\n this.bumpSpace();\n if (this.bumpIf('/>')) {\n // Self closing tag\n return {\n val: {\n type: TYPE.literal,\n value: \"<\" + tagName + \"/>\",\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else if (this.bumpIf('>')) {\n var childrenResult = this.parseMessage(nestingLevel + 1, parentArgType, true);\n if (childrenResult.err) {\n return childrenResult;\n }\n var children = childrenResult.val;\n // Expecting a close tag\n var endTagStartPosition = this.clonePosition();\n if (this.bumpIf('</')) {\n if (this.isEOF() || !_isAlpha(this.char())) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n var closingTagNameStartPosition = this.clonePosition();\n var closingTagName = this.parseTagName();\n if (tagName !== closingTagName) {\n return this.error(ErrorKind.UNMATCHED_CLOSING_TAG, createLocation(closingTagNameStartPosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (!this.bumpIf('>')) {\n return this.error(ErrorKind.INVALID_TAG, createLocation(endTagStartPosition, this.clonePosition()));\n }\n return {\n val: {\n type: TYPE.tag,\n value: tagName,\n children: children,\n location: createLocation(startPosition, this.clonePosition()),\n },\n err: null,\n };\n }\n else {\n return this.error(ErrorKind.UNCLOSED_TAG, createLocation(startPosition, this.clonePosition()));\n }\n }\n else {\n return this.error(ErrorKind.INVALID_TAG, createLocation(startPosition, this.clonePosition()));\n }\n };\n /**\n * This method assumes that the caller has peeked ahead for the first tag character.\n */\n Parser.prototype.parseTagName = function () {\n var startOffset = this.offset();\n this.bump(); // the first tag name character\n while (!this.isEOF() && _isPotentialElementNameChar(this.char())) {\n this.bump();\n }\n return this.message.slice(startOffset, this.offset());\n };\n Parser.prototype.parseLiteral = function (nestingLevel, parentArgType) {\n var start = this.clonePosition();\n var value = '';\n while (true) {\n var parseQuoteResult = this.tryParseQuote(parentArgType);\n if (parseQuoteResult) {\n value += parseQuoteResult;\n continue;\n }\n var parseUnquotedResult = this.tryParseUnquoted(nestingLevel, parentArgType);\n if (parseUnquotedResult) {\n value += parseUnquotedResult;\n continue;\n }\n var parseLeftAngleResult = this.tryParseLeftAngleBracket();\n if (parseLeftAngleResult) {\n value += parseLeftAngleResult;\n continue;\n }\n break;\n }\n var location = createLocation(start, this.clonePosition());\n return {\n val: { type: TYPE.literal, value: value, location: location },\n err: null,\n };\n };\n Parser.prototype.tryParseLeftAngleBracket = function () {\n if (!this.isEOF() &&\n this.char() === 60 /* `<` */ &&\n (this.ignoreTag ||\n // If at the opening tag or closing tag position, bail.\n !_isAlphaOrSlash(this.peek() || 0))) {\n this.bump(); // `<`\n return '<';\n }\n return null;\n };\n /**\n * Starting with ICU 4.8, an ASCII apostrophe only starts quoted text if it immediately precedes\n * a character that requires quoting (that is, \"only where needed\"), and works the same in\n * nested messages as on the top level of the pattern. The new behavior is otherwise compatible.\n */\n Parser.prototype.tryParseQuote = function (parentArgType) {\n if (this.isEOF() || this.char() !== 39 /* `'` */) {\n return null;\n }\n // Parse escaped char following the apostrophe, or early return if there is no escaped char.\n // Check if is valid escaped character\n switch (this.peek()) {\n case 39 /* `'` */:\n // double quote, should return as a single quote.\n this.bump();\n this.bump();\n return \"'\";\n // '{', '<', '>', '}'\n case 123:\n case 60:\n case 62:\n case 125:\n break;\n case 35: // '#'\n if (parentArgType === 'plural' || parentArgType === 'selectordinal') {\n break;\n }\n return null;\n default:\n return null;\n }\n this.bump(); // apostrophe\n var codePoints = [this.char()]; // escaped char\n this.bump();\n // read chars until the optional closing apostrophe is found\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch === 39 /* `'` */) {\n if (this.peek() === 39 /* `'` */) {\n codePoints.push(39);\n // Bump one more time because we need to skip 2 characters.\n this.bump();\n }\n else {\n // Optional closing apostrophe.\n this.bump();\n break;\n }\n }\n else {\n codePoints.push(ch);\n }\n this.bump();\n }\n return fromCodePoint.apply(void 0, codePoints);\n };\n Parser.prototype.tryParseUnquoted = function (nestingLevel, parentArgType) {\n if (this.isEOF()) {\n return null;\n }\n var ch = this.char();\n if (ch === 60 /* `<` */ ||\n ch === 123 /* `{` */ ||\n (ch === 35 /* `#` */ &&\n (parentArgType === 'plural' || parentArgType === 'selectordinal')) ||\n (ch === 125 /* `}` */ && nestingLevel > 0)) {\n return null;\n }\n else {\n this.bump();\n return fromCodePoint(ch);\n }\n };\n Parser.prototype.parseArgument = function (nestingLevel, expectingCloseTag) {\n var openingBracePosition = this.clonePosition();\n this.bump(); // `{`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n if (this.char() === 125 /* `}` */) {\n this.bump();\n return this.error(ErrorKind.EMPTY_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n // argument name\n var value = this.parseIdentifierIfPossible().value;\n if (!value) {\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n switch (this.char()) {\n // Simple argument: `{name}`\n case 125 /* `}` */: {\n this.bump(); // `}`\n return {\n val: {\n type: TYPE.argument,\n // value does not include the opening and closing braces.\n value: value,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n err: null,\n };\n }\n // Argument with options: `{name, format, ...}`\n case 44 /* `,` */: {\n this.bump(); // `,`\n this.bumpSpace();\n if (this.isEOF()) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n return this.parseArgumentOptions(nestingLevel, expectingCloseTag, value, openingBracePosition);\n }\n default:\n return this.error(ErrorKind.MALFORMED_ARGUMENT, createLocation(openingBracePosition, this.clonePosition()));\n }\n };\n /**\n * Advance the parser until the end of the identifier, if it is currently on\n * an identifier character. Return an empty string otherwise.\n */\n Parser.prototype.parseIdentifierIfPossible = function () {\n var startingPosition = this.clonePosition();\n var startOffset = this.offset();\n var value = matchIdentifierAtIndex(this.message, startOffset);\n var endOffset = startOffset + value.length;\n this.bumpTo(endOffset);\n var endPosition = this.clonePosition();\n var location = createLocation(startingPosition, endPosition);\n return { value: value, location: location };\n };\n Parser.prototype.parseArgumentOptions = function (nestingLevel, expectingCloseTag, value, openingBracePosition) {\n var _a;\n // Parse this range:\n // {name, type, style}\n // ^---^\n var typeStartPosition = this.clonePosition();\n var argType = this.parseIdentifierIfPossible().value;\n var typeEndPosition = this.clonePosition();\n switch (argType) {\n case '':\n // Expecting a style string number, date, time, plural, selectordinal, or select.\n return this.error(ErrorKind.EXPECT_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n case 'number':\n case 'date':\n case 'time': {\n // Parse this range:\n // {name, number, style}\n // ^-------^\n this.bumpSpace();\n var styleAndLocation = null;\n if (this.bumpIf(',')) {\n this.bumpSpace();\n var styleStartPosition = this.clonePosition();\n var result = this.parseSimpleArgStyleIfPossible();\n if (result.err) {\n return result;\n }\n var style = trimEnd(result.val);\n if (style.length === 0) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_STYLE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var styleLocation = createLocation(styleStartPosition, this.clonePosition());\n styleAndLocation = { style: style, styleLocation: styleLocation };\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_1 = createLocation(openingBracePosition, this.clonePosition());\n // Extract style or skeleton\n if (styleAndLocation && startsWith(styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style, '::', 0)) {\n // Skeleton starts with `::`.\n var skeleton = trimStart(styleAndLocation.style.slice(2));\n if (argType === 'number') {\n var result = this.parseNumberSkeletonFromString(skeleton, styleAndLocation.styleLocation);\n if (result.err) {\n return result;\n }\n return {\n val: { type: TYPE.number, value: value, location: location_1, style: result.val },\n err: null,\n };\n }\n else {\n if (skeleton.length === 0) {\n return this.error(ErrorKind.EXPECT_DATE_TIME_SKELETON, location_1);\n }\n var style = {\n type: SKELETON_TYPE.dateTime,\n pattern: skeleton,\n location: styleAndLocation.styleLocation,\n parsedOptions: this.shouldParseSkeletons\n ? parseDateTimeSkeleton(skeleton)\n : {},\n };\n var type = argType === 'date' ? TYPE.date : TYPE.time;\n return {\n val: { type: type, value: value, location: location_1, style: style },\n err: null,\n };\n }\n }\n // Regular style or no style.\n return {\n val: {\n type: argType === 'number'\n ? TYPE.number\n : argType === 'date'\n ? TYPE.date\n : TYPE.time,\n value: value,\n location: location_1,\n style: (_a = styleAndLocation === null || styleAndLocation === void 0 ? void 0 : styleAndLocation.style) !== null && _a !== void 0 ? _a : null,\n },\n err: null,\n };\n }\n case 'plural':\n case 'selectordinal':\n case 'select': {\n // Parse this range:\n // {name, plural, options}\n // ^---------^\n var typeEndPosition_1 = this.clonePosition();\n this.bumpSpace();\n if (!this.bumpIf(',')) {\n return this.error(ErrorKind.EXPECT_SELECT_ARGUMENT_OPTIONS, createLocation(typeEndPosition_1, __assign({}, typeEndPosition_1)));\n }\n this.bumpSpace();\n // Parse offset:\n // {name, plural, offset:1, options}\n // ^-----^\n //\n // or the first option:\n //\n // {name, plural, one {...} other {...}}\n // ^--^\n var identifierAndLocation = this.parseIdentifierIfPossible();\n var pluralOffset = 0;\n if (argType !== 'select' && identifierAndLocation.value === 'offset') {\n if (!this.bumpIf(':')) {\n return this.error(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n this.bumpSpace();\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_OFFSET_VALUE, ErrorKind.INVALID_PLURAL_ARGUMENT_OFFSET_VALUE);\n if (result.err) {\n return result;\n }\n // Parse another identifier for option parsing\n this.bumpSpace();\n identifierAndLocation = this.parseIdentifierIfPossible();\n pluralOffset = result.val;\n }\n var optionsResult = this.tryParsePluralOrSelectOptions(nestingLevel, argType, expectingCloseTag, identifierAndLocation);\n if (optionsResult.err) {\n return optionsResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n var location_2 = createLocation(openingBracePosition, this.clonePosition());\n if (argType === 'select') {\n return {\n val: {\n type: TYPE.select,\n value: value,\n options: fromEntries(optionsResult.val),\n location: location_2,\n },\n err: null,\n };\n }\n else {\n return {\n val: {\n type: TYPE.plural,\n value: value,\n options: fromEntries(optionsResult.val),\n offset: pluralOffset,\n pluralType: argType === 'plural' ? 'cardinal' : 'ordinal',\n location: location_2,\n },\n err: null,\n };\n }\n }\n default:\n return this.error(ErrorKind.INVALID_ARGUMENT_TYPE, createLocation(typeStartPosition, typeEndPosition));\n }\n };\n Parser.prototype.tryParseArgumentClose = function (openingBracePosition) {\n // Parse: {value, number, ::currency/GBP }\n //\n if (this.isEOF() || this.char() !== 125 /* `}` */) {\n return this.error(ErrorKind.EXPECT_ARGUMENT_CLOSING_BRACE, createLocation(openingBracePosition, this.clonePosition()));\n }\n this.bump(); // `}`\n return { val: true, err: null };\n };\n /**\n * See: https://github.com/unicode-org/icu/blob/af7ed1f6d2298013dc303628438ec4abe1f16479/icu4c/source/common/messagepattern.cpp#L659\n */\n Parser.prototype.parseSimpleArgStyleIfPossible = function () {\n var nestedBraces = 0;\n var startPosition = this.clonePosition();\n while (!this.isEOF()) {\n var ch = this.char();\n switch (ch) {\n case 39 /* `'` */: {\n // Treat apostrophe as quoting but include it in the style part.\n // Find the end of the quoted literal text.\n this.bump();\n var apostrophePosition = this.clonePosition();\n if (!this.bumpUntil(\"'\")) {\n return this.error(ErrorKind.UNCLOSED_QUOTE_IN_ARGUMENT_STYLE, createLocation(apostrophePosition, this.clonePosition()));\n }\n this.bump();\n break;\n }\n case 123 /* `{` */: {\n nestedBraces += 1;\n this.bump();\n break;\n }\n case 125 /* `}` */: {\n if (nestedBraces > 0) {\n nestedBraces -= 1;\n }\n else {\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n }\n break;\n }\n default:\n this.bump();\n break;\n }\n }\n return {\n val: this.message.slice(startPosition.offset, this.offset()),\n err: null,\n };\n };\n Parser.prototype.parseNumberSkeletonFromString = function (skeleton, location) {\n var tokens = [];\n try {\n tokens = parseNumberSkeletonFromString(skeleton);\n }\n catch (e) {\n return this.error(ErrorKind.INVALID_NUMBER_SKELETON, location);\n }\n return {\n val: {\n type: SKELETON_TYPE.number,\n tokens: tokens,\n location: location,\n parsedOptions: this.shouldParseSkeletons\n ? parseNumberSkeleton(tokens)\n : {},\n },\n err: null,\n };\n };\n /**\n * @param nesting_level The current nesting level of messages.\n * This can be positive when parsing message fragment in select or plural argument options.\n * @param parent_arg_type The parent argument's type.\n * @param parsed_first_identifier If provided, this is the first identifier-like selector of\n * the argument. It is a by-product of a previous parsing attempt.\n * @param expecting_close_tag If true, this message is directly or indirectly nested inside\n * between a pair of opening and closing tags. The nested message will not parse beyond\n * the closing tag boundary.\n */\n Parser.prototype.tryParsePluralOrSelectOptions = function (nestingLevel, parentArgType, expectCloseTag, parsedFirstIdentifier) {\n var _a;\n var hasOtherClause = false;\n var options = [];\n var parsedSelectors = new Set();\n var selector = parsedFirstIdentifier.value, selectorLocation = parsedFirstIdentifier.location;\n // Parse:\n // one {one apple}\n // ^--^\n while (true) {\n if (selector.length === 0) {\n var startPosition = this.clonePosition();\n if (parentArgType !== 'select' && this.bumpIf('=')) {\n // Try parse `={number}` selector\n var result = this.tryParseDecimalInteger(ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, ErrorKind.INVALID_PLURAL_ARGUMENT_SELECTOR);\n if (result.err) {\n return result;\n }\n selectorLocation = createLocation(startPosition, this.clonePosition());\n selector = this.message.slice(startPosition.offset, this.offset());\n }\n else {\n break;\n }\n }\n // Duplicate selector clauses\n if (parsedSelectors.has(selector)) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.DUPLICATE_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.DUPLICATE_PLURAL_ARGUMENT_SELECTOR, selectorLocation);\n }\n if (selector === 'other') {\n hasOtherClause = true;\n }\n // Parse:\n // one {one apple}\n // ^----------^\n this.bumpSpace();\n var openingBracePosition = this.clonePosition();\n if (!this.bumpIf('{')) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR_FRAGMENT\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR_FRAGMENT, createLocation(this.clonePosition(), this.clonePosition()));\n }\n var fragmentResult = this.parseMessage(nestingLevel + 1, parentArgType, expectCloseTag);\n if (fragmentResult.err) {\n return fragmentResult;\n }\n var argCloseResult = this.tryParseArgumentClose(openingBracePosition);\n if (argCloseResult.err) {\n return argCloseResult;\n }\n options.push([\n selector,\n {\n value: fragmentResult.val,\n location: createLocation(openingBracePosition, this.clonePosition()),\n },\n ]);\n // Keep track of the existing selectors\n parsedSelectors.add(selector);\n // Prep next selector clause.\n this.bumpSpace();\n (_a = this.parseIdentifierIfPossible(), selector = _a.value, selectorLocation = _a.location);\n }\n if (options.length === 0) {\n return this.error(parentArgType === 'select'\n ? ErrorKind.EXPECT_SELECT_ARGUMENT_SELECTOR\n : ErrorKind.EXPECT_PLURAL_ARGUMENT_SELECTOR, createLocation(this.clonePosition(), this.clonePosition()));\n }\n if (this.requiresOtherClause && !hasOtherClause) {\n return this.error(ErrorKind.MISSING_OTHER_CLAUSE, createLocation(this.clonePosition(), this.clonePosition()));\n }\n return { val: options, err: null };\n };\n Parser.prototype.tryParseDecimalInteger = function (expectNumberError, invalidNumberError) {\n var sign = 1;\n var startingPosition = this.clonePosition();\n if (this.bumpIf('+')) {\n }\n else if (this.bumpIf('-')) {\n sign = -1;\n }\n var hasDigits = false;\n var decimal = 0;\n while (!this.isEOF()) {\n var ch = this.char();\n if (ch >= 48 /* `0` */ && ch <= 57 /* `9` */) {\n hasDigits = true;\n decimal = decimal * 10 + (ch - 48);\n this.bump();\n }\n else {\n break;\n }\n }\n var location = createLocation(startingPosition, this.clonePosition());\n if (!hasDigits) {\n return this.error(expectNumberError, location);\n }\n decimal *= sign;\n if (!isSafeInteger(decimal)) {\n return this.error(invalidNumberError, location);\n }\n return { val: decimal, err: null };\n };\n Parser.prototype.offset = function () {\n return this.position.offset;\n };\n Parser.prototype.isEOF = function () {\n return this.offset() === this.message.length;\n };\n Parser.prototype.clonePosition = function () {\n // This is much faster than `Object.assign` or spread.\n return {\n offset: this.position.offset,\n line: this.position.line,\n column: this.position.column,\n };\n };\n /**\n * Return the code point at the current position of the parser.\n * Throws if the index is out of bound.\n */\n Parser.prototype.char = function () {\n var offset = this.position.offset;\n if (offset >= this.message.length) {\n throw Error('out of bound');\n }\n var code = codePointAt(this.message, offset);\n if (code === undefined) {\n throw Error(\"Offset \" + offset + \" is at invalid UTF-16 code unit boundary\");\n }\n return code;\n };\n Parser.prototype.error = function (kind, location) {\n return {\n val: null,\n err: {\n kind: kind,\n message: this.message,\n location: location,\n },\n };\n };\n /** Bump the parser to the next UTF-16 code unit. */\n Parser.prototype.bump = function () {\n if (this.isEOF()) {\n return;\n }\n var code = this.char();\n if (code === 10 /* '\\n' */) {\n this.position.line += 1;\n this.position.column = 1;\n this.position.offset += 1;\n }\n else {\n this.position.column += 1;\n // 0 ~ 0x10000 -> unicode BMP, otherwise skip the surrogate pair.\n this.position.offset += code < 0x10000 ? 1 : 2;\n }\n };\n /**\n * If the substring starting at the current position of the parser has\n * the given prefix, then bump the parser to the character immediately\n * following the prefix and return true. Otherwise, don't bump the parser\n * and return false.\n */\n Parser.prototype.bumpIf = function (prefix) {\n if (startsWith(this.message, prefix, this.offset())) {\n for (var i = 0; i < prefix.length; i++) {\n this.bump();\n }\n return true;\n }\n return false;\n };\n /**\n * Bump the parser until the pattern character is found and return `true`.\n * Otherwise bump to the end of the file and return `false`.\n */\n Parser.prototype.bumpUntil = function (pattern) {\n var currentOffset = this.offset();\n var index = this.message.indexOf(pattern, currentOffset);\n if (index >= 0) {\n this.bumpTo(index);\n return true;\n }\n else {\n this.bumpTo(this.message.length);\n return false;\n }\n };\n /**\n * Bump the parser to the target offset.\n * If target offset is beyond the end of the input, bump the parser to the end of the input.\n */\n Parser.prototype.bumpTo = function (targetOffset) {\n if (this.offset() > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" must be greater than or equal to the current offset \" + this.offset());\n }\n targetOffset = Math.min(targetOffset, this.message.length);\n while (true) {\n var offset = this.offset();\n if (offset === targetOffset) {\n break;\n }\n if (offset > targetOffset) {\n throw Error(\"targetOffset \" + targetOffset + \" is at invalid UTF-16 code unit boundary\");\n }\n this.bump();\n if (this.isEOF()) {\n break;\n }\n }\n };\n /** advance the parser through all whitespace to the next non-whitespace code unit. */\n Parser.prototype.bumpSpace = function () {\n while (!this.isEOF() && _isWhiteSpace(this.char())) {\n this.bump();\n }\n };\n /**\n * Peek at the *next* Unicode codepoint in the input without advancing the parser.\n * If the input has been exhausted, then this returns null.\n */\n Parser.prototype.peek = function () {\n if (this.isEOF()) {\n return null;\n }\n var code = this.char();\n var offset = this.offset();\n var nextCode = this.message.charCodeAt(offset + (code >= 0x10000 ? 2 : 1));\n return nextCode !== null && nextCode !== void 0 ? nextCode : null;\n };\n return Parser;\n}());\nexport { Parser };\n/**\n * This check if codepoint is alphabet (lower & uppercase)\n * @param codepoint\n * @returns\n */\nfunction _isAlpha(codepoint) {\n return ((codepoint >= 97 && codepoint <= 122) ||\n (codepoint >= 65 && codepoint <= 90));\n}\nfunction _isAlphaOrSlash(codepoint) {\n return _isAlpha(codepoint) || codepoint === 47; /* '/' */\n}\n/** See `parseTag` function docs. */\nfunction _isPotentialElementNameChar(c) {\n return (c === 45 /* '-' */ ||\n c === 46 /* '.' */ ||\n (c >= 48 && c <= 57) /* 0..9 */ ||\n c === 95 /* '_' */ ||\n (c >= 97 && c <= 122) /** a..z */ ||\n (c >= 65 && c <= 90) /* A..Z */ ||\n c == 0xb7 ||\n (c >= 0xc0 && c <= 0xd6) ||\n (c >= 0xd8 && c <= 0xf6) ||\n (c >= 0xf8 && c <= 0x37d) ||\n (c >= 0x37f && c <= 0x1fff) ||\n (c >= 0x200c && c <= 0x200d) ||\n (c >= 0x203f && c <= 0x2040) ||\n (c >= 0x2070 && c <= 0x218f) ||\n (c >= 0x2c00 && c <= 0x2fef) ||\n (c >= 0x3001 && c <= 0xd7ff) ||\n (c >= 0xf900 && c <= 0xfdcf) ||\n (c >= 0xfdf0 && c <= 0xfffd) ||\n (c >= 0x10000 && c <= 0xeffff));\n}\n/**\n * Code point equivalent of regex `\\p{White_Space}`.\n * From: https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isWhiteSpace(c) {\n return ((c >= 0x0009 && c <= 0x000d) ||\n c === 0x0020 ||\n c === 0x0085 ||\n (c >= 0x200e && c <= 0x200f) ||\n c === 0x2028 ||\n c === 0x2029);\n}\n/**\n * Code point equivalent of regex `\\p{Pattern_Syntax}`.\n * See https://www.unicode.org/Public/UCD/latest/ucd/PropList.txt\n */\nfunction _isPatternSyntax(c) {\n return ((c >= 0x0021 && c <= 0x0023) ||\n c === 0x0024 ||\n (c >= 0x0025 && c <= 0x0027) ||\n c === 0x0028 ||\n c === 0x0029 ||\n c === 0x002a ||\n c === 0x002b ||\n c === 0x002c ||\n c === 0x002d ||\n (c >= 0x002e && c <= 0x002f) ||\n (c >= 0x003a && c <= 0x003b) ||\n (c >= 0x003c && c <= 0x003e) ||\n (c >= 0x003f && c <= 0x0040) ||\n c === 0x005b ||\n c === 0x005c ||\n c === 0x005d ||\n c === 0x005e ||\n c === 0x0060 ||\n c === 0x007b ||\n c === 0x007c ||\n c === 0x007d ||\n c === 0x007e ||\n c === 0x00a1 ||\n (c >= 0x00a2 && c <= 0x00a5) ||\n c === 0x00a6 ||\n c === 0x00a7 ||\n c === 0x00a9 ||\n c === 0x00ab ||\n c === 0x00ac ||\n c === 0x00ae ||\n c === 0x00b0 ||\n c === 0x00b1 ||\n c === 0x00b6 ||\n c === 0x00bb ||\n c === 0x00bf ||\n c === 0x00d7 ||\n c === 0x00f7 ||\n (c >= 0x2010 && c <= 0x2015) ||\n (c >= 0x2016 && c <= 0x2017) ||\n c === 0x2018 ||\n c === 0x2019 ||\n c === 0x201a ||\n (c >= 0x201b && c <= 0x201c) ||\n c === 0x201d ||\n c === 0x201e ||\n c === 0x201f ||\n (c >= 0x2020 && c <= 0x2027) ||\n (c >= 0x2030 && c <= 0x2038) ||\n c === 0x2039 ||\n c === 0x203a ||\n (c >= 0x203b && c <= 0x203e) ||\n (c >= 0x2041 && c <= 0x2043) ||\n c === 0x2044 ||\n c === 0x2045 ||\n c === 0x2046 ||\n (c >= 0x2047 && c <= 0x2051) ||\n c === 0x2052 ||\n c === 0x2053 ||\n (c >= 0x2055 && c <= 0x205e) ||\n (c >= 0x2190 && c <= 0x2194) ||\n (c >= 0x2195 && c <= 0x2199) ||\n (c >= 0x219a && c <= 0x219b) ||\n (c >= 0x219c && c <= 0x219f) ||\n c === 0x21a0 ||\n (c >= 0x21a1 && c <= 0x21a2) ||\n c === 0x21a3 ||\n (c >= 0x21a4 && c <= 0x21a5) ||\n c === 0x21a6 ||\n (c >= 0x21a7 && c <= 0x21ad) ||\n c === 0x21ae ||\n (c >= 0x21af && c <= 0x21cd) ||\n (c >= 0x21ce && c <= 0x21cf) ||\n (c >= 0x21d0 && c <= 0x21d1) ||\n c === 0x21d2 ||\n c === 0x21d3 ||\n c === 0x21d4 ||\n (c >= 0x21d5 && c <= 0x21f3) ||\n (c >= 0x21f4 && c <= 0x22ff) ||\n (c >= 0x2300 && c <= 0x2307) ||\n c === 0x2308 ||\n c === 0x2309 ||\n c === 0x230a ||\n c === 0x230b ||\n (c >= 0x230c && c <= 0x231f) ||\n (c >= 0x2320 && c <= 0x2321) ||\n (c >= 0x2322 && c <= 0x2328) ||\n c === 0x2329 ||\n c === 0x232a ||\n (c >= 0x232b && c <= 0x237b) ||\n c === 0x237c ||\n (c >= 0x237d && c <= 0x239a) ||\n (c >= 0x239b && c <= 0x23b3) ||\n (c >= 0x23b4 && c <= 0x23db) ||\n (c >= 0x23dc && c <= 0x23e1) ||\n (c >= 0x23e2 && c <= 0x2426) ||\n (c >= 0x2427 && c <= 0x243f) ||\n (c >= 0x2440 && c <= 0x244a) ||\n (c >= 0x244b && c <= 0x245f) ||\n (c >= 0x2500 && c <= 0x25b6) ||\n c === 0x25b7 ||\n (c >= 0x25b8 && c <= 0x25c0) ||\n c === 0x25c1 ||\n (c >= 0x25c2 && c <= 0x25f7) ||\n (c >= 0x25f8 && c <= 0x25ff) ||\n (c >= 0x2600 && c <= 0x266e) ||\n c === 0x266f ||\n (c >= 0x2670 && c <= 0x2767) ||\n c === 0x2768 ||\n c === 0x2769 ||\n c === 0x276a ||\n c === 0x276b ||\n c === 0x276c ||\n c === 0x276d ||\n c === 0x276e ||\n c === 0x276f ||\n c === 0x2770 ||\n c === 0x2771 ||\n c === 0x2772 ||\n c === 0x2773 ||\n c === 0x2774 ||\n c === 0x2775 ||\n (c >= 0x2794 && c <= 0x27bf) ||\n (c >= 0x27c0 && c <= 0x27c4) ||\n c === 0x27c5 ||\n c === 0x27c6 ||\n (c >= 0x27c7 && c <= 0x27e5) ||\n c === 0x27e6 ||\n c === 0x27e7 ||\n c === 0x27e8 ||\n c === 0x27e9 ||\n c === 0x27ea ||\n c === 0x27eb ||\n c === 0x27ec ||\n c === 0x27ed ||\n c === 0x27ee ||\n c === 0x27ef ||\n (c >= 0x27f0 && c <= 0x27ff) ||\n (c >= 0x2800 && c <= 0x28ff) ||\n (c >= 0x2900 && c <= 0x2982) ||\n c === 0x2983 ||\n c === 0x2984 ||\n c === 0x2985 ||\n c === 0x2986 ||\n c === 0x2987 ||\n c === 0x2988 ||\n c === 0x2989 ||\n c === 0x298a ||\n c === 0x298b ||\n c === 0x298c ||\n c === 0x298d ||\n c === 0x298e ||\n c === 0x298f ||\n c === 0x2990 ||\n c === 0x2991 ||\n c === 0x2992 ||\n c === 0x2993 ||\n c === 0x2994 ||\n c === 0x2995 ||\n c === 0x2996 ||\n c === 0x2997 ||\n c === 0x2998 ||\n (c >= 0x2999 && c <= 0x29d7) ||\n c === 0x29d8 ||\n c === 0x29d9 ||\n c === 0x29da ||\n c === 0x29db ||\n (c >= 0x29dc && c <= 0x29fb) ||\n c === 0x29fc ||\n c === 0x29fd ||\n (c >= 0x29fe && c <= 0x2aff) ||\n (c >= 0x2b00 && c <= 0x2b2f) ||\n (c >= 0x2b30 && c <= 0x2b44) ||\n (c >= 0x2b45 && c <= 0x2b46) ||\n (c >= 0x2b47 && c <= 0x2b4c) ||\n (c >= 0x2b4d && c <= 0x2b73) ||\n (c >= 0x2b74 && c <= 0x2b75) ||\n (c >= 0x2b76 && c <= 0x2b95) ||\n c === 0x2b96 ||\n (c >= 0x2b97 && c <= 0x2bff) ||\n (c >= 0x2e00 && c <= 0x2e01) ||\n c === 0x2e02 ||\n c === 0x2e03 ||\n c === 0x2e04 ||\n c === 0x2e05 ||\n (c >= 0x2e06 && c <= 0x2e08) ||\n c === 0x2e09 ||\n c === 0x2e0a ||\n c === 0x2e0b ||\n c === 0x2e0c ||\n c === 0x2e0d ||\n (c >= 0x2e0e && c <= 0x2e16) ||\n c === 0x2e17 ||\n (c >= 0x2e18 && c <= 0x2e19) ||\n c === 0x2e1a ||\n c === 0x2e1b ||\n c === 0x2e1c ||\n c === 0x2e1d ||\n (c >= 0x2e1e && c <= 0x2e1f) ||\n c === 0x2e20 ||\n c === 0x2e21 ||\n c === 0x2e22 ||\n c === 0x2e23 ||\n c === 0x2e24 ||\n c === 0x2e25 ||\n c === 0x2e26 ||\n c === 0x2e27 ||\n c === 0x2e28 ||\n c === 0x2e29 ||\n (c >= 0x2e2a && c <= 0x2e2e) ||\n c === 0x2e2f ||\n (c >= 0x2e30 && c <= 0x2e39) ||\n (c >= 0x2e3a && c <= 0x2e3b) ||\n (c >= 0x2e3c && c <= 0x2e3f) ||\n c === 0x2e40 ||\n c === 0x2e41 ||\n c === 0x2e42 ||\n (c >= 0x2e43 && c <= 0x2e4f) ||\n (c >= 0x2e50 && c <= 0x2e51) ||\n c === 0x2e52 ||\n (c >= 0x2e53 && c <= 0x2e7f) ||\n (c >= 0x3001 && c <= 0x3003) ||\n c === 0x3008 ||\n c === 0x3009 ||\n c === 0x300a ||\n c === 0x300b ||\n c === 0x300c ||\n c === 0x300d ||\n c === 0x300e ||\n c === 0x300f ||\n c === 0x3010 ||\n c === 0x3011 ||\n (c >= 0x3012 && c <= 0x3013) ||\n c === 0x3014 ||\n c === 0x3015 ||\n c === 0x3016 ||\n c === 0x3017 ||\n c === 0x3018 ||\n c === 0x3019 ||\n c === 0x301a ||\n c === 0x301b ||\n c === 0x301c ||\n c === 0x301d ||\n (c >= 0x301e && c <= 0x301f) ||\n c === 0x3020 ||\n c === 0x3030 ||\n c === 0xfd3e ||\n c === 0xfd3f ||\n (c >= 0xfe45 && c <= 0xfe46));\n}\n","import { __assign } from \"tslib\";\nimport { ErrorKind } from './error';\nimport { Parser } from './parser';\nimport { isDateElement, isDateTimeSkeleton, isNumberElement, isNumberSkeleton, isPluralElement, isSelectElement, isTagElement, isTimeElement, } from './types';\nfunction pruneLocation(els) {\n els.forEach(function (el) {\n delete el.location;\n if (isSelectElement(el) || isPluralElement(el)) {\n for (var k in el.options) {\n delete el.options[k].location;\n pruneLocation(el.options[k].value);\n }\n }\n else if (isNumberElement(el) && isNumberSkeleton(el.style)) {\n delete el.style.location;\n }\n else if ((isDateElement(el) || isTimeElement(el)) &&\n isDateTimeSkeleton(el.style)) {\n delete el.style.location;\n }\n else if (isTagElement(el)) {\n pruneLocation(el.children);\n }\n });\n}\nexport function parse(message, opts) {\n if (opts === void 0) { opts = {}; }\n opts = __assign({ shouldParseSkeletons: true, requiresOtherClause: true }, opts);\n var result = new Parser(message, opts).parse();\n if (result.err) {\n var error = SyntaxError(ErrorKind[result.err.kind]);\n // @ts-expect-error Assign to error object\n error.location = result.err.location;\n // @ts-expect-error Assign to error object\n error.originalMessage = result.err.message;\n throw error;\n }\n if (!(opts === null || opts === void 0 ? void 0 : opts.captureLocation)) {\n pruneLocation(result.val);\n }\n return result.val;\n}\nexport * from './types';\n","//\n// Main\n//\nexport default function memoize(fn, options) {\n var cache = options && options.cache ? options.cache : cacheDefault;\n var serializer = options && options.serializer ? options.serializer : serializerDefault;\n var strategy = options && options.strategy ? options.strategy : strategyDefault;\n return strategy(fn, {\n cache: cache,\n serializer: serializer,\n });\n}\n//\n// Strategy\n//\nfunction isPrimitive(value) {\n return (value == null || typeof value === 'number' || typeof value === 'boolean'); // || typeof value === \"string\" 'unsafe' primitive for our needs\n}\nfunction monadic(fn, cache, serializer, arg) {\n var cacheKey = isPrimitive(arg) ? arg : serializer(arg);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.call(this, arg);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction variadic(fn, cache, serializer) {\n var args = Array.prototype.slice.call(arguments, 3);\n var cacheKey = serializer(args);\n var computedValue = cache.get(cacheKey);\n if (typeof computedValue === 'undefined') {\n computedValue = fn.apply(this, args);\n cache.set(cacheKey, computedValue);\n }\n return computedValue;\n}\nfunction assemble(fn, context, strategy, cache, serialize) {\n return strategy.bind(context, fn, cache, serialize);\n}\nfunction strategyDefault(fn, options) {\n var strategy = fn.length === 1 ? monadic : variadic;\n return assemble(fn, this, strategy, options.cache.create(), options.serializer);\n}\nfunction strategyVariadic(fn, options) {\n return assemble(fn, this, variadic, options.cache.create(), options.serializer);\n}\nfunction strategyMonadic(fn, options) {\n return assemble(fn, this, monadic, options.cache.create(), options.serializer);\n}\n//\n// Serializer\n//\nvar serializerDefault = function () {\n return JSON.stringify(arguments);\n};\n//\n// Cache\n//\nfunction ObjectWithoutPrototypeCache() {\n this.cache = Object.create(null);\n}\nObjectWithoutPrototypeCache.prototype.get = function (key) {\n return this.cache[key];\n};\nObjectWithoutPrototypeCache.prototype.set = function (key, value) {\n this.cache[key] = value;\n};\nvar cacheDefault = {\n create: function create() {\n // @ts-ignore\n return new ObjectWithoutPrototypeCache();\n },\n};\nexport var strategies = {\n variadic: strategyVariadic,\n monadic: strategyMonadic,\n};\n","import { __extends } from \"tslib\";\nexport var ErrorCode;\n(function (ErrorCode) {\n // When we have a placeholder but no value to format\n ErrorCode[\"MISSING_VALUE\"] = \"MISSING_VALUE\";\n // When value supplied is invalid\n ErrorCode[\"INVALID_VALUE\"] = \"INVALID_VALUE\";\n // When we need specific Intl API but it's not available\n ErrorCode[\"MISSING_INTL_API\"] = \"MISSING_INTL_API\";\n})(ErrorCode || (ErrorCode = {}));\nvar FormatError = /** @class */ (function (_super) {\n __extends(FormatError, _super);\n function FormatError(msg, code, originalMessage) {\n var _this = _super.call(this, msg) || this;\n _this.code = code;\n _this.originalMessage = originalMessage;\n return _this;\n }\n FormatError.prototype.toString = function () {\n return \"[formatjs Error: \" + this.code + \"] \" + this.message;\n };\n return FormatError;\n}(Error));\nexport { FormatError };\nvar InvalidValueError = /** @class */ (function (_super) {\n __extends(InvalidValueError, _super);\n function InvalidValueError(variableId, value, options, originalMessage) {\n return _super.call(this, \"Invalid values for \\\"\" + variableId + \"\\\": \\\"\" + value + \"\\\". Options are \\\"\" + Object.keys(options).join('\", \"') + \"\\\"\", ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueError;\n}(FormatError));\nexport { InvalidValueError };\nvar InvalidValueTypeError = /** @class */ (function (_super) {\n __extends(InvalidValueTypeError, _super);\n function InvalidValueTypeError(value, type, originalMessage) {\n return _super.call(this, \"Value for \\\"\" + value + \"\\\" must be of type \" + type, ErrorCode.INVALID_VALUE, originalMessage) || this;\n }\n return InvalidValueTypeError;\n}(FormatError));\nexport { InvalidValueTypeError };\nvar MissingValueError = /** @class */ (function (_super) {\n __extends(MissingValueError, _super);\n function MissingValueError(variableId, originalMessage) {\n return _super.call(this, \"The intl string context variable \\\"\" + variableId + \"\\\" was not provided to the string \\\"\" + originalMessage + \"\\\"\", ErrorCode.MISSING_VALUE, originalMessage) || this;\n }\n return MissingValueError;\n}(FormatError));\nexport { MissingValueError };\n","import { isArgumentElement, isDateElement, isDateTimeSkeleton, isLiteralElement, isNumberElement, isNumberSkeleton, isPluralElement, isPoundElement, isSelectElement, isTimeElement, isTagElement, } from '@formatjs/icu-messageformat-parser';\nimport { MissingValueError, InvalidValueError, ErrorCode, FormatError, InvalidValueTypeError, } from './error';\nexport var PART_TYPE;\n(function (PART_TYPE) {\n PART_TYPE[PART_TYPE[\"literal\"] = 0] = \"literal\";\n PART_TYPE[PART_TYPE[\"object\"] = 1] = \"object\";\n})(PART_TYPE || (PART_TYPE = {}));\nfunction mergeLiteral(parts) {\n if (parts.length < 2) {\n return parts;\n }\n return parts.reduce(function (all, part) {\n var lastPart = all[all.length - 1];\n if (!lastPart ||\n lastPart.type !== PART_TYPE.literal ||\n part.type !== PART_TYPE.literal) {\n all.push(part);\n }\n else {\n lastPart.value += part.value;\n }\n return all;\n }, []);\n}\nexport function isFormatXMLElementFn(el) {\n return typeof el === 'function';\n}\n// TODO(skeleton): add skeleton support\nexport function formatToParts(els, locales, formatters, formats, values, currentPluralValue, \n// For debugging\noriginalMessage) {\n // Hot path for straight simple msg translations\n if (els.length === 1 && isLiteralElement(els[0])) {\n return [\n {\n type: PART_TYPE.literal,\n value: els[0].value,\n },\n ];\n }\n var result = [];\n for (var _i = 0, els_1 = els; _i < els_1.length; _i++) {\n var el = els_1[_i];\n // Exit early for string parts.\n if (isLiteralElement(el)) {\n result.push({\n type: PART_TYPE.literal,\n value: el.value,\n });\n continue;\n }\n // TODO: should this part be literal type?\n // Replace `#` in plural rules with the actual numeric value.\n if (isPoundElement(el)) {\n if (typeof currentPluralValue === 'number') {\n result.push({\n type: PART_TYPE.literal,\n value: formatters.getNumberFormat(locales).format(currentPluralValue),\n });\n }\n continue;\n }\n var varName = el.value;\n // Enforce that all required values are provided by the caller.\n if (!(values && varName in values)) {\n throw new MissingValueError(varName, originalMessage);\n }\n var value = values[varName];\n if (isArgumentElement(el)) {\n if (!value || typeof value === 'string' || typeof value === 'number') {\n value =\n typeof value === 'string' || typeof value === 'number'\n ? String(value)\n : '';\n }\n result.push({\n type: typeof value === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: value,\n });\n continue;\n }\n // Recursively format plural and select parts' option — which can be a\n // nested pattern structure. The choosing of the option to use is\n // abstracted-by and delegated-to the part helper object.\n if (isDateElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.date[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTimeElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.time[el.style]\n : isDateTimeSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getDateTimeFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isNumberElement(el)) {\n var style = typeof el.style === 'string'\n ? formats.number[el.style]\n : isNumberSkeleton(el.style)\n ? el.style.parsedOptions\n : undefined;\n if (style && style.scale) {\n value =\n value *\n (style.scale || 1);\n }\n result.push({\n type: PART_TYPE.literal,\n value: formatters\n .getNumberFormat(locales, style)\n .format(value),\n });\n continue;\n }\n if (isTagElement(el)) {\n var children = el.children, value_1 = el.value;\n var formatFn = values[value_1];\n if (!isFormatXMLElementFn(formatFn)) {\n throw new InvalidValueTypeError(value_1, 'function', originalMessage);\n }\n var parts = formatToParts(children, locales, formatters, formats, values, currentPluralValue);\n var chunks = formatFn(parts.map(function (p) { return p.value; }));\n if (!Array.isArray(chunks)) {\n chunks = [chunks];\n }\n result.push.apply(result, chunks.map(function (c) {\n return {\n type: typeof c === 'string' ? PART_TYPE.literal : PART_TYPE.object,\n value: c,\n };\n }));\n }\n if (isSelectElement(el)) {\n var opt = el.options[value] || el.options.other;\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values));\n continue;\n }\n if (isPluralElement(el)) {\n var opt = el.options[\"=\" + value];\n if (!opt) {\n if (!Intl.PluralRules) {\n throw new FormatError(\"Intl.PluralRules is not available in this environment.\\nTry polyfilling it using \\\"@formatjs/intl-pluralrules\\\"\\n\", ErrorCode.MISSING_INTL_API, originalMessage);\n }\n var rule = formatters\n .getPluralRules(locales, { type: el.pluralType })\n .select(value - (el.offset || 0));\n opt = el.options[rule] || el.options.other;\n }\n if (!opt) {\n throw new InvalidValueError(el.value, value, Object.keys(el.options), originalMessage);\n }\n result.push.apply(result, formatToParts(opt.value, locales, formatters, formats, values, value - (el.offset || 0)));\n continue;\n }\n }\n return mergeLiteral(result);\n}\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { __assign, __spreadArray } from \"tslib\";\nimport { parse } from '@formatjs/icu-messageformat-parser';\nimport memoize, { strategies } from '@formatjs/fast-memoize';\nimport { formatToParts, PART_TYPE, } from './formatters';\n// -- MessageFormat --------------------------------------------------------\nfunction mergeConfig(c1, c2) {\n if (!c2) {\n return c1;\n }\n return __assign(__assign(__assign({}, (c1 || {})), (c2 || {})), Object.keys(c1).reduce(function (all, k) {\n all[k] = __assign(__assign({}, c1[k]), (c2[k] || {}));\n return all;\n }, {}));\n}\nfunction mergeConfigs(defaultConfig, configs) {\n if (!configs) {\n return defaultConfig;\n }\n return Object.keys(defaultConfig).reduce(function (all, k) {\n all[k] = mergeConfig(defaultConfig[k], configs[k]);\n return all;\n }, __assign({}, defaultConfig));\n}\nfunction createFastMemoizeCache(store) {\n return {\n create: function () {\n return {\n get: function (key) {\n return store[key];\n },\n set: function (key, value) {\n store[key] = value;\n },\n };\n },\n };\n}\nfunction createDefaultFormatters(cache) {\n if (cache === void 0) { cache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n }; }\n return {\n getNumberFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.NumberFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.number),\n strategy: strategies.variadic,\n }),\n getDateTimeFormat: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.DateTimeFormat).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.dateTime),\n strategy: strategies.variadic,\n }),\n getPluralRules: memoize(function () {\n var _a;\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return new ((_a = Intl.PluralRules).bind.apply(_a, __spreadArray([void 0], args, false)))();\n }, {\n cache: createFastMemoizeCache(cache.pluralRules),\n strategy: strategies.variadic,\n }),\n };\n}\nvar IntlMessageFormat = /** @class */ (function () {\n function IntlMessageFormat(message, locales, overrideFormats, opts) {\n var _this = this;\n if (locales === void 0) { locales = IntlMessageFormat.defaultLocale; }\n this.formatterCache = {\n number: {},\n dateTime: {},\n pluralRules: {},\n };\n this.format = function (values) {\n var parts = _this.formatToParts(values);\n // Hot path for straight simple msg translations\n if (parts.length === 1) {\n return parts[0].value;\n }\n var result = parts.reduce(function (all, part) {\n if (!all.length ||\n part.type !== PART_TYPE.literal ||\n typeof all[all.length - 1] !== 'string') {\n all.push(part.value);\n }\n else {\n all[all.length - 1] += part.value;\n }\n return all;\n }, []);\n if (result.length <= 1) {\n return result[0] || '';\n }\n return result;\n };\n this.formatToParts = function (values) {\n return formatToParts(_this.ast, _this.locales, _this.formatters, _this.formats, values, undefined, _this.message);\n };\n this.resolvedOptions = function () { return ({\n locale: Intl.NumberFormat.supportedLocalesOf(_this.locales)[0],\n }); };\n this.getAst = function () { return _this.ast; };\n if (typeof message === 'string') {\n this.message = message;\n if (!IntlMessageFormat.__parse) {\n throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');\n }\n // Parse string messages into an AST.\n this.ast = IntlMessageFormat.__parse(message, {\n ignoreTag: opts === null || opts === void 0 ? void 0 : opts.ignoreTag,\n });\n }\n else {\n this.ast = message;\n }\n if (!Array.isArray(this.ast)) {\n throw new TypeError('A message must be provided as a String or AST.');\n }\n // Creates a new object with the specified `formats` merged with the default\n // formats.\n this.formats = mergeConfigs(IntlMessageFormat.formats, overrideFormats);\n // Defined first because it's used to build the format pattern.\n this.locales = locales;\n this.formatters =\n (opts && opts.formatters) || createDefaultFormatters(this.formatterCache);\n }\n Object.defineProperty(IntlMessageFormat, \"defaultLocale\", {\n get: function () {\n if (!IntlMessageFormat.memoizedDefaultLocale) {\n IntlMessageFormat.memoizedDefaultLocale =\n new Intl.NumberFormat().resolvedOptions().locale;\n }\n return IntlMessageFormat.memoizedDefaultLocale;\n },\n enumerable: false,\n configurable: true\n });\n IntlMessageFormat.memoizedDefaultLocale = null;\n IntlMessageFormat.__parse = parse;\n // Default format options used as the prototype of the `formats` provided to the\n // constructor. These are used when constructing the internal Intl.NumberFormat\n // and Intl.DateTimeFormat instances.\n IntlMessageFormat.formats = {\n number: {\n integer: {\n maximumFractionDigits: 0,\n },\n currency: {\n style: 'currency',\n },\n percent: {\n style: 'percent',\n },\n },\n date: {\n short: {\n month: 'numeric',\n day: 'numeric',\n year: '2-digit',\n },\n medium: {\n month: 'short',\n day: 'numeric',\n year: 'numeric',\n },\n long: {\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n full: {\n weekday: 'long',\n month: 'long',\n day: 'numeric',\n year: 'numeric',\n },\n },\n time: {\n short: {\n hour: 'numeric',\n minute: 'numeric',\n },\n medium: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n },\n long: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n full: {\n hour: 'numeric',\n minute: 'numeric',\n second: 'numeric',\n timeZoneName: 'short',\n },\n },\n };\n return IntlMessageFormat;\n}());\nexport { IntlMessageFormat };\n","/*\nCopyright (c) 2014, Yahoo! Inc. All rights reserved.\nCopyrights licensed under the New BSD License.\nSee the accompanying LICENSE file for terms.\n*/\nimport { IntlMessageFormat } from './src/core';\nexport * from './src/formatters';\nexport * from './src/core';\nexport * from './src/error';\nexport default IntlMessageFormat;\n","import { __awaiter, __generator, __read, __values } from \"tslib\";\nimport { TextHelper } from '../helpers/TextHelper';\nimport IntlMessageFormat from 'intl-messageformat';\nvar TextService = /** @class */ (function () {\n function TextService(properties, translationService) {\n var _this = this;\n this.properties = properties;\n this.translationService = translationService;\n this.format = function (translation, params) {\n try {\n //try to format the text\n return new IntlMessageFormat(translation, _this.properties.currentLanguage).format(params);\n }\n catch (e) {\n // if string cannot be formatted, throw error\n // eslint-disable-next-line no-console\n console.error(e);\n }\n };\n this.escapeForRegExp = function (string) {\n return string.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n };\n this.escapeParam = function (param) {\n if (typeof param === 'string') {\n return param.replace(/[,:\\\\]/gs, '\\\\$&');\n }\n if (typeof param === 'number' || typeof param === 'bigint') {\n return param.toString();\n }\n // eslint-disable-next-line no-console\n console.warn(param);\n // eslint-disable-next-line no-console\n console.warn('Unsupported value type of above param. Consider converting to string.');\n return param;\n };\n }\n Object.defineProperty(TextService.prototype, \"rawUnWrapRegex\", {\n get: function () {\n var escapedPrefix = this.escapeForRegExp(this.properties.config.inputPrefix);\n var escapedSuffix = this.escapeForRegExp(this.properties.config.inputSuffix);\n return \"(\\\\\\\\?)(\" + escapedPrefix + \"(.*?)\" + escapedSuffix + \")\";\n },\n enumerable: false,\n configurable: true\n });\n TextService.parseUnwrapped = function (unwrappedString) {\n var e_1, _a;\n var escaped = false;\n var actual = '';\n var paramName = '';\n var readingState = 'KEY';\n var result = {\n key: '',\n params: {},\n defaultValue: undefined,\n };\n try {\n for (var unwrappedString_1 = __values(unwrappedString), unwrappedString_1_1 = unwrappedString_1.next(); !unwrappedString_1_1.done; unwrappedString_1_1 = unwrappedString_1.next()) {\n var char = unwrappedString_1_1.value;\n if (char === '\\\\' && !escaped) {\n escaped = true;\n continue;\n }\n if (escaped) {\n escaped = false;\n actual += char;\n continue;\n }\n if (readingState === 'KEY' && char === ',') {\n readingState = 'DEFAULT_VALUE';\n result.key = actual;\n actual = '';\n continue;\n }\n if (readingState === 'KEY' && char === ':') {\n readingState = 'PARAM_NAME';\n result.key = actual;\n actual = '';\n continue;\n }\n if (readingState === 'DEFAULT_VALUE' && char === ':') {\n readingState = 'PARAM_NAME';\n result.defaultValue = actual;\n actual = '';\n continue;\n }\n if (readingState === 'PARAM_NAME' && char === ':') {\n readingState = 'PARAM_VALUE';\n paramName = actual;\n actual = '';\n continue;\n }\n if (readingState === 'PARAM_VALUE' && char === ',') {\n readingState = 'PARAM_NAME';\n result.params[paramName] = actual;\n actual = '';\n continue;\n }\n actual += char;\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (unwrappedString_1_1 && !unwrappedString_1_1.done && (_a = unwrappedString_1.return)) _a.call(unwrappedString_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (readingState === 'KEY') {\n result.key = actual;\n }\n if (readingState === 'DEFAULT_VALUE') {\n result.defaultValue = actual;\n }\n if (readingState === 'PARAM_VALUE') {\n result.params[paramName] = actual;\n }\n return result;\n };\n TextService.prototype.translate = function (key, params, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n return __awaiter(this, void 0, void 0, function () {\n var result, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = this.format;\n return [4 /*yield*/, this.translationService.getTranslation(key, lang, orEmpty, defaultValue)];\n case 1:\n result = _a.apply(this, [_b.sent(), params]);\n if (result !== undefined) {\n return [2 /*return*/, result];\n }\n return [2 /*return*/, key];\n }\n });\n });\n };\n TextService.prototype.instant = function (key, params, lang, orEmpty, defaultValue) {\n if (lang === void 0) { lang = this.properties.currentLanguage; }\n var result = this.format(this.translationService.getFromCacheOrFallback(key, lang, orEmpty, defaultValue), params);\n if (result !== undefined) {\n return result;\n }\n return key;\n };\n TextService.prototype.replace = function (text) {\n return __awaiter(this, void 0, void 0, function () {\n var matchRegexp, keysAndParams, matched, match, start, result, pre, _a, fullMatch, _, wrapped, unwrapped, index, input, translated;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n matchRegexp = new RegExp(this.rawUnWrapRegex, 'gs');\n keysAndParams = [];\n matched = false;\n start = 0;\n result = '';\n _b.label = 1;\n case 1:\n if (!((match = matchRegexp.exec(text)) !== null)) return [3 /*break*/, 3];\n pre = match[1];\n _a = __read(match, 4), fullMatch = _a[0], _ = _a[1], wrapped = _a[2], unwrapped = _a[3];\n index = match.index, input = match.input;\n result += input.substr(start, index - start);\n start = index + fullMatch.length;\n if (pre === '\\\\') {\n if (!TextHelper.isCharEscaped(index, text)) {\n result += wrapped;\n return [3 /*break*/, 1];\n }\n pre = '';\n }\n return [4 /*yield*/, this.getTranslatedWithMetadata(unwrapped)];\n case 2:\n translated = _b.sent();\n keysAndParams.push({\n key: translated.key,\n params: translated.params,\n defaultValue: translated.defaultValue,\n });\n matched = true;\n result += pre + translated.translated;\n return [3 /*break*/, 1];\n case 3:\n result += text.substring(start);\n if (matched) {\n return [2 /*return*/, { text: result, keys: keysAndParams }];\n }\n return [2 /*return*/, undefined];\n }\n });\n });\n };\n TextService.prototype.wrap = function (key, params, defaultValue) {\n var _this = this;\n if (params === void 0) { params = {}; }\n if (defaultValue === void 0) { defaultValue = undefined; }\n var paramString = Object.entries(params)\n .map(function (_a) {\n var _b = __read(_a, 2), name = _b[0], value = _b[1];\n return _this.escapeParam(name) + \":\" + _this.escapeParam(value);\n })\n .join(',');\n paramString = paramString.length ? \":\" + paramString : '';\n var defaultString = defaultValue !== undefined ? \",\" + this.escapeParam(defaultValue) : '';\n return \"\" + this.properties.config.inputPrefix + this.escapeParam(key) + defaultString + paramString + this.properties.config.inputSuffix;\n };\n TextService.prototype.getTranslatedWithMetadata = function (text) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, key, params, defaultValue, translated;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = TextService.parseUnwrapped(text), key = _a.key, params = _a.params, defaultValue = _a.defaultValue;\n return [4 /*yield*/, this.translate(key, params, undefined, false, defaultValue)];\n case 1:\n translated = _b.sent();\n return [2 /*return*/, { translated: translated, key: key, params: params, defaultValue: defaultValue }];\n }\n });\n });\n };\n return TextService;\n}());\nexport { TextService };\n","import { __values } from \"tslib\";\nimport { ModifierKey } from '../Constants/ModifierKey';\nimport { EventEmitterImpl } from '../services/EventEmitter';\nvar MouseEventHandler = /** @class */ (function () {\n function MouseEventHandler(properties) {\n this.properties = properties;\n this.keysDown = new Set();\n this.mouseOn = new Set();\n this.mouseOnChanged = new EventEmitterImpl();\n this.keysChanged = new EventEmitterImpl();\n if (typeof window !== 'undefined') {\n this.initKeyListener();\n return;\n }\n }\n MouseEventHandler.prototype.handle = function (element, onclick) {\n var _this = this;\n if (element._tolgee.listeningForHighlighting) {\n // eslint-disable-next-line no-console\n console.error('Element is already listening mouse events! This is probably bug in tolgee');\n return;\n }\n element._tolgee.listeningForHighlighting = true;\n this.initEventListeners(element, onclick);\n this.mouseOnChanged.subscribe(function () {\n if (_this.highlighted !== _this.getMouseOn()) {\n _this.onConditionsChanged();\n }\n });\n this.keysChanged.subscribe(function () {\n _this.onConditionsChanged();\n });\n };\n MouseEventHandler.prototype.initEventListeners = function (element, onclick) {\n var _this = this;\n var onMouseOver = function () { return _this.onMouseOver(element); };\n var onMouseOut = function () { return _this.onMouseOut(element); };\n var onClick = function (e) {\n if (_this.areKeysDown()) {\n e.stopPropagation();\n e.preventDefault();\n onclick(e);\n }\n };\n element.addEventListener('mouseover', onMouseOver);\n element.addEventListener('click', onClick);\n var onMouseDownOrUp = function (e) {\n if (_this.areKeysDown()) {\n e.stopPropagation();\n e.preventDefault();\n }\n };\n element.addEventListener('mousedown', onMouseDownOrUp);\n element.addEventListener('mouseup', onMouseDownOrUp);\n element.addEventListener('mouseout', onMouseOut);\n element._tolgee.removeAllEventListeners = function () {\n element.removeEventListener('mousedown', onMouseDownOrUp);\n element.removeEventListener('mouseup', onMouseDownOrUp);\n element.removeEventListener('mouseover', onMouseOver);\n element.removeEventListener('click', onClick);\n element.removeEventListener('mouseout', onMouseOut);\n };\n };\n MouseEventHandler.prototype.onConditionsChanged = function () {\n this.unhighlight();\n if (this.areKeysDown() && this.getMouseOn()) {\n this.highlight();\n }\n };\n MouseEventHandler.prototype.highlight = function () {\n this.getMouseOn()._tolgee.highlight();\n this.highlighted = this.getMouseOn();\n };\n MouseEventHandler.prototype.unhighlight = function () {\n if (this.highlighted) {\n this.highlighted._tolgee.unhighlight();\n this.highlighted = null;\n }\n };\n MouseEventHandler.prototype.onMouseOut = function (element) {\n this.mouseOn.delete(element);\n this.mouseOnChanged.emit(this.getMouseOn());\n };\n MouseEventHandler.prototype.onMouseOver = function (element) {\n this.filterMouseOn();\n this.mouseOn.delete(element); //to get in to last place\n this.mouseOn.add(element);\n this.mouseOnChanged.emit(this.getMouseOn());\n };\n MouseEventHandler.prototype.getMouseOn = function () {\n var mouseOnArray = Array.from(this.mouseOn);\n return mouseOnArray.length ? mouseOnArray[0] : undefined;\n };\n MouseEventHandler.prototype.initKeyListener = function () {\n var _this = this;\n window.addEventListener('blur', function () {\n _this.keysDown = new Set();\n _this.keysChanged.emit(_this.areKeysDown());\n });\n window.addEventListener('keydown', function (e) {\n var modifierKey = ModifierKey[e.key];\n if (modifierKey !== undefined) {\n _this.keysDown.add(modifierKey);\n _this.keysChanged.emit(_this.areKeysDown());\n }\n });\n window.addEventListener('keyup', function (e) {\n _this.keysDown.delete(ModifierKey[e.key]);\n _this.keysChanged.emit(_this.areKeysDown());\n });\n };\n MouseEventHandler.prototype.filterMouseOn = function () {\n var _this = this;\n this.mouseOn.forEach(function (el) {\n if (!document.contains(el)) {\n _this.mouseOn.delete(el);\n }\n });\n };\n MouseEventHandler.prototype.areKeysDown = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.properties.config.highlightKeys), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (!this.keysDown.has(key)) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n };\n return MouseEventHandler;\n}());\nexport { MouseEventHandler };\n","import { __awaiter, __generator, __read, __spreadArray, __values } from \"tslib\";\nvar TranslationHighlighter = /** @class */ (function () {\n function TranslationHighlighter(dependencies) {\n var _this = this;\n this.dependencies = dependencies;\n this.translationEdit = function (e, element) { return __awaiter(_this, void 0, void 0, function () {\n var renderer, key;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.getRenderer()];\n case 1:\n renderer = _a.sent();\n if (!(typeof renderer === 'object')) return [3 /*break*/, 3];\n return [4 /*yield*/, this.getKeyAndDefault(e, element)];\n case 2:\n key = _a.sent();\n if (key) {\n renderer.renderViewer(key.key, key.defaultValue);\n return [2 /*return*/];\n }\n return [2 /*return*/];\n case 3: return [2 /*return*/];\n }\n });\n }); };\n }\n TranslationHighlighter.getKeyOptions = function (node) {\n var nodes = Array.from(node._tolgee.nodes);\n return nodes.reduce(function (acc, curr) { return __spreadArray(__spreadArray([], __read(acc), false), __read(curr._tolgee.keys.map(function (k) { return ({\n key: k.key,\n defaultValue: k.defaultValue,\n }); })), false); }, []);\n };\n TranslationHighlighter.prototype.listen = function (element) {\n var _this = this;\n this.dependencies.highlightFunctionInitializer.initFunctions(element);\n this.dependencies.mouseEventHandler.handle(element, function (e) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.translationEdit(e, element)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n }); }); });\n };\n TranslationHighlighter.prototype.getRenderer = function () {\n return __awaiter(this, void 0, void 0, function () {\n var possibleProviders, possibleProviders_1, possibleProviders_1_1, possibleProvider, constructorProvider, constructor, e_1, constructor, e_2_1;\n var e_2, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this._renderer === undefined)) return [3 /*break*/, 11];\n possibleProviders = [\n this.dependencies.properties.config.ui,\n window['@tolgee/ui'],\n ];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 8, 9, 10]);\n possibleProviders_1 = __values(possibleProviders), possibleProviders_1_1 = possibleProviders_1.next();\n _b.label = 2;\n case 2:\n if (!!possibleProviders_1_1.done) return [3 /*break*/, 7];\n possibleProvider = possibleProviders_1_1.value;\n if (!(typeof possibleProvider === 'function')) return [3 /*break*/, 6];\n _b.label = 3;\n case 3:\n _b.trys.push([3, 5, , 6]);\n constructorProvider = possibleProvider;\n return [4 /*yield*/, constructorProvider()];\n case 4:\n constructor = _b.sent();\n this._renderer = new constructor(this.dependencies);\n return [3 /*break*/, 6];\n case 5:\n e_1 = _b.sent();\n constructor = possibleProvider;\n this._renderer = new constructor(this.dependencies);\n return [3 /*break*/, 6];\n case 6:\n possibleProviders_1_1 = possibleProviders_1.next();\n return [3 /*break*/, 2];\n case 7: return [3 /*break*/, 10];\n case 8:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 10];\n case 9:\n try {\n if (possibleProviders_1_1 && !possibleProviders_1_1.done && (_a = possibleProviders_1.return)) _a.call(possibleProviders_1);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 10:\n if (this._renderer === undefined) {\n // eslint-disable-next-line no-console\n console.warn('Tolgee UI is not provided. To translate interactively provide tolgee ui constructor to \"ui\" configuration property. ' +\n 'To disable highlighting use production mode.');\n }\n _b.label = 11;\n case 11: return [2 /*return*/, this._renderer];\n }\n });\n });\n };\n TranslationHighlighter.prototype.getKeyAndDefault = function (mouseEvent, element) {\n return __awaiter(this, void 0, void 0, function () {\n var keysWithDefaults, keySet, renderer, selectedKey_1, found;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (element._tolgee.wrappedWithElementOnlyKey) {\n return [2 /*return*/, {\n key: element._tolgee.wrappedWithElementOnlyKey,\n defaultValue: element._tolgee.wrappedWithElementOnlyDefaultHtml,\n }];\n }\n keysWithDefaults = TranslationHighlighter.getKeyOptions(element);\n keySet = new Set(keysWithDefaults.map(function (keyWithDefault) { return keyWithDefault.key; }));\n if (!(keySet.size > 1)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.getRenderer()];\n case 1:\n renderer = _a.sent();\n return [4 /*yield*/, renderer.getKey({\n keys: keySet,\n openEvent: mouseEvent,\n })];\n case 2:\n selectedKey_1 = _a.sent();\n found = keysWithDefaults.find(function (kwd) { return kwd.key === selectedKey_1; });\n if (found) {\n return [2 /*return*/, found];\n }\n _a.label = 3;\n case 3:\n if (keySet.size === 1) {\n return [2 /*return*/, keysWithDefaults[0]];\n }\n // eslint-disable-next-line no-console\n console.error('No key to translate. This seems like a bug in tolgee.');\n return [2 /*return*/];\n }\n });\n });\n };\n return TranslationHighlighter;\n}());\nexport { TranslationHighlighter };\n","import { __generator, __values } from \"tslib\";\nimport { TOLGEE_ATTRIBUTE_NAME } from '../Constants/Global';\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar ElementRegistrar = /** @class */ (function () {\n function ElementRegistrar(properties, translationHighlighter, eventService) {\n this.properties = properties;\n this.translationHighlighter = translationHighlighter;\n this.eventService = eventService;\n this.registeredElements = new Set();\n }\n ElementRegistrar.prototype.register = function (element) {\n //ignore element with no active nodes\n if (this.getActiveNodes(element).next().value === undefined &&\n !element._tolgee.wrappedWithElementOnlyKey) {\n return;\n }\n if (this.properties.config.mode === 'development' &&\n !this.registeredElements.has(element)) {\n this.translationHighlighter.listen(element);\n }\n this.registeredElements.add(element);\n this.eventService.ELEMENT_REGISTERED.emit(element);\n };\n ElementRegistrar.prototype.refreshAll = function () {\n var e_1, _a;\n try {\n for (var _b = __values(this.registeredElements), _c = _b.next(); !_c.done; _c = _b.next()) {\n var element = _c.value;\n this.cleanElementInactiveNodes(element);\n if (element._tolgee.nodes.size === 0 &&\n !element._tolgee.wrappedWithElementOnlyKey) {\n this.cleanElement(element);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ElementRegistrar.prototype.cleanAll = function () {\n var e_2, _a;\n try {\n for (var _b = __values(this.registeredElements), _c = _b.next(); !_c.done; _c = _b.next()) {\n var registeredElement = _c.value;\n this.cleanElement(registeredElement);\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_2) throw e_2.error; }\n }\n };\n ElementRegistrar.prototype.findAllByKey = function (key) {\n var e_3, _a, e_4, _b;\n var result = [];\n try {\n for (var _c = __values(this.registeredElements), _d = _c.next(); !_d.done; _d = _c.next()) {\n var registeredElement = _d.value;\n if (registeredElement._tolgee.wrappedWithElementOnlyKey === key) {\n result.push(registeredElement);\n continue;\n }\n try {\n for (var _e = (e_4 = void 0, __values(registeredElement._tolgee.nodes)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var node = _f.value;\n if (node._tolgee.keys.findIndex(function (keyWithParams) { return keyWithParams.key === key; }) > -1) {\n result.push(registeredElement);\n break;\n }\n }\n }\n catch (e_4_1) { e_4 = { error: e_4_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_b = _e.return)) _b.call(_e);\n }\n finally { if (e_4) throw e_4.error; }\n }\n }\n }\n catch (e_3_1) { e_3 = { error: e_3_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_a = _c.return)) _a.call(_c);\n }\n finally { if (e_3) throw e_3.error; }\n }\n return result;\n };\n ElementRegistrar.prototype.cleanElementInactiveNodes = function (element) {\n if (this.isElementActive(element)) {\n element._tolgee.nodes = new Set(this.getActiveNodes(element));\n return;\n }\n };\n ElementRegistrar.prototype.cleanElement = function (element) {\n if (typeof element._tolgee.removeAllEventListeners === 'function') {\n element._tolgee.removeAllEventListeners();\n }\n element.removeAttribute(TOLGEE_ATTRIBUTE_NAME);\n delete element._tolgee;\n this.registeredElements.delete(element);\n };\n ElementRegistrar.prototype.getActiveNodes = function (element) {\n var _a, _b, node, e_5_1;\n var e_5, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n _d.trys.push([0, 5, 6, 7]);\n _a = __values(element._tolgee.nodes), _b = _a.next();\n _d.label = 1;\n case 1:\n if (!!_b.done) return [3 /*break*/, 4];\n node = _b.value;\n if (!NodeHelper.nodeContains(this.properties.config.targetElement, node)) return [3 /*break*/, 3];\n return [4 /*yield*/, node];\n case 2:\n _d.sent();\n _d.label = 3;\n case 3:\n _b = _a.next();\n return [3 /*break*/, 1];\n case 4: return [3 /*break*/, 7];\n case 5:\n e_5_1 = _d.sent();\n e_5 = { error: e_5_1 };\n return [3 /*break*/, 7];\n case 6:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n }\n finally { if (e_5) throw e_5.error; }\n return [7 /*endfinally*/];\n case 7: return [2 /*return*/];\n }\n });\n };\n ElementRegistrar.prototype.isElementActive = function (element) {\n return this.properties.config.targetElement.contains(element);\n };\n return ElementRegistrar;\n}());\nexport { ElementRegistrar };\n","import { __awaiter, __generator, __values } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { RESTRICTED_ASCENDANT_ATTRIBUTE, TOLGEE_ATTRIBUTE_NAME, } from '../Constants/Global';\nvar AbstractHandler = /** @class */ (function () {\n function AbstractHandler(properties, textService, elementRegistrar, translationHighlighter) {\n this.properties = properties;\n this.textService = textService;\n this.elementRegistrar = elementRegistrar;\n this.translationHighlighter = translationHighlighter;\n }\n AbstractHandler.initParentElement = function (element) {\n if (element[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n element[TOLGEE_ATTRIBUTE_NAME] = {\n nodes: new Set(),\n };\n element.setAttribute(TOLGEE_ATTRIBUTE_NAME, '');\n }\n return element;\n };\n AbstractHandler.prototype.filterRestricted = function (nodes) {\n var restrictedElements = this.properties.config.restrictedElements;\n return nodes.filter(function (n) {\n var e = NodeHelper.closestElement(n);\n return (restrictedElements.indexOf(e.tagName.toLowerCase()) === -1 &&\n e.closest(\"[\" + RESTRICTED_ASCENDANT_ATTRIBUTE + \"=\\\"true\\\"]\") === null);\n });\n };\n AbstractHandler.prototype.handleNodes = function (nodes) {\n return __awaiter(this, void 0, void 0, function () {\n var nodes_1, nodes_1_1, textNode, tolgeeData, result, text, keys, translatedNode, parentElement, e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 7]);\n nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next();\n _b.label = 1;\n case 1:\n if (!!nodes_1_1.done) return [3 /*break*/, 4];\n textNode = nodes_1_1.value;\n if (textNode[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n textNode[TOLGEE_ATTRIBUTE_NAME] = {};\n }\n tolgeeData = textNode[TOLGEE_ATTRIBUTE_NAME];\n if (!((tolgeeData === null || tolgeeData === void 0 ? void 0 : tolgeeData.locked) !== true)) return [3 /*break*/, 3];\n this.lockNode(textNode);\n return [4 /*yield*/, this.textService.replace(textNode.textContent)];\n case 2:\n result = _b.sent();\n if (result) {\n text = result.text, keys = result.keys;\n translatedNode = this.translateChildNode(textNode, text, keys);\n parentElement = this.getParentElement(translatedNode);\n parentElement._tolgee.nodes.add(translatedNode);\n this.elementRegistrar.register(parentElement);\n }\n this.unlockNode(textNode);\n _b.label = 3;\n case 3:\n nodes_1_1 = nodes_1.next();\n return [3 /*break*/, 1];\n case 4: return [3 /*break*/, 7];\n case 5:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 7];\n case 6:\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_a = nodes_1.return)) _a.call(nodes_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 7: return [2 /*return*/];\n }\n });\n });\n };\n AbstractHandler.prototype.translateChildNode = function (node, newValue, keys) {\n node[TOLGEE_ATTRIBUTE_NAME] = {\n oldTextContent: node.textContent,\n keys: keys,\n };\n node.textContent = newValue;\n return node;\n };\n AbstractHandler.prototype.lockNode = function (node) {\n if (node[TOLGEE_ATTRIBUTE_NAME] === undefined) {\n node[TOLGEE_ATTRIBUTE_NAME] = {};\n }\n var tolgeeData = node[TOLGEE_ATTRIBUTE_NAME];\n if ((tolgeeData === null || tolgeeData === void 0 ? void 0 : tolgeeData.locked) !== true) {\n tolgeeData.locked = true;\n }\n return node;\n };\n AbstractHandler.prototype.unlockNode = function (node) {\n if (node[TOLGEE_ATTRIBUTE_NAME]) {\n node[TOLGEE_ATTRIBUTE_NAME].locked = false;\n }\n };\n AbstractHandler.prototype.getParentElement = function (node) {\n var parent = this.getSuitableParent(node);\n return AbstractHandler.initParentElement(parent);\n };\n AbstractHandler.prototype.getSuitableParent = function (node) {\n var domParent = NodeHelper.getParentElement(node);\n if (domParent === undefined) {\n // eslint-disable-next-line no-console\n console.error(node);\n throw new Error('No suitable parent found for node above.');\n }\n if (!this.properties.config.passToParent) {\n return domParent;\n }\n if (Array.isArray(this.properties.config.passToParent)) {\n var tagNameEquals = function (elementTagName) {\n return domParent.tagName.toLowerCase() === elementTagName.toLowerCase();\n };\n if (this.properties.config.passToParent.findIndex(tagNameEquals) === -1) {\n return domParent;\n }\n }\n if (typeof this.properties.config.passToParent === 'function') {\n if (!this.properties.config.passToParent(domParent)) {\n return domParent;\n }\n }\n return this.getSuitableParent(domParent);\n };\n return AbstractHandler;\n}());\nexport { AbstractHandler };\n","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { AbstractHandler } from './AbstractHandler';\nvar TextHandler = /** @class */ (function (_super) {\n __extends(TextHandler, _super);\n function TextHandler(properties, translationHighlighter, textService, nodeRegistrar) {\n var _this = _super.call(this, properties, textService, nodeRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.translationHighlighter = translationHighlighter;\n _this.textService = textService;\n _this.nodeRegistrar = nodeRegistrar;\n return _this;\n }\n TextHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var inputPrefix, inputSuffix, xPath, nodes, filtered;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n inputPrefix = this.properties.config.inputPrefix;\n inputSuffix = this.properties.config.inputSuffix;\n xPath = \"./descendant-or-self::text()[contains(., '\" + inputPrefix + \"') and contains(., '\" + inputSuffix + \"')]\";\n nodes = NodeHelper.evaluate(xPath, node);\n filtered = this.filterRestricted(nodes);\n return [4 /*yield*/, this.handleNodes(filtered)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return TextHandler;\n}(AbstractHandler));\nexport { TextHandler };\n","import { __awaiter, __extends, __generator, __read, __values } from \"tslib\";\nimport { AbstractHandler } from './AbstractHandler';\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar AttributeHandler = /** @class */ (function (_super) {\n __extends(AttributeHandler, _super);\n function AttributeHandler(properties, textService, elementRegistrar, translationHighlighter) {\n var _this = _super.call(this, properties, textService, elementRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.textService = textService;\n _this.elementRegistrar = elementRegistrar;\n _this.translationHighlighter = translationHighlighter;\n return _this;\n }\n AttributeHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var inputPrefix, inputSuffix, _a, _b, _c, tag, attributes, attributes_1, attributes_1_1, attribute, expression, nodes, e_1_1, e_2_1;\n var e_2, _d, e_1, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n inputPrefix = this.properties.config.inputPrefix;\n inputSuffix = this.properties.config.inputSuffix;\n _f.label = 1;\n case 1:\n _f.trys.push([1, 12, 13, 14]);\n _a = __values(Object.entries(this.properties.config.tagAttributes)), _b = _a.next();\n _f.label = 2;\n case 2:\n if (!!_b.done) return [3 /*break*/, 11];\n _c = __read(_b.value, 2), tag = _c[0], attributes = _c[1];\n _f.label = 3;\n case 3:\n _f.trys.push([3, 8, 9, 10]);\n attributes_1 = (e_1 = void 0, __values(attributes)), attributes_1_1 = attributes_1.next();\n _f.label = 4;\n case 4:\n if (!!attributes_1_1.done) return [3 /*break*/, 7];\n attribute = attributes_1_1.value;\n expression = \"descendant-or-self::\" + tag + \"/@\" + attribute + \"[contains(., '\" + inputPrefix + \"') and contains(., '\" + inputSuffix + \"')]\";\n nodes = NodeHelper.evaluate(expression, node);\n return [4 /*yield*/, this.handleNodes(nodes)];\n case 5:\n _f.sent();\n _f.label = 6;\n case 6:\n attributes_1_1 = attributes_1.next();\n return [3 /*break*/, 4];\n case 7: return [3 /*break*/, 10];\n case 8:\n e_1_1 = _f.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 10];\n case 9:\n try {\n if (attributes_1_1 && !attributes_1_1.done && (_e = attributes_1.return)) _e.call(attributes_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 10:\n _b = _a.next();\n return [3 /*break*/, 2];\n case 11: return [3 /*break*/, 14];\n case 12:\n e_2_1 = _f.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 14];\n case 13:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 14: return [2 /*return*/];\n }\n });\n });\n };\n return AttributeHandler;\n}(AbstractHandler));\nexport { AttributeHandler };\n","import { __awaiter, __generator, __values } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nvar CoreHandler = /** @class */ (function () {\n function CoreHandler(service, textHandler, eventService, properties, attributeHandler, textService, wrappedHandler) {\n this.service = service;\n this.textHandler = textHandler;\n this.eventService = eventService;\n this.properties = properties;\n this.attributeHandler = attributeHandler;\n this.textService = textService;\n this.wrappedHandler = wrappedHandler;\n if (typeof window !== 'undefined') {\n eventService.LANGUAGE_CHANGED.subscribe(this.refresh.bind(this));\n eventService.TRANSLATION_CHANGED.subscribe(this.refresh.bind(this));\n }\n }\n CoreHandler.prototype.handleSubtree = function (target) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.attributeHandler.handle(target)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.textHandler.handle(target)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.wrappedHandler.handle(target)];\n case 3:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n CoreHandler.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n var nodes, nodes_1, nodes_1_1, node, _a, _b, textNode, result, e_1_1, e_2_1;\n var e_2, _c, e_1, _d;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n nodes = NodeHelper.evaluate(\"//*[@_tolgee]\", this.properties.config.targetElement);\n _e.label = 1;\n case 1:\n _e.trys.push([1, 12, 13, 14]);\n nodes_1 = __values(nodes), nodes_1_1 = nodes_1.next();\n _e.label = 2;\n case 2:\n if (!!nodes_1_1.done) return [3 /*break*/, 11];\n node = nodes_1_1.value;\n _e.label = 3;\n case 3:\n _e.trys.push([3, 8, 9, 10]);\n _a = (e_1 = void 0, __values(node._tolgee.nodes)), _b = _a.next();\n _e.label = 4;\n case 4:\n if (!!_b.done) return [3 /*break*/, 7];\n textNode = _b.value;\n return [4 /*yield*/, this.textService.replace(textNode._tolgee.oldTextContent)];\n case 5:\n result = _e.sent();\n if (result) {\n textNode.textContent = result.text;\n }\n _e.label = 6;\n case 6:\n _b = _a.next();\n return [3 /*break*/, 4];\n case 7: return [3 /*break*/, 10];\n case 8:\n e_1_1 = _e.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 10];\n case 9:\n try {\n if (_b && !_b.done && (_d = _a.return)) _d.call(_a);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 10:\n nodes_1_1 = nodes_1.next();\n return [3 /*break*/, 2];\n case 11: return [3 /*break*/, 14];\n case 12:\n e_2_1 = _e.sent();\n e_2 = { error: e_2_1 };\n return [3 /*break*/, 14];\n case 13:\n try {\n if (nodes_1_1 && !nodes_1_1.done && (_c = nodes_1.return)) _c.call(nodes_1);\n }\n finally { if (e_2) throw e_2.error; }\n return [7 /*endfinally*/];\n case 14: return [2 /*return*/];\n }\n });\n });\n };\n return CoreHandler;\n}());\nexport { CoreHandler };\n","import { __awaiter, __generator, __values } from \"tslib\";\nvar Observer = /** @class */ (function () {\n function Observer(properties, coreHandler, basicTextHandler, attributeHandler, nodeRegistrar) {\n this.properties = properties;\n this.coreHandler = coreHandler;\n this.basicTextHandler = basicTextHandler;\n this.attributeHandler = attributeHandler;\n this.nodeRegistrar = nodeRegistrar;\n this._observer = undefined;\n }\n Object.defineProperty(Observer.prototype, \"observer\", {\n get: function () {\n var _this = this;\n if (!this._observer && typeof window !== 'undefined') {\n this._observer = new MutationObserver(function (mutationsList) { return __awaiter(_this, void 0, void 0, function () {\n var mutationsList_1, mutationsList_1_1, mutation, e_1_1;\n var e_1, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 9, 10, 11]);\n mutationsList_1 = __values(mutationsList), mutationsList_1_1 = mutationsList_1.next();\n _b.label = 1;\n case 1:\n if (!!mutationsList_1_1.done) return [3 /*break*/, 8];\n mutation = mutationsList_1_1.value;\n if (!(mutation.type === 'characterData')) return [3 /*break*/, 3];\n return [4 /*yield*/, this.basicTextHandler.handle(mutation.target)];\n case 2:\n _b.sent();\n return [3 /*break*/, 7];\n case 3:\n if (!(mutation.type === 'childList')) return [3 /*break*/, 5];\n return [4 /*yield*/, this.coreHandler.handleSubtree(mutation.target)];\n case 4:\n _b.sent();\n return [3 /*break*/, 7];\n case 5:\n if (!(mutation.type === 'attributes')) return [3 /*break*/, 7];\n return [4 /*yield*/, this.attributeHandler.handle(mutation.target)];\n case 6:\n _b.sent();\n _b.label = 7;\n case 7:\n mutationsList_1_1 = mutationsList_1.next();\n return [3 /*break*/, 1];\n case 8: return [3 /*break*/, 11];\n case 9:\n e_1_1 = _b.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 11];\n case 10:\n try {\n if (mutationsList_1_1 && !mutationsList_1_1.done && (_a = mutationsList_1.return)) _a.call(mutationsList_1);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 11:\n this.nodeRegistrar.refreshAll();\n return [2 /*return*/];\n }\n });\n }); });\n }\n return this._observer;\n },\n enumerable: false,\n configurable: true\n });\n Observer.prototype.observe = function () {\n if (!this.observer) {\n return;\n }\n this.observer.observe(this.properties.config.targetElement, {\n attributes: true,\n childList: true,\n subtree: true,\n characterData: true,\n });\n };\n Observer.prototype.stopObserving = function () {\n if (!this.observer) {\n return;\n }\n this.observer.disconnect();\n };\n return Observer;\n}());\nexport { Observer };\n","import { __awaiter, __generator } from \"tslib\";\nvar CoreService = /** @class */ (function () {\n function CoreService(properties, apiHttpService) {\n this.properties = properties;\n this.apiHttpService = apiHttpService;\n }\n CoreService.prototype.getLanguages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var languages, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.languagePromise instanceof Promise)) {\n this.languagePromise = this.apiHttpService.fetchJson(\"v2/projects/languages?size=1000\");\n }\n _a = Set.bind;\n return [4 /*yield*/, this.languagePromise];\n case 1:\n languages = new (_a.apply(Set, [void 0, (_b.sent())._embedded.languages.map(function (l) { return l.tag; })]))();\n this.properties.preferredLanguages = new Set(Array.from(this.properties.preferredLanguages).filter(function (l) {\n return languages.has(l);\n }));\n return [2 /*return*/, languages];\n }\n });\n });\n };\n CoreService.prototype.getLanguagesFull = function () {\n return __awaiter(this, void 0, void 0, function () {\n var languages;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.getLanguages();\n return [4 /*yield*/, this.languagePromise];\n case 1:\n languages = _a.sent();\n return [2 /*return*/, languages._embedded.languages];\n }\n });\n });\n };\n CoreService.prototype.getScopes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.apiHttpService.fetchJson(\"v2/api-keys/current\")];\n case 1: return [2 /*return*/, (_a.sent())\n .scopes];\n case 2:\n e_1 = _a.sent();\n // eslint-disable-next-line no-console\n console.error(e_1);\n // eslint-disable-next-line no-console\n console.error('Error getting scopes. Trying to switch to production mode!');\n this.properties.config.mode = 'production';\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n CoreService.prototype.isAuthorizedTo = function (scope) {\n return this.properties.scopes.indexOf(scope) > -1;\n };\n CoreService.prototype.checkScope = function (scope) {\n if (!this.isAuthorizedTo(scope)) {\n throw new Error(\"Api key not permitted to do this, please add 'translations.view' scope.\");\n }\n };\n return CoreService;\n}());\nexport { CoreService };\n","import { __awaiter, __extends, __generator } from \"tslib\";\nimport { NodeHelper } from '../helpers/NodeHelper';\nimport { AbstractHandler } from './AbstractHandler';\nimport { TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE } from '../Constants/Global';\nvar WrappedHandler = /** @class */ (function (_super) {\n __extends(WrappedHandler, _super);\n function WrappedHandler(properties, translationHighlighter, textService, elementRegistrar) {\n var _this = _super.call(this, properties, textService, elementRegistrar, translationHighlighter) || this;\n _this.properties = properties;\n _this.translationHighlighter = translationHighlighter;\n _this.textService = textService;\n _this.elementRegistrar = elementRegistrar;\n return _this;\n }\n WrappedHandler.prototype.handle = function (node) {\n return __awaiter(this, void 0, void 0, function () {\n var xPath, nodes, filtered;\n var _this = this;\n return __generator(this, function (_a) {\n xPath = \"./descendant-or-self::*[@\" + TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE + \"]\";\n nodes = NodeHelper.evaluate(xPath, node);\n filtered = this.filterRestricted(nodes);\n filtered.forEach(function (element) {\n var elementWithMeta = AbstractHandler.initParentElement(element);\n elementWithMeta._tolgee.wrappedWithElementOnlyKey = element.getAttribute(TOLGEE_WRAPPED_ONLY_DATA_ATTRIBUTE);\n elementWithMeta._tolgee.wrappedWithElementOnlyDefaultHtml =\n element.innerHTML;\n _this.elementRegistrar.register(elementWithMeta);\n });\n return [2 /*return*/];\n });\n });\n };\n return WrappedHandler;\n}(AbstractHandler));\nexport { WrappedHandler };\n","export var sleep = function (ms) {\n return new Promise(function (resolve) { return setTimeout(resolve, ms); });\n};\n","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { sleep } from '../helpers/sleep';\nvar PluginManager = /** @class */ (function () {\n function PluginManager(messages, properties, eventService, elementRegistrar, translationService) {\n var _this = this;\n this.messages = messages;\n this.properties = properties;\n this.eventService = eventService;\n this.elementRegistrar = elementRegistrar;\n this.translationService = translationService;\n this.handshakeSucceed = false;\n this.takeScreenshot = function (translationData) {\n return new Promise(function (resolve, reject) {\n _this.translationService\n .changeTranslations(translationData)\n .then(function (revertChange) { return __awaiter(_this, void 0, void 0, function () {\n var cancel_1, e_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n this.highlightAllByKey(translationData.key);\n return [4 /*yield*/, sleep(100)];\n case 1:\n _a.sent();\n this.messages.send('TOLGEE_TAKE_SCREENSHOT');\n cancel_1 = this.messages.listen('TOLGEE_SCREENSHOT_TAKEN', function (data) {\n _this.unhighlightAllByKey(translationData.key);\n resolve(data);\n revertChange();\n cancel_1();\n });\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n revertChange();\n reject(e_1);\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n reject(e);\n });\n });\n };\n this.handshake = function () {\n var sharedConfiguration = __assign(__assign({}, _this.properties), { config: __assign(__assign({}, _this.properties.config), { \n //remove properties, which cannot be sent by window.postMessage\n staticData: undefined, targetElement: undefined, _targetElement: undefined, ui: undefined }) });\n var timer = null;\n var ping = function () {\n _this.messages.send('TOLGEE_READY', sharedConfiguration);\n };\n var finish = function () {\n clearInterval(timer);\n };\n _this.messages.listen('TOLGEE_PLUGIN_READY', function () {\n _this.handshakeSucceed = true;\n _this.messages.send('TOLGEE_READY', sharedConfiguration);\n finish();\n });\n ping();\n // try ping 5 times as sometimes extension doesn't respond right away\n var counter = 0;\n timer = setInterval(function () {\n if (!_this.handshakeSucceed && counter < 5) {\n ping();\n counter += 1;\n }\n else {\n finish();\n }\n }, 200);\n };\n }\n PluginManager.prototype.run = function () {\n try {\n this.messages.startListening();\n this.handshake();\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.warn(e);\n // eslint-disable-next-line no-console\n console.warn('Can not start communication with browser plugin. Check waning above.');\n }\n };\n PluginManager.prototype.stop = function () {\n this.messages.stopListening();\n };\n PluginManager.prototype.highlightAllByKey = function (key) {\n this.elementRegistrar\n .findAllByKey(key)\n .forEach(function (el) { return el._tolgee.highlight(); });\n };\n PluginManager.prototype.unhighlightAllByKey = function (key) {\n this.elementRegistrar\n .findAllByKey(key)\n .forEach(function (el) { return el._tolgee.unhighlight(); });\n };\n return PluginManager;\n}());\nexport { PluginManager };\n","var Messages = /** @class */ (function () {\n function Messages() {\n var _this = this;\n this.listeners = [];\n this.startListening = function () {\n var receiveMessage = function (event) {\n if (event.source != window) {\n return;\n }\n _this.listeners.forEach(function (listener) {\n if (listener.type == event.data.type) {\n listener.callback(event.data.data);\n }\n });\n };\n window.addEventListener('message', receiveMessage, false);\n typeof _this._stopListening === 'function' && _this._stopListening();\n _this._stopListening = function () {\n window.removeEventListener('message', receiveMessage, false);\n };\n };\n this.listen = function (type, callback) {\n var listenerInfo = { type: type, callback: callback };\n _this.listeners.push(listenerInfo);\n // return callback to remove the listener\n return function () {\n _this.listeners.splice(_this.listeners.indexOf(listenerInfo), 1);\n };\n };\n this.send = function (type, data) {\n try {\n window.postMessage({ type: type, data: data }, window.origin);\n }\n catch (e) {\n // eslint-disable-next-line no-console\n console.warn('Cannot send message.', e);\n }\n };\n }\n Messages.prototype.stopListening = function () {\n this._stopListening();\n };\n return Messages;\n}());\nexport { Messages };\n","var HighlightFunctionsInitializer = /** @class */ (function () {\n function HighlightFunctionsInitializer(properties) {\n this.properties = properties;\n }\n HighlightFunctionsInitializer.prototype.initFunctions = function (element) {\n this.initHighlightFunction(element);\n this.initUnhighlightFunction(element);\n };\n HighlightFunctionsInitializer.prototype.initHighlightFunction = function (element) {\n var _this = this;\n element._tolgee.highlight = function () {\n element._tolgee.initialBackgroundColor = element.style.backgroundColor;\n element.style.backgroundColor = _this.properties.config.highlightColor;\n };\n };\n HighlightFunctionsInitializer.prototype.initUnhighlightFunction = function (element) {\n element._tolgee.unhighlight = function () {\n element.style.backgroundColor = element._tolgee.initialBackgroundColor;\n };\n };\n return HighlightFunctionsInitializer;\n}());\nexport { HighlightFunctionsInitializer };\n","import { __awaiter, __generator } from \"tslib\";\nvar ScreenshotService = /** @class */ (function () {\n function ScreenshotService(coreService, apiHttpService) {\n this.coreService = coreService;\n this.apiHttpService = apiHttpService;\n }\n ScreenshotService.prototype.uploadImage = function (blob) {\n return __awaiter(this, void 0, void 0, function () {\n var formData;\n return __generator(this, function (_a) {\n formData = new FormData();\n formData.append('image', blob);\n return [2 /*return*/, this.apiHttpService.postJson('v2/image-upload', undefined, {\n headers: {},\n body: formData,\n })];\n });\n });\n };\n ScreenshotService.prototype.deleteImages = function (ids) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.apiHttpService.post(\"v2/image-upload/\" + ids.join(','), undefined, {\n method: 'delete',\n })];\n });\n });\n };\n return ScreenshotService;\n}());\nexport { ScreenshotService };\n","import { Properties } from '../Properties';\nimport { EventService } from './EventService';\nimport { ApiHttpService } from './ApiHttpService';\nimport { TranslationService } from './TranslationService';\nimport { TextService } from './TextService';\nimport { MouseEventHandler } from '../highlighter/MouseEventHandler';\nimport { TranslationHighlighter } from '../highlighter/TranslationHighlighter';\nimport { ElementRegistrar } from './ElementRegistrar';\nimport { TextHandler } from '../handlers/TextHandler';\nimport { AttributeHandler } from '../handlers/AttributeHandler';\nimport { CoreHandler } from '../handlers/CoreHandler';\nimport { Observer } from '../Observer';\nimport { CoreService } from './CoreService';\nimport { TolgeeConfig } from '../TolgeeConfig';\nimport { WrappedHandler } from '../handlers/WrappedHandler';\nimport { PluginManager } from '../toolsManager/PluginManager';\nimport { Messages } from '../toolsManager/Messages';\nimport { HighlightFunctionsInitializer } from '../highlighter/HighlightFunctionsInitializer';\nimport { ScreenshotService } from './ScreenshotService';\nvar DependencyStore = /** @class */ (function () {\n function DependencyStore(config) {\n if (config === void 0) { config = new TolgeeConfig(); }\n this.properties = new Properties();\n this.eventService = new EventService();\n this.apiHttpService = new ApiHttpService(this.properties);\n this.mouseEventHandler = new MouseEventHandler(this.properties);\n this.coreService = new CoreService(this.properties, this.apiHttpService);\n this.screenshotService = new ScreenshotService(this.coreService, this.apiHttpService);\n this.translationService = new TranslationService(this.properties, this.coreService, this.apiHttpService, this.eventService);\n this.textService = new TextService(this.properties, this.translationService);\n this.highlightFunctionInitializer = new HighlightFunctionsInitializer(this.properties);\n this.translationHighlighter = new TranslationHighlighter(this);\n this.elementRegistrar = new ElementRegistrar(this.properties, this.translationHighlighter, this.eventService);\n this.textHandler = new TextHandler(this.properties, this.translationHighlighter, this.textService, this.elementRegistrar);\n this.attributeHandler = new AttributeHandler(this.properties, this.textService, this.elementRegistrar, this.translationHighlighter);\n this.wrappedHandler = new WrappedHandler(this.properties, this.translationHighlighter, this.textService, this.elementRegistrar);\n this.coreHandler = new CoreHandler(this.coreService, this.textHandler, this.eventService, this.properties, this.attributeHandler, this.textService, this.wrappedHandler);\n this.observer = new Observer(this.properties, this.coreHandler, this.textHandler, this.attributeHandler, this.elementRegistrar);\n this.messages = new Messages();\n this.pluginManager = new PluginManager(this.messages, this.properties, this.eventService, this.elementRegistrar, this.translationService);\n this.properties.config = config;\n this.translationService.initStatic();\n this.translationHighlighter.pluginManager = this.pluginManager;\n }\n return DependencyStore;\n}());\nexport { DependencyStore };\n","import { __awaiter, __generator } from \"tslib\";\nimport { TolgeeConfig } from './TolgeeConfig';\nimport { NodeHelper } from './helpers/NodeHelper';\nimport { DependencyStore } from './services/DependencyStore';\nvar Tolgee = /** @class */ (function () {\n function Tolgee(config) {\n var _this = this;\n this.stop = function () {\n _this.dependencyStore.observer.stopObserving();\n _this.dependencyStore.elementRegistrar.cleanAll();\n NodeHelper.unmarkElementAsTargetElement(_this.properties.config.targetElement);\n };\n this.dependencyStore = new DependencyStore(new TolgeeConfig(config));\n }\n Object.defineProperty(Tolgee.prototype, \"properties\", {\n get: function () {\n return this.dependencyStore.properties;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"translationService\", {\n get: function () {\n return this.dependencyStore.translationService;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"coreService\", {\n get: function () {\n return this.dependencyStore.coreService;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"lang\", {\n get: function () {\n return this.properties.currentLanguage;\n },\n set: function (value) {\n this.properties.currentLanguage = value;\n this.dependencyStore.eventService\n .LANGUAGE_CHANGED.emit(value);\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"defaultLanguage\", {\n get: function () {\n return this.properties.config.defaultLanguage;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onLangChange\", {\n get: function () {\n return this.dependencyStore.eventService.LANGUAGE_CHANGED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onTranslationChange\", {\n get: function () {\n return this.dependencyStore.eventService.TRANSLATION_CHANGED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"onLangLoaded\", {\n get: function () {\n return this.dependencyStore.eventService.LANGUAGE_LOADED;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Tolgee.prototype, \"initialLoading\", {\n /**\n * True if loading is needed to wait for Tolgee init.\n * When translation data are provided statically (using import\n * as staticData config property) then there is no need for translation\n * fetching so initial loading is not needed at all.\n */\n get: function () {\n var _a, _b, _c, _d;\n if (((_b = (_a = this.properties) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.mode) !== 'production') {\n return true;\n }\n var currentLang = this.properties.currentLanguage;\n var fallbackLang = this.properties.config.fallbackLanguage;\n var fallbackPreloading = this.properties.config.preloadFallback;\n var isStaticDataProvided = function (data) {\n return data !== undefined && typeof data !== 'function';\n };\n return (!isStaticDataProvided((_c = this.properties.config.staticData) === null || _c === void 0 ? void 0 : _c[currentLang]) ||\n (!!fallbackPreloading &&\n !isStaticDataProvided((_d = this.properties.config.staticData) === null || _d === void 0 ? void 0 : _d[fallbackLang])));\n },\n enumerable: false,\n configurable: true\n });\n Tolgee.prototype.run = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(this.properties.config.mode === 'development')) return [3 /*break*/, 2];\n return [4 /*yield*/, this.loadScopes()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [4 /*yield*/, this.translationService.loadTranslations()];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.dependencyStore.pluginManager.run()];\n case 4:\n _a.sent();\n if (!this.properties.config.preloadFallback) return [3 /*break*/, 6];\n return [4 /*yield*/, this.translationService.loadTranslations(this.properties.config.fallbackLanguage)];\n case 5:\n _a.sent();\n _a.label = 6;\n case 6: return [4 /*yield*/, this.refresh()];\n case 7:\n _a.sent();\n if (this.properties.config.watch) {\n this.dependencyStore.observer.observe();\n }\n return [2 /*return*/];\n }\n });\n });\n };\n Tolgee.prototype.refresh = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.dependencyStore.coreHandler.handleSubtree(this.properties.config.targetElement)];\n });\n });\n };\n Tolgee.prototype.translate = function (keyOrProps, params, noWrap, defaultValue) {\n if (params === void 0) { params = {}; }\n if (noWrap === void 0) { noWrap = false; }\n if (defaultValue === void 0) { defaultValue = undefined; }\n return __awaiter(this, void 0, void 0, function () {\n var key, orEmpty, props;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n key = typeof keyOrProps === 'string' ? keyOrProps : keyOrProps.key;\n orEmpty = undefined;\n if (typeof keyOrProps === 'object') {\n props = keyOrProps;\n // if values are not provided in props object, get them from function\n // params defaults\n params = props.params !== undefined ? props.params : params;\n noWrap = props.noWrap !== undefined ? props.noWrap : noWrap;\n defaultValue =\n props.defaultValue !== undefined ? props.defaultValue : defaultValue;\n orEmpty = props.orEmpty;\n }\n if (!(this.properties.config.mode === 'development' && !noWrap)) return [3 /*break*/, 3];\n return [4 /*yield*/, this.loadScopes()];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.translationService.loadTranslations()];\n case 2:\n _a.sent();\n return [2 /*return*/, this.dependencyStore.textService.wrap(key, params, defaultValue)];\n case 3: return [2 /*return*/, this.dependencyStore.textService.translate(key, params, undefined, orEmpty, defaultValue)];\n }\n });\n });\n };\n Tolgee.prototype.instant = function (keyOrProps, params, noWrap, orEmpty, defaultValue) {\n if (params === void 0) { params = {}; }\n if (noWrap === void 0) { noWrap = false; }\n var key = typeof keyOrProps === 'string' ? keyOrProps : keyOrProps.key;\n if (typeof keyOrProps === 'object') {\n var props = keyOrProps;\n // if values are not provided in props object, get them from function\n // params defaults\n params = props.params !== undefined ? props.params : params;\n noWrap = props.noWrap !== undefined ? props.noWrap : noWrap;\n defaultValue =\n props.defaultValue !== undefined ? props.defaultValue : defaultValue;\n orEmpty = props.orEmpty !== undefined ? props.orEmpty : orEmpty;\n }\n if (this.properties.config.mode === 'development' && !noWrap) {\n return this.dependencyStore.textService.wrap(key, params, defaultValue);\n }\n return this.dependencyStore.textService.instant(key, params, undefined, orEmpty, defaultValue);\n };\n Tolgee.prototype.loadScopes = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(this.properties.scopes === undefined)) return [3 /*break*/, 2];\n _a = this.properties;\n return [4 /*yield*/, this.dependencyStore.coreService.getScopes()];\n case 1:\n _a.scopes =\n _b.sent();\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n return Tolgee;\n}());\nexport { Tolgee };\nexport default Tolgee;\n"],"names":["ModifierKey","IntlMessageFormat"],"mappings":"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MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,SAAS,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,CAAC;AACpC,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,CAAC,KAAK,MAAM;AACpB,QAAQ,C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"}