{"version":3,"file":"wtg-common.mjs","mappings":"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","sources":["webpack://http:///../../../../node_modules/sprintf-js/src/sprintf.js","webpack://http:///webpack/bootstrap","webpack://http:///webpack/runtime/define property getters","webpack://http:///webpack/runtime/hasOwnProperty shorthand","webpack://http:///./wtg-common.mjs"],"sourcesContent":["/* global window, exports, define */\n\n!function() {\n    'use strict'\n\n    var re = {\n        not_string: /[^s]/,\n        not_bool: /[^t]/,\n        not_type: /[^T]/,\n        not_primitive: /[^v]/,\n        number: /[diefg]/,\n        numeric_arg: /[bcdiefguxX]/,\n        json: /[j]/,\n        not_json: /[^j]/,\n        text: /^[^\\x25]+/,\n        modulo: /^\\x25{2}/,\n        placeholder: /^\\x25(?:([1-9]\\d*)\\$|\\(([^)]+)\\))?(\\+)?(0|'[^$])?(-)?(\\d+)?(?:\\.(\\d+))?([b-gijostTuvxX])/,\n        key: /^([a-z_][a-z_\\d]*)/i,\n        key_access: /^\\.([a-z_][a-z_\\d]*)/i,\n        index_access: /^\\[(\\d+)\\]/,\n        sign: /^[+-]/\n    }\n\n    function sprintf(key) {\n        // `arguments` is not an array, but should be fine for this call\n        return sprintf_format(sprintf_parse(key), arguments)\n    }\n\n    function vsprintf(fmt, argv) {\n        return sprintf.apply(null, [fmt].concat(argv || []))\n    }\n\n    function sprintf_format(parse_tree, argv) {\n        var cursor = 1, tree_length = parse_tree.length, arg, output = '', i, k, ph, pad, pad_character, pad_length, is_positive, sign\n        for (i = 0; i < tree_length; i++) {\n            if (typeof parse_tree[i] === 'string') {\n                output += parse_tree[i]\n            }\n            else if (typeof parse_tree[i] === 'object') {\n                ph = parse_tree[i] // convenience purposes only\n                if (ph.keys) { // keyword argument\n                    arg = argv[cursor]\n                    for (k = 0; k < ph.keys.length; k++) {\n                        if (arg == undefined) {\n                            throw new Error(sprintf('[sprintf] Cannot access property \"%s\" of undefined value \"%s\"', ph.keys[k], ph.keys[k-1]))\n                        }\n                        arg = arg[ph.keys[k]]\n                    }\n                }\n                else if (ph.param_no) { // positional argument (explicit)\n                    arg = argv[ph.param_no]\n                }\n                else { // positional argument (implicit)\n                    arg = argv[cursor++]\n                }\n\n                if (re.not_type.test(ph.type) && re.not_primitive.test(ph.type) && arg instanceof Function) {\n                    arg = arg()\n                }\n\n                if (re.numeric_arg.test(ph.type) && (typeof arg !== 'number' && isNaN(arg))) {\n                    throw new TypeError(sprintf('[sprintf] expecting number but found %T', arg))\n                }\n\n                if (re.number.test(ph.type)) {\n                    is_positive = arg >= 0\n                }\n\n                switch (ph.type) {\n                    case 'b':\n                        arg = parseInt(arg, 10).toString(2)\n                        break\n                    case 'c':\n                        arg = String.fromCharCode(parseInt(arg, 10))\n                        break\n                    case 'd':\n                    case 'i':\n                        arg = parseInt(arg, 10)\n                        break\n                    case 'j':\n                        arg = JSON.stringify(arg, null, ph.width ? parseInt(ph.width) : 0)\n                        break\n                    case 'e':\n                        arg = ph.precision ? parseFloat(arg).toExponential(ph.precision) : parseFloat(arg).toExponential()\n                        break\n                    case 'f':\n                        arg = ph.precision ? parseFloat(arg).toFixed(ph.precision) : parseFloat(arg)\n                        break\n                    case 'g':\n                        arg = ph.precision ? String(Number(arg.toPrecision(ph.precision))) : parseFloat(arg)\n                        break\n                    case 'o':\n                        arg = (parseInt(arg, 10) >>> 0).toString(8)\n                        break\n                    case 's':\n                        arg = String(arg)\n                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n                        break\n                    case 't':\n                        arg = String(!!arg)\n                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n                        break\n                    case 'T':\n                        arg = Object.prototype.toString.call(arg).slice(8, -1).toLowerCase()\n                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n                        break\n                    case 'u':\n                        arg = parseInt(arg, 10) >>> 0\n                        break\n                    case 'v':\n                        arg = arg.valueOf()\n                        arg = (ph.precision ? arg.substring(0, ph.precision) : arg)\n                        break\n                    case 'x':\n                        arg = (parseInt(arg, 10) >>> 0).toString(16)\n                        break\n                    case 'X':\n                        arg = (parseInt(arg, 10) >>> 0).toString(16).toUpperCase()\n                        break\n                }\n                if (re.json.test(ph.type)) {\n                    output += arg\n                }\n                else {\n                    if (re.number.test(ph.type) && (!is_positive || ph.sign)) {\n                        sign = is_positive ? '+' : '-'\n                        arg = arg.toString().replace(re.sign, '')\n                    }\n                    else {\n                        sign = ''\n                    }\n                    pad_character = ph.pad_char ? ph.pad_char === '0' ? '0' : ph.pad_char.charAt(1) : ' '\n                    pad_length = ph.width - (sign + arg).length\n                    pad = ph.width ? (pad_length > 0 ? pad_character.repeat(pad_length) : '') : ''\n                    output += ph.align ? sign + arg + pad : (pad_character === '0' ? sign + pad + arg : pad + sign + arg)\n                }\n            }\n        }\n        return output\n    }\n\n    var sprintf_cache = Object.create(null)\n\n    function sprintf_parse(fmt) {\n        if (sprintf_cache[fmt]) {\n            return sprintf_cache[fmt]\n        }\n\n        var _fmt = fmt, match, parse_tree = [], arg_names = 0\n        while (_fmt) {\n            if ((match = re.text.exec(_fmt)) !== null) {\n                parse_tree.push(match[0])\n            }\n            else if ((match = re.modulo.exec(_fmt)) !== null) {\n                parse_tree.push('%')\n            }\n            else if ((match = re.placeholder.exec(_fmt)) !== null) {\n                if (match[2]) {\n                    arg_names |= 1\n                    var field_list = [], replacement_field = match[2], field_match = []\n                    if ((field_match = re.key.exec(replacement_field)) !== null) {\n                        field_list.push(field_match[1])\n                        while ((replacement_field = replacement_field.substring(field_match[0].length)) !== '') {\n                            if ((field_match = re.key_access.exec(replacement_field)) !== null) {\n                                field_list.push(field_match[1])\n                            }\n                            else if ((field_match = re.index_access.exec(replacement_field)) !== null) {\n                                field_list.push(field_match[1])\n                            }\n                            else {\n                                throw new SyntaxError('[sprintf] failed to parse named argument key')\n                            }\n                        }\n                    }\n                    else {\n                        throw new SyntaxError('[sprintf] failed to parse named argument key')\n                    }\n                    match[2] = field_list\n                }\n                else {\n                    arg_names |= 2\n                }\n                if (arg_names === 3) {\n                    throw new Error('[sprintf] mixing positional and named placeholders is not (yet) supported')\n                }\n\n                parse_tree.push(\n                    {\n                        placeholder: match[0],\n                        param_no:    match[1],\n                        keys:        match[2],\n                        sign:        match[3],\n                        pad_char:    match[4],\n                        align:       match[5],\n                        width:       match[6],\n                        precision:   match[7],\n                        type:        match[8]\n                    }\n                )\n            }\n            else {\n                throw new SyntaxError('[sprintf] unexpected placeholder')\n            }\n            _fmt = _fmt.substring(match[0].length)\n        }\n        return sprintf_cache[fmt] = parse_tree\n    }\n\n    /**\n     * export to either browser or node.js\n     */\n    /* eslint-disable quote-props */\n    if (typeof exports !== 'undefined') {\n        exports['sprintf'] = sprintf\n        exports['vsprintf'] = vsprintf\n    }\n    if (typeof window !== 'undefined') {\n        window['sprintf'] = sprintf\n        window['vsprintf'] = vsprintf\n\n        if (typeof define === 'function' && define['amd']) {\n            define(function() {\n                return {\n                    'sprintf': sprintf,\n                    'vsprintf': vsprintf\n                }\n            })\n        }\n    }\n    /* eslint-enable quote-props */\n}(); // eslint-disable-line\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","import {vsprintf} from \"sprintf-js\";\n\nconst ua = navigator.userAgent;\n\nexport function getBody() {\n    return document.getElementsByTagName('body')[0];\n}\n\nexport function getScrollY() {\n    return parseInt(window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop || 0);\n}\n\nexport function getScrollX() {\n    return parseInt(window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft || 0);\n}\n\nexport function getClientWidth() {\n    return window.innerWidth || document.documentElement.clientWidth || utils.getBody().clientWidth;\n}\n\nexport function getClientHeight() {\n    return window.innerHeight || document.documentElement.clientHeight || utils.getBody().clientHeight;\n}\n\nexport function getKeyCode(event) {\n    return event.keyCode || event.which;\n}\n\nexport function getKey(event) {\n    switch (getKeyCode(event)) {\n        case  8:\n            return \"Backspace\";\n        case  9:\n            return \"Tab\";\n        case 13:\n            return \"Enter\";\n        case 17:\n            return \"Control\";\n        case 18:\n            return \"Alt\";\n        case 27:\n            return \"Escape\";\n        case 32:\n            return \" \";\n        case 37:\n            return \"ArrowLeft\";\n        case 38:\n            return \"ArrowUp\";\n        case 39:\n            return \"ArrowRight\";\n        case 40:\n            return \"ArrowDown\";\n        default:\n            return \"\";\n    }\n}\n\nexport function svgExistsInSprite(id) {\n    return 'svgMap' in window && window['svgMap'][id] !== undefined;\n}\n\nexport function svgSprite(id, className) {\n    if (!svgExistsInSprite(id)) {\n        return \"\";\n    }\n    const svgPath = window['svgMap'][id];\n    const symbol = svgPath + '#svg-' + id + '-root';\n    const classNames = ['svg', `-${id}`, className].filter((el) => typeof el !== \"undefined\");\n    return `<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" class=\"${classNames.join(' ')}\"><use xlink:href=\"${symbol}\" /></svg>`;\n}\n\nexport function isVisible(el) {\n    const rect = el.getBoundingClientRect();\n    const windowHeight = (window.innerHeight || document.documentElement.clientHeight);\n    const windowWidth = (window.innerWidth || document.documentElement.clientWidth);\n    // http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap\n    const vertInView = (rect.top <= windowHeight) && ((rect.top + rect.height) >= 0);\n    const horInView = (rect.left <= windowWidth) && ((rect.left + rect.width) >= 0);\n    return (vertInView && horInView);\n}\n\n/**\n * @see https://stackoverflow.com/questions/4872380/uniqid-in-javascript-jquery\n * @returns {string}\n */\nexport function uniqid(a = \"\", b = false)  {\n    const c = Date.now()/1000;\n    let d = c.toString(16).split(\".\").join(\"\");\n    while (d.length < 14) {\n        d += \"0\";\n    }\n    const e = b ? `.${Math.round(Math.random()*100000000)}` : \"\";\n    return a + d + e;\n}\n\nexport function translator(labels) {\n    const warn = !('applicationContext' in window) || window.applicationContext.toLowerCase().indexOf(\"static\") === -1;\n    return function translate(key, packageName, args, fallback = null) {\n        if (typeof labels[packageName] === \"undefined\") {\n            warn && console.warn(`requested package ${packageName} not found in given labels store (requested key ${key})`);\n            return fallback || key;\n        }\n        if (typeof labels[packageName][key] === \"undefined\") {\n            warn && console.warn(`requested key ${key} of package ${packageName} not found given labels store`);\n            return fallback || key;\n        }\n        return vsprintf(labels[packageName][key], args);\n    }\n}\n\n/**\n * @see https://stackoverflow.com/questions/27936772/how-to-deep-merge-instead-of-shallow-merge\n */\nexport function mergeDeep(...objects) {\n    const isObject = obj => obj && typeof obj === 'object';\n    return objects.reduce((prev, obj) => {\n        Object.keys(obj).forEach(key => {\n            const pVal = prev[key];\n            const oVal = obj[key];\n\n            if (Array.isArray(pVal) && Array.isArray(oVal)) {\n                prev[key] = pVal.concat(...oVal);\n            }\n            else if (isObject(pVal) && isObject(oVal)) {\n                prev[key] = mergeDeep(pVal, oVal);\n            }\n            else {\n                prev[key] = oVal;\n            }\n        });\n\n        return prev;\n    }, {});\n}\n"],"names":["re","not_string","not_bool","not_type","not_primitive","number","numeric_arg","json","not_json","text","modulo","placeholder","key","key_access","index_access","sign","sprintf","parse_tree","argv","arg","i","k","ph","pad","pad_character","pad_length","is_positive","cursor","tree_length","length","output","keys","undefined","Error","param_no","test","type","Function","isNaN","TypeError","parseInt","toString","String","fromCharCode","JSON","stringify","width","precision","parseFloat","toExponential","toFixed","Number","toPrecision","substring","Object","prototype","call","slice","toLowerCase","valueOf","toUpperCase","replace","pad_char","charAt","repeat","align","sprintf_format","fmt","sprintf_cache","match","_fmt","arg_names","exec","push","SyntaxError","field_list","replacement_field","field_match","sprintf_parse","arguments","vsprintf","apply","concat","create","exports","window","define","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","hasOwnProperty","navigator","userAgent","getBody","document","getElementsByTagName","getScrollY","pageYOffset","body","scrollTop","documentElement","getScrollX","pageXOffset","scrollLeft","getClientWidth","innerWidth","clientWidth","utils","getClientHeight","innerHeight","clientHeight","getKeyCode","event","keyCode","which","getKey","svgExistsInSprite","id","svgSprite","className","symbol","filter","el","join","isVisible","rect","getBoundingClientRect","windowHeight","windowWidth","vertInView","top","height","horInView","left","uniqid","a","b","Date","now","split","Math","round","random","translator","labels","warn","applicationContext","indexOf","packageName","args","fallback","console","mergeDeep","objects","isObject","reduce","prev","forEach","pVal","oVal","Array","isArray"],"sourceRoot":""}