{"version":3,"sources":["webpack:///./src/feature/iframe/iframe.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/es.array.every.js"],"names":["COOKIE_CATEGORIES","consentGiven","category","CookieInformation","getConsentGivenFor","IFrame","element","_this","_classCallCheck","this","_possibleConstructorReturn","_getPrototypeOf","call","initDomCache","iframe","querySelector","iframeConsentSrc","getAttribute","block","button","ensureCookieInformationIsAvailable","then","addEventListener","BaseBehavior","timeout","start","Date","now","Promise","waitForCookieInfo","resolve","reject","window","setTimeout","bind","_this2","checkCookieAccept","CookieConsent","renew","every","loadIframe","unloadIframe","style","display","src","$","__webpack_require__","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","setPrototypeOf","arrayMethods","sloppyArrayMethod","internalEvery","proto","callbackfn","arguments"],"mappings":"u+BAKA,IAAMA,EAAoB,CACzB,uBACA,wBACA,wBAGKC,EAAe,SAAAC,GAAQ,OAAIC,kBAAkBC,mBAAmBF,IAEhEG,cACL,SAAAA,EAAYC,GAAS,IAAAC,EAAA,mGAAAC,CAAAC,KAAAJ,IACpBE,EAAAG,EAAAD,KAAAE,EAAAN,GAAAO,KAAAH,KAAMH,KACDA,QAAUA,EACfC,EAAKM,eAELN,EAAKO,OAASP,EAAKD,QAAQS,cAAc,8BACzCR,EAAKS,iBAAmBT,EAAKO,OAAOG,aAAa,oBACjDV,EAAKW,MAAQX,EAAKD,QAAQS,cAAc,6BACxCR,EAAKY,OAASZ,EAAKD,QAAQS,cAAc,6BAEzCR,EAAKa,qCAAqCC,KAAK,WAC9Cd,EAAKe,qBAXcf,wPADDgB,2EAkBnB,IAAMC,EAAU,IACVC,EAAQC,KAAKC,MAEnB,OAAO,IAAIC,QAKX,SAASC,EAAkBC,EAASC,GAC/BC,OAAO7B,kBACV2B,EAAQE,OAAO7B,mBACLqB,GAAYE,KAAKC,MAAQF,GAAUD,EAE7CO,EAAO,8CAEPE,WAAWJ,EAAkBK,KAAKzB,KAAMqB,EAASC,GAAS,kDAK1C,IAAAI,EAAA1B,KACdN,mBACH6B,OAAOV,iBAAiB,gCAAiC,WACxDa,EAAKC,sBAIP3B,KAAK2B,oBACL3B,KAAKU,OAAOG,iBAAiB,QAAS,WACjCe,eACHA,cAAcC,sDAMItC,EAAkBuC,MAAMtC,GAG3CQ,KAAK+B,aAEL/B,KAAKgC,oDAKNhC,KAAKS,MAAMwB,MAAMC,QAAU,OAC3BlC,KAAKK,OAAO8B,IAAMnC,KAAKO,wDAIvBP,KAAKK,OAAO8B,IAAM,GAClBnC,KAAKS,MAAMwB,MAAMC,QAAU,+CAIdtC,iCCvFf,IAAAwC,EAAQC,EAAQ,GAChBC,EAAYD,EAAQ,GACpBE,EAAeF,EAAQ,IACvBG,EAA2BH,EAAQ,IACnCI,EAA+BJ,EAAQ,KAKvCD,EAAA,CAAGM,OAAA,SAAAC,MAAA,EAAAC,OAJHN,EAAA,WAA6CE,EAAA,KAI1CK,MAAAJ,GAA6F,CAChGK,eAAA,SAAAC,GACA,OAAAP,EAAAD,EAAAQ,4BCXQV,EAAQ,EAKhBD,CAAA,CAAGM,OAAA,SAAAC,MAAA,GAA+B,CAClCK,eALqBX,EAAQ,wCCA7B,IAAAD,EAAQC,EAAQ,GAChBY,EAAmBZ,EAAQ,IAC3Ba,EAAwBb,EAAQ,IAEhCc,EAAAF,EAAA,GAKAb,EAAA,CAAGM,OAAA,QAAAU,OAAA,EAAAR,OAJHM,EAAA,UAIyD,CACzDpB,MAAA,SAAAuB,GACA,OAAAF,EAAAnD,KAAAqD,EAAAC,UAAA","file":"16-4450bfc2.pkg.js","sourcesContent":["import BaseBehavior from '../../foundation/base/base';\r\n\r\n/* global CookieInformation */\r\n/* global CookieConsent */\r\n\r\nconst COOKIE_CATEGORIES = [\r\n\t'cookie_cat_marketing',\r\n\t'cookie_cat_functional',\r\n\t'cookie_cat_statistic'\r\n];\r\n\r\nconst consentGiven = category => CookieInformation.getConsentGivenFor(category);\r\n\r\nclass IFrame extends BaseBehavior {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\t\tthis.element = element;\r\n\t\tthis.initDomCache();\r\n\r\n\t\tthis.iframe = this.element.querySelector('[data-js=\"iframe__iframe\"]');\r\n\t\tthis.iframeConsentSrc = this.iframe.getAttribute('data-consent-src');\r\n\t\tthis.block = this.element.querySelector('[data-js=\"iframe__block\"]');\r\n\t\tthis.button = this.element.querySelector('[data-js=\"iframe__renew\"]');\r\n\r\n\t\tthis.ensureCookieInformationIsAvailable().then(() => {\r\n\t\t\tthis.addEventListener();\r\n\t\t});\r\n\t}\r\n\r\n\t// eslint-disable-next-line class-methods-use-this\r\n\tensureCookieInformationIsAvailable() {\r\n\t\tconst timeout = 10000;\r\n\t\tconst start = Date.now();\r\n\t\t// eslint-disable-next-line\r\n\t\treturn new Promise(waitForCookieInfo);\r\n\r\n\t\t// waitForFoo makes the decision whether the condition is met\r\n\t\t// or not met or the timeout has been exceeded which means\r\n\t\t// this promise will be rejected\r\n\t\tfunction waitForCookieInfo(resolve, reject) {\r\n\t\t\tif (window.CookieInformation) {\r\n\t\t\t\tresolve(window.CookieInformation);\r\n\t\t\t} else if (timeout && (Date.now() - start) >= timeout) {\r\n\t\t\t\t// reject(new Error('timeout'));\r\n\t\t\t\treject('Cookie information not ready in 10 seconds');\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(waitForCookieInfo.bind(this, resolve, reject), 100);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\taddEventListener() {\r\n\t\tif (CookieInformation) {\r\n\t\t\twindow.addEventListener('CookieInformationConsentGiven', () => {\r\n\t\t\t\tthis.checkCookieAccept();\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.checkCookieAccept();\r\n\t\tthis.button.addEventListener('click', () => {\r\n\t\t\tif (CookieConsent) {\r\n\t\t\t\tCookieConsent.renew();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tcheckCookieAccept() {\r\n\t\tconst allAccepted = COOKIE_CATEGORIES.every(consentGiven);\r\n\r\n\t\tif (allAccepted) {\r\n\t\t\tthis.loadIframe();\r\n\t\t} else {\r\n\t\t\tthis.unloadIframe();\r\n\t\t}\r\n\t}\r\n\r\n\tloadIframe() {\r\n\t\tthis.block.style.display = 'none';\r\n\t\tthis.iframe.src = this.iframeConsentSrc;\r\n\t}\r\n\r\n\tunloadIframe() {\r\n\t\tthis.iframe.src = '';\r\n\t\tthis.block.style.display = 'inherit';\r\n\t}\r\n}\r\n\r\nexport default IFrame;\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// `Object.setPrototypeOf` method\n// https://tc39.github.io/ecma262/#sec-object.setprototypeof\n$({ target: 'Object', stat: true }, {\n setPrototypeOf: setPrototypeOf\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar arrayMethods = require('../internals/array-methods');\nvar sloppyArrayMethod = require('../internals/sloppy-array-method');\n\nvar internalEvery = arrayMethods(4);\nvar SLOPPY_METHOD = sloppyArrayMethod('every');\n\n// `Array.prototype.every` method\n// https://tc39.github.io/ecma262/#sec-array.prototype.every\n$({ target: 'Array', proto: true, forced: SLOPPY_METHOD }, {\n every: function every(callbackfn /* , thisArg */) {\n return internalEvery(this, callbackfn, arguments[1]);\n }\n});\n"],"sourceRoot":""}