{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/global-scripts/lang-selector.ts","webpack:///external \"jQuery\""],"names":["window","LanguageSelector","opts","cookieName","cookieExpire","cookieDomain","languageSelectorClass","init","langSelectorToggle","$","langSelector","loadedLocale","LANG_STRINGS","toLowerCase","savedLocale","getCookieLocale","firstUrlSegment","getFirstUrlSegment","location","replace","setListeners","_this","click","e","preventDefault","toggleClass","scrollTop","$target","target","is","closest","length","removeClass","locale","currentTarget","data","setCookieLocale","pathArray","pathname","split","undefined","Cookies","get","value","set","expires"],"mappings":";QAAA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA,QAAQ,oBAAoB;QAC5B;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA,iBAAiB,4BAA4B;QAC7C;QACA;QACA,kBAAkB,2BAA2B;QAC7C;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;;QAEA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;QAEA;QACA;QACA;QACA;QACA,gBAAgB,uBAAuB;QACvC;;;QAGA;QACA;QACA;QACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvJgC;AACT;AAGvB;AACCA,MAAc,CAACC,gBAAgB,GAAG;EACjCC,IAAI,EAAE;IACJC,UAAU,EAAE,gBAAgB;IAC5BC,YAAY,EAAE,GAAG,GAAG,EAAE;IACtBC,YAAY,EAAE,EAAE;IAChBC,qBAAqB,EAAE;GACxB;EAEDC,IAAI,EAAE,SAAAA,KAAA;IACJ,IAAI,CAACC,kBAAkB,GAAGC,6CAAC,CAAC,2BAA2B,CAAC;IACxD,IAAI,CAACC,YAAY,GAAGD,6CAAC,CAAC,IAAI,CAACP,IAAI,CAACI,qBAAqB,CAAC;IAEtD;IACA,IAAMK,YAAY,GAAIX,MAAc,CAACY,YAAY,CAAC,QAAQ,CAAC,CAACC,WAAW,EAAE;IAEzE,IAAMC,WAAW,GAAG,IAAI,CAACC,eAAe,EAAE;IAC1C,IAAMC,eAAe,GAAG,IAAI,CAACC,kBAAkB,EAAE,CAACJ,WAAW,EAAE;IAE/D;IACA,IAAIF,YAAY,KAAKK,eAAe,EAAE;MACpC,IAAIF,WAAW,EAAE;QACfd,MAAM,CAACkB,QAAQ,CAACC,OAAO,CAAC,GAAG,GAAGL,WAAW,GAAG,GAAG,CAAC;OACjD,MAAM;QACLd,MAAM,CAACkB,QAAQ,CAACC,OAAO,CAAC,GAAG,GAAGR,YAAY,GAAG,GAAG,CAAC;;;IAIrD,IAAI,CAACS,YAAY,EAAE;EACrB,CAAC;EAEDA,YAAY,EAAE,SAAAA,aAAA;IAAA,IAAAC,KAAA;IACZ,IAAI,CAACb,kBAAkB,CAACc,KAAK,CAAC,UAACC,CAAa;MAC1CA,CAAC,CAACC,cAAc,EAAE;MAClBH,KAAI,CAACX,YAAY,CAACe,WAAW,CAAC,MAAM,CAAC;MACrChB,6CAAC,CAAC,gBAAgB,CAAC,CAACiB,SAAS,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IAEFjB,6CAAC,CAAC,MAAM,CAAC,CAACa,KAAK,CAAC,UAACC,CAAC;MAChB,IAAMI,OAAO,GAAGlB,6CAAC,CAACc,CAAC,CAACK,MAAM,CAAC;MAC3B,IAAI,CAACD,OAAO,CAACE,EAAE,CAACR,KAAI,CAACX,YAAY,CAAC,IAAI,CAACiB,OAAO,CAACG,OAAO,CAACT,KAAI,CAACnB,IAAI,CAACI,qBAAqB,CAAC,CAACyB,MAAM,EAAE;QAC9FV,KAAI,CAACX,YAAY,CAACsB,WAAW,CAAC,MAAM,CAAC;;IAEzC,CAAC,CAAC;IAEFvB,6CAAC,CAAC,WAAW,CAAC,CAACa,KAAK,CAAC,UAACC,CAAC;MACrBA,CAAC,CAACC,cAAc,EAAE;MAElB,IAAMS,MAAM,GAAGxB,6CAAC,CAACc,CAAC,CAACW,aAAa,CAAC,CAACC,IAAI,CAAC,QAAQ,CAAC;MAChDd,KAAI,CAACe,eAAe,CAACH,MAAM,CAAC;MAE5BjC,MAAM,CAACkB,QAAQ,CAACC,OAAO,CAAC,GAAG,GAAGc,MAAM,GAAG,GAAG,CAAC;IAC7C,CAAC,CAAC;EACJ,CAAC;EAEDhB,kBAAkB,EAAE,SAAAA,mBAAA;IAClB,IAAMoB,SAAS,GAAGrC,MAAM,CAACkB,QAAQ,CAACoB,QAAQ,CAACC,KAAK,CAAC,GAAG,CAAC;IACrD,OAAOF,SAAS,CAACN,MAAM,IAAI,CAAC,GAAGM,SAAS,CAAC,CAAC,CAAC,GAAGG,SAAS;EACzD,CAAC;EAEDzB,eAAe,EAAE,SAAAA,gBAAA;IACf,OAAO0B,gDAAO,CAACC,GAAG,CAAC,IAAI,CAACxC,IAAI,CAACC,UAAU,CAAC;EAC1C,CAAC;EAEDiC,eAAe,EAAE,SAAAA,gBAAUO,KAAa;IACtC;IACAF,gDAAO,CAACG,GAAG,CAAC,IAAI,CAAC1C,IAAI,CAACC,UAAU,EAAEwC,KAAK,EAAE;MACvCE,OAAO,EAAE,IAAI,CAAC3C,IAAI,CAACE;KACpB,CAAC;EACJ;CACD;AAEDK,6CAAC,CAAC;EACA;EACA,IAAKT,MAAc,CAACY,YAAY,EAAE;IAChC;IACCZ,MAAc,CAACC,gBAAgB,CAACM,IAAI,EAAE;;AAE3C,CAAC,CAAC,C;;;;;;;AClFF,wB","file":"js/lang-selector.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"lang-selector\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1,\"chunk-vendors\",\"chunk-common\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import Cookies from \"js-cookie\";\r\nimport $ from \"jquery\";\r\nimport ClickEvent = JQuery.ClickEvent;\r\n\r\n/* eslint-disable-next-line */\r\n(window as any).LanguageSelector = {\r\n opts: {\r\n cookieName: \"current-locale\",\r\n cookieExpire: 365 * 10,\r\n cookieDomain: \"\",\r\n languageSelectorClass: \".language-selector\",\r\n },\r\n\r\n init: function () {\r\n this.langSelectorToggle = $(\"#language-selector-toggle\");\r\n this.langSelector = $(this.opts.languageSelectorClass);\r\n\r\n /* eslint-disable-next-line */\r\n const loadedLocale = (window as any).LANG_STRINGS[\"locale\"].toLowerCase();\r\n\r\n const savedLocale = this.getCookieLocale();\r\n const firstUrlSegment = this.getFirstUrlSegment().toLowerCase();\r\n\r\n // This means the default locale was loaded because locale in url is missing or invalid\r\n if (loadedLocale !== firstUrlSegment) {\r\n if (savedLocale) {\r\n window.location.replace(\"/\" + savedLocale + \"/\");\r\n } else {\r\n window.location.replace(\"/\" + loadedLocale + \"/\");\r\n }\r\n }\r\n\r\n this.setListeners();\r\n },\r\n\r\n setListeners: function () {\r\n this.langSelectorToggle.click((e: ClickEvent) => {\r\n e.preventDefault();\r\n this.langSelector.toggleClass(\"open\");\r\n $(\".language-list\").scrollTop(0);\r\n });\r\n\r\n $(\"body\").click((e) => {\r\n const $target = $(e.target);\r\n if (!$target.is(this.langSelector) && !$target.closest(this.opts.languageSelectorClass).length) {\r\n this.langSelector.removeClass(\"open\");\r\n }\r\n });\r\n\r\n $(\".language\").click((e) => {\r\n e.preventDefault();\r\n\r\n const locale = $(e.currentTarget).data(\"locale\");\r\n this.setCookieLocale(locale);\r\n\r\n window.location.replace(\"/\" + locale + \"/\");\r\n });\r\n },\r\n\r\n getFirstUrlSegment: function () {\r\n const pathArray = window.location.pathname.split(\"/\");\r\n return pathArray.length >= 2 ? pathArray[1] : undefined;\r\n },\r\n\r\n getCookieLocale: function () {\r\n return Cookies.get(this.opts.cookieName);\r\n },\r\n\r\n setCookieLocale: function (value: string) {\r\n // Set \"site default\" cookie to global value\r\n Cookies.set(this.opts.cookieName, value, {\r\n expires: this.opts.cookieExpire,\r\n });\r\n },\r\n};\r\n\r\n$(function () {\r\n /* eslint-disable-next-line */\r\n if ((window as any).LANG_STRINGS) {\r\n /* eslint-disable-next-line */\r\n (window as any).LanguageSelector.init();\r\n }\r\n});\r\n","module.exports = jQuery;"],"sourceRoot":""}