{"version":3,"sources":["webpack:///./assets/javascripts/modules/utils/Environment.js","webpack:///./node_modules/js-cookie/src/js.cookie.js","webpack:///./assets/javascripts/modules/components/mixins/ModalMixinComponent.js","webpack:///./assets/javascripts/modules/components/FidelityPopupComponent.js","webpack:///./assets/javascripts/modules/components/NewsletterPopupComponent.js"],"names":["$","__webpack_require__","d","__webpack_exports__","IS_EGON_VALIDATION","IS_EGON_VALIDATION__ZIP_BASED","IS_PRIVACY_PAGE","IS_VERIFALIA_VALIDATION","IS_AMAZON_PAY_ENABLED","IS_AMAZON_PAY_V2","$html","data","window","matchMedia","matches","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","factory","undefined","call","exports","module","OldCookies","Cookies","api","noConflict","extend","i","result","arguments","length","attributes","key","init","converter","value","document","path","defaults","expires","Date","setMilliseconds","getMilliseconds","toUTCString","JSON","stringify","test","e","write","encodeURIComponent","String","replace","decodeURIComponent","escape","stringifiedAttributes","attributeName","cookie","cookies","split","rdecode","parts","slice","join","this","json","charAt","name","read","parse","set","get","getJSON","apply","remove","withConverter","ModalMixinComponent","elem","_classCallCheck","_this","_possibleConstructorReturn","__proto__","Object","getPrototypeOf","hide","bind","show","Component","hideCta","shown","hideCtas","$component","querySelectorAll","SELECTORS","dom","readDOM","bindEvents","_this2","forEach","addEventListener","classList","CSS","emit","$customEvents","MODAL","add","contains","FidelityPopupComponent","start","closeIcon","ctaBtn","fidelityPopup","closeBtn","querySelector","starTimerID","endTimerID","log","getCookie","showTimer","event","showPopup","_this3","setTimeout","setCookie","TIMER","isVisible","FIDELITY_POPUP","COOKIE_NAME","NewsletterPopupComponent","modal","isCommunicationPopupShown","communicationPopup","render","isShown","NEWSLETTER","subscribed","$on","COM_POPUP","popup","component","body","dataset","nlKey"],"mappings":"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","file":"component-NewsletterPopupComponent.chunks.js","sourcesContent":["const $html = $('html');\n\nexport const CURRENT_LANG = $html.data('lang');\nexport const IS_EGON_VALIDATION = $html.data('egon-validation');\nexport const IS_EGON_VALIDATION__ZIP_BASED = $html.data('egon-zip-base');\nexport const IS_MOBILE = window.matchMedia('(max-width:760px)').matches;\nexport const IS_PRIVACY_PAGE = $html.data('controller') === 'PrivacyLoginController';\nexport const IS_VERIFALIA_VALIDATION = $html.data('verifalia-validation');\nexport const IS_AMAZON_PAY_ENABLED = $html.data('is-amazon-pay-enabled');\nexport const IS_AMAZON_PAY_V2 = $html.data('is-amazon-pay-v2');\n","/*!\n * JavaScript Cookie v2.2.0\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader = false;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api (key, value, attributes) {\n\t\t\tvar result;\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Write\n\n\t\t\tif (arguments.length > 1) {\n\t\t\t\tattributes = extend({\n\t\t\t\t\tpath: '/'\n\t\t\t\t}, api.defaults, attributes);\n\n\t\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\t\tvar expires = new Date();\n\t\t\t\t\texpires.setMilliseconds(expires.getMilliseconds() + attributes.expires * 864e+5);\n\t\t\t\t\tattributes.expires = expires;\n\t\t\t\t}\n\n\t\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\t\ttry {\n\t\t\t\t\tresult = JSON.stringify(value);\n\t\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\t\tvalue = result;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\n\t\t\t\tif (!converter.write) {\n\t\t\t\t\tvalue = encodeURIComponent(String(value))\n\t\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\t\t\t\t} else {\n\t\t\t\t\tvalue = converter.write(value, key);\n\t\t\t\t}\n\n\t\t\t\tkey = encodeURIComponent(String(key));\n\t\t\t\tkey = key.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent);\n\t\t\t\tkey = key.replace(/[\\(\\)]/g, escape);\n\n\t\t\t\tvar stringifiedAttributes = '';\n\n\t\t\t\tfor (var attributeName in attributes) {\n\t\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName];\n\t\t\t\t}\n\t\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t\t}\n\n\t\t\t// Read\n\n\t\t\tif (!key) {\n\t\t\t\tresult = {};\n\t\t\t}\n\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all. Also prevents odd result when\n\t\t\t// calling \"get()\"\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar rdecode = /(%[0-9A-Z]{2})+/g;\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!this.json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = parts[0].replace(rdecode, decodeURIComponent);\n\t\t\t\t\tcookie = converter.read ?\n\t\t\t\t\t\tconverter.read(cookie, name) : converter(cookie, name) ||\n\t\t\t\t\t\tcookie.replace(rdecode, decodeURIComponent);\n\n\t\t\t\t\tif (this.json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tresult = cookie;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!key) {\n\t\t\t\t\t\tresult[name] = cookie;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\n\t\tapi.set = api;\n\t\tapi.get = function (key) {\n\t\t\treturn api.call(api, key);\n\t\t};\n\t\tapi.getJSON = function () {\n\t\t\treturn api.apply({\n\t\t\t\tjson: true\n\t\t\t}, [].slice.call(arguments));\n\t\t};\n\t\tapi.defaults = {};\n\n\t\tapi.remove = function (key, attributes) {\n\t\t\tapi(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","import Component from '../../abstracts/Component';\n\nexport default class ModalMixinComponent extends Component {\n get SELECTORS() {\n return {\n hideCta: '[data-modal-hide-cta]',\n };\n }\n\n get CSS() {\n return {\n shown: '--shown'\n };\n }\n\n constructor(elem) {\n super(elem);\n this.hide = this.hide.bind(this);\n this.show = this.show.bind(this);\n }\n\n readDOM() {\n return {\n hideCtas: this.$component.querySelectorAll(this.SELECTORS.hideCta),\n }\n }\n\n render() {\n this.dom = this.readDOM();\n this.bindEvents();\n }\n\n bindEvents() {\n this.dom.hideCtas.forEach(e => {\n e.addEventListener('click', () => {\n this.hide();\n });\n });\n }\n\n // API\n hide() {\n this.$component.classList.remove(this.CSS.shown);\n this.emit(this.$customEvents.MODAL.hide);\n }\n\n show() {\n this.$component.classList.add(this.CSS.shown);\n this.emit(this.$customEvents.MODAL.show);\n }\n\n isShown() {\n return this.$component.classList.contains(this.CSS.shown);\n }\n}\n","import Component from '../abstracts/Component';\nimport Cookies from 'js-cookie';\n\nexport default class FidelityPopupComponent extends Component {\n\n get COMPONENTNAME() {\n return 'FidelityPopupComponent';\n }\n\n get COOKIE_NAME() {\n return 'fidelity_popup_hide';\n }\n\n // MILLISECONDS //\n get TIMER() {\n return {\n start: 8000,\n }\n }\n\n get SELECTORS() {\n return {\n closeIcon: '[data-fidality-popup] .icon-close',\n ctaBtn: '[data-fidality-popup] .cta',\n fidelityPopup: '[data-js-component=\"FidelityPopupComponent\"]',\n };\n }\n\n constructor(elem) {\n super(elem);\n }\n\n readDOM() {\n return {\n closeBtn: this.$component.querySelector(this.SELECTORS.closeIcon),\n ctaBtn: this.$component.querySelector(this.SELECTORS.ctaBtn),\n starTimerID: '',\n endTimerID: ''\n }\n }\n\n render() {\n this.log(\"Rendering...\");\n \n //cookie does not exists yet\n if(!this.getCookie()) {\n this.dom = this.readDOM();\n this.bindEvents();\n this.showTimer();\n }\n }\n\n // EVENT LISTENERS //\n bindEvents() {\n\n\n // CTA click action\n const ctaBtn = this.dom.ctaBtn;\n if (ctaBtn)\n {\n ctaBtn.addEventListener('click', (event) =>\n {\n this.showPopup(false);\n });\n }\n // Close action\n const closeIcon = this.dom.closeBtn;\n if (closeIcon)\n {\n closeIcon.addEventListener('click', (event) =>\n {\n this.showPopup(false);\n });\n }\n\n }\n\n // FUNCTIONS //\n showTimer() {\n this.dom.starTimerID =\n setTimeout( () => {\n this.showPopup(true);\n this.setCookie();\n }, this.TIMER.start);\n }\n\n\n // UTILS //\n showPopup(isVisible) {\n if (isVisible){\n this.$component.classList.remove('hidden')\n }\n else{\n this.$component.classList.add('hidden');\n this.setCookie();\n this.emit(this.$customEvents.FIDELITY_POPUP.hide);\n }\n }\n\n setCookie() {\n Cookies.set(this.COOKIE_NAME, 'true');\n }\n\n getCookie() {\n return Cookies.get(this.COOKIE_NAME);\n }\n\n isShown(){\n const fidelityPopup = document.querySelector(this.SELECTORS.fidelityPopup);\n return fidelityPopup ? true : false\n }\n}\n","import Component from '../abstracts/Component';\nimport {IS_PRIVACY_PAGE} from '../utils/Environment';\nimport FidelityPopupComponent from './FidelityPopupComponent';\nimport ModalMixinComponent from './mixins/ModalMixinComponent';\n\nimport Cookies from 'js-cookie';\nexport default class NewsletterPopupComponent extends Component {\n get SELECTORS() {\n return {\n communicationPopup: '[data-js-component=\"CommunicationPopupComponent\"]',\n fidelityPopup: '[data-js-component=\"FidelityPopupComponent\"]',\n }\n }\n\n constructor(elem) {\n super(elem);\n this.modal = new ModalMixinComponent(elem);\n\n this.setCookie = this.setCookie.bind(this);\n this.getCookie = this.getCookie.bind(this);\n this.isCommunicationPopupShown = this.isCommunicationPopupShown.bind(this);\n }\n\n render() {\n this.modal.render();\n this.bindEvents();\n const fidelityPopup = new FidelityPopupComponent();\n \n if (this.getCookie() && !this.isCommunicationPopupShown() && (!fidelityPopup.isShown() || fidelityPopup.getCookie())) {\n this.modal.show();\n }\n }\n\n bindEvents() {\n this.$component.addEventListener(this.$customEvents.MODAL.hide, () => {\n this.setCookie();\n });\n\n this.$component.addEventListener(this.$customEvents.NEWSLETTER.subscribed, () => {\n this.setCookie();\n });\n\n this.$on(this.$customEvents.COM_POPUP.hide, () => {\n if(this.getCookie()){\n this.modal.show();\n }\n });\n this.$on(this.$customEvents.FIDELITY_POPUP.hide, () => {\n if(this.getCookie() && !this.isCommunicationPopupShown()){\n this.modal.show();\n }\n });\n }\n\n get COOKIE_NAME() {\n const modalkey = document.body.dataset.nlKey || 'default_modal';\n return 'nl_' + modalkey + '_hide';\n }\n\n setCookie() {\n Cookies.set(this.COOKIE_NAME, 'true', {\n expires: 365,\n path: '/'\n });\n }\n\n getCookie() {\n return !Cookies.get(this.COOKIE_NAME) && !IS_PRIVACY_PAGE;\n }\n\n isCommunicationPopupShown() {\n const popup = document.querySelector(this.SELECTORS.communicationPopup);\n return (popup != null) ? popup.component.isShown() : false ;\n }\n}\n"],"sourceRoot":""}