{"version":3,"file":"RegionSelect-4631e362.js","names":["define","Moduler","create","defaults","cookieTimeout","buttonSelector","dropdownSelector","closeButtonSelector","triggerOnDropdownChange","ignoreFirstItem","regionPickerSelector","init","self","this","dropdown","el","querySelector","options","closeButton","addEventListener","e","target","matches","setCookieAndGo","getAttribute","href","preventDefault","button","triggerChange","parentNode","removeChild","params","window","location","search","split","paramsArr","i","length","selectedIndex","region","value","go","setRegionCookie","regionId","expirationInSeconds","expires","d","Date","setTime","getTime","toUTCString","document","cookie"],"sources":["RegionSelect.js"],"mappings":"AAAAA,OAAO,CAAC,YAAY,SAAUC,GAC1B,aAEA,OAAOA,EAAQC,OAAO,CAClBC,SAAU,CACNC,cAAe,OACfC,eAAgB,2BAChBC,iBAAkB,qBAClBC,oBAAqB,0BACrBC,yBAAyB,EACzBC,iBAAiB,EACjBC,qBAAsB,MAG1BC,KAAM,WACF,IAAIC,EAAOC,KAEXD,EAAKE,SAAWF,EAAKG,GAAGC,cAAcJ,EAAKK,QAAQX,kBACnDM,EAAKM,YAAcN,EAAKG,GAAGC,cAAcJ,EAAKK,QAAQV,qBAEb,MAArCK,EAAKK,QAAQP,sBACbE,EAAKG,GAAGI,iBAAiB,SAAS,SAAUC,GACpCA,EAAEC,OAAOC,QAAQV,EAAKK,QAAQP,wBAC9BE,EAAKW,eAAeH,EAAEC,OAAOG,aAAa,eAAgBJ,EAAEC,OAAOI,MAAQL,EAAEC,OAAOG,aAAa,aACjGJ,EAAEM,iBAEV,IAGJ,IAAIC,EAASf,EAAKG,GAAGC,cAAcJ,EAAKK,QAAQZ,gBAC5CsB,GACAA,EAAOR,iBAAiB,SAAS,SAAUC,GACvCR,EAAKgB,cAAchB,EACvB,IAGAA,EAAKE,UAAYF,EAAKK,QAAQT,yBAC9BI,EAAKE,SAASK,iBAAiB,UAAU,SAAUC,GAC/CR,EAAKgB,cAAchB,EACvB,IAGAA,EAAKM,aACLN,EAAKM,YAAYC,iBAAiB,SAAS,SAAUC,GAGjD,OAFAR,EAAKW,eAAeV,KAAKW,aAAa,eAAgB,MACtDZ,EAAKG,GAAGc,WAAWC,YAAYlB,EAAKG,KAC7B,CACX,IAGJ,IAAIgB,EAASC,OAAOC,SAASC,OAAOC,MAAM,KAAK,GAC/C,GAAIvB,EAAKM,aAAea,EAEpB,IADA,IAAIK,EAAYL,EAAOI,MAAM,KACpBE,EAAID,EAAUE,OAAS,EAAGD,GAAK,EAAGA,GAAK,EAAG,CAE/C,GAAiB,cADLD,EAAUC,GAAGF,MAAM,KACrB,GAAoB,CAC1BvB,EAAKW,eAAeX,EAAKM,YAAYM,aAAa,eAAgB,MAClEZ,EAAKG,GAAGc,WAAWC,YAAYlB,EAAKG,IACpC,KACJ,CACJ,CAER,EAEAa,cAAe,SAAUhB,GACrB,GAAIA,EAAKK,QAAQR,iBAAkD,GAA/BG,EAAKE,SAASyB,cAC9C,OAAO,EAEX,IAAIC,EAAS5B,EAAKE,SAASG,QAAQL,EAAKE,SAASyB,eAEjD,OADA3B,EAAKW,eAAeiB,EAAOhB,aAAa,eAAgBgB,EAAOC,QACxD,CACX,EAEAlB,eAAgB,SAAUiB,EAAQE,GACnB7B,KACN8B,gBAAgBH,EADV3B,KACuBI,QAAQb,eACtCsC,IACAT,SAASR,KAAOiB,EAExB,EAEAC,gBAAiB,SAAUC,EAAUC,GACjC,IAAIC,EAAU,GACd,GAAID,EAAsB,EAAG,CACzB,IAAIE,EAAI,IAAIC,KACZD,EAAEE,QAAQF,EAAEG,UAAkC,IAAtBL,GACxBC,EAAU,YAAcC,EAAEI,aAC9B,CACAC,SAASC,OAAS,UAAYT,EAAWE,EAAU,yBACvD,GAER","sourcesContent":["define(['moduler'], function (Moduler) {\r\n 'use strict';\r\n\r\n return Moduler.create({\r\n defaults: {\r\n cookieTimeout: 60 * 60 * 24 * 30,\r\n buttonSelector: '.js-chooseRegionSelector',\r\n dropdownSelector: '.js-regionSelector',\r\n closeButtonSelector: '.js-closeRegionSelector',\r\n triggerOnDropdownChange: false,\r\n ignoreFirstItem: true,\r\n regionPickerSelector: null\r\n },\r\n\r\n init: function () {\r\n var self = this;\r\n\r\n self.dropdown = self.el.querySelector(self.options.dropdownSelector);\r\n self.closeButton = self.el.querySelector(self.options.closeButtonSelector);\r\n\r\n if (self.options.regionPickerSelector != null) {\r\n self.el.addEventListener('click', function (e) {\r\n if (e.target.matches(self.options.regionPickerSelector)) {\r\n self.setCookieAndGo(e.target.getAttribute('data-region'), e.target.href ?? e.target.getAttribute('data-url'));\r\n e.preventDefault();\r\n }\r\n })\r\n }\r\n\r\n var button = self.el.querySelector(self.options.buttonSelector);\r\n if (button) {\r\n button.addEventListener('click', function (e) {\r\n self.triggerChange(self);\r\n });\r\n }\r\n\r\n if (self.dropdown && self.options.triggerOnDropdownChange) {\r\n self.dropdown.addEventListener('change', function (e) {\r\n self.triggerChange(self);\r\n });\r\n }\r\n\r\n if (self.closeButton) {\r\n self.closeButton.addEventListener('click', function (e) {\r\n self.setCookieAndGo(this.getAttribute('data-region'), null);\r\n self.el.parentNode.removeChild(self.el);\r\n return false;\r\n });\r\n }\r\n\r\n var params = window.location.search.split(\"?\")[1];\r\n if (self.closeButton && params) {\r\n var paramsArr = params.split('&');\r\n for (var i = paramsArr.length - 1; i >= 0; i -= 1) {\r\n var parts = paramsArr[i].split(\"=\");\r\n if (parts[0] === 'setregion') {\r\n self.setCookieAndGo(self.closeButton.getAttribute('data-region'), null);\r\n self.el.parentNode.removeChild(self.el);\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n\r\n triggerChange: function (self) {\r\n if (self.options.ignoreFirstItem && self.dropdown.selectedIndex == 0) {\r\n return false;\r\n }\r\n var region = self.dropdown.options[self.dropdown.selectedIndex];\r\n self.setCookieAndGo(region.getAttribute('data-region'), region.value);\r\n return false;\r\n },\r\n\r\n setCookieAndGo: function (region, go) {\r\n var self = this;\r\n self.setRegionCookie(region, self.options.cookieTimeout);\r\n if (go) {\r\n location.href = go;\r\n }\r\n },\r\n\r\n setRegionCookie: function (regionId, expirationInSeconds) {\r\n var expires = \"\";\r\n if (expirationInSeconds > 0) {\r\n var d = new Date();\r\n d.setTime(d.getTime() + expirationInSeconds * 1000);\r\n expires = \";expires=\" + d.toUTCString();\r\n }\r\n document.cookie = \"region=\" + regionId + expires + ';SameSite=Strict;path=/';\r\n }\r\n });\r\n});"]}