{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/core/scripts/tracking-consent-banner/banner-template.js","webpack:///./src/core/scripts/tracking-consent-banner/index.js","webpack:///./src/core/scripts/tracking-consent-banner/polyfill/assign.js","webpack:///./src/core/scripts/tracking-consent-banner/polyfill/index.js","webpack:///./src/core/scripts/tracking-consent-banner/polyfill/template.js"],"names":["btnPositive","text","concat","btnNegative","btnGoBack","caliBtnNegative","btnClose","use","bannerTemplate","_ref","btnYesText","btnNoText","useCloseBtn","btnBackText","btnConfirmOptOut","defaultConfig","cookieKey","cookieSettings","bannerContainer","document","body","onConsentGiven","caliConsentText","getConfig","cfg","Object","assign","getCookieYesState","getCookieNoState","onUserAccept","config","cookie","hideTrackingConsentBanner","onUserRefuse","getTrackingCookie","split","filter","item","trim","indexOf","length","registerConsentPanelListeners","querySelector","addEventListener","e","target","classList","contains","renderCaliConsent","goBack","showTrackingConsentBanner","tpl","createElement","innerHTML","insertBefore","content","firstChild","banner","parentNode","removeChild","hideGdprButtons","showCaliButtons","showGdprButtons","hideCaliButtons","add","setAttribute","remove","initDoNotSellInformationUI","form","getElementById","cb","submitBtn","validation","confirmation","continueBtn","preventDefault","style","display","checked","history","back","init","window","PFS","components","trackingConsentBanner","defineProperty","value","varArgs","undefined","TypeError","to","index","arguments","nextSource","nextKey","prototype","hasOwnProperty","call","writable","configurable","needsTemplate","HTMLTemplateElement","brokenDocFragment","createDocumentFragment","cloneNode","DocumentFragment","needsDocFrag","test","navigator","userAgent","origCloneNode","Node","deep","newDom","__proto__","querySelectorAll","HTMLElement","defineProperties","get","DOCUMENT_FRAGMENT_NODE","origInsertBefore","newNode","refNode","child","origAppendChild","appendChild","origRemoveChild","origReplaceChild","replaceChild","newChild","oldChild","Document","frag","origImportNode","importNode","impNode","capturedCloneNode","capturedCreateElement","capturedImportNode","capturedRemoveChild","capturedAppendChild","capturedReplaceChild","capturedParseFromString","DOMParser","parseFromString","capturedHTMLElementInnerHTML","getOwnPropertyDescriptor","set","capturedChildNodes","childNodes","elementQuerySelectorAll","Element","docQuerySelectorAll","fragQuerySelectorAll","scriptSelector","QSA","node","selector","nodeType","DOCUMENT_NODE","needsCloning","t","t2","clone","TEMPLATE_TAG","PolyfilledHTMLTemplateElement","contentDoc","implementation","createHTMLDocument","canDecorate","templateStyle","textContent","head","firstElementChild","create","canProtoPatch","decorate","template","namespaceURI","documentElement","_cloneNode","defineInnerHTML","defineOuterHTML","err","bootstrap","topLevelWrappingMap","getTagName","exec","toLowerCase","obj","getInnerHTML","wrap","i","j","lastChild","docFrag","ownerDocument","Error","doc","templates","l","el","apply","localName","enumerable","escapeAttrRegExp","escapeDataRegExp","escapeReplace","c","escapeAttr","s","replace","escapeData","makeSet","arr","voidElements","plaintextParents","getOuterHTML","callback","ELEMENT_NODE","tagName","attrs","attributes","attr","name","TEXT_NODE","data","COMMENT_NODE","console","error","c$","fixClonedDom","source","s$","t$","fixClonedScripts","fragment","scripts","ns","ai","a","dom","element"],"mappings":"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","file":"gdprBanner.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 0);\n","const btnPositive = text => text ? `` : '';\r\nconst btnNegative = text => text ? `` : '';\r\nconst btnGoBack = text => text ? `` : '';\r\nconst caliBtnNegative = text => text ? `` : '';\r\n\r\nconst btnClose = use => use ? `` : '';\r\n\r\nconst bannerTemplate = function bannerTemplate({ text, btnYesText, btnNoText, useCloseBtn, btnBackText, btnConfirmOptOut }) {\r\n return `\r\n \r\n `;\r\n};\r\n\r\nexport default bannerTemplate;\r\n","import './polyfill';\r\nimport bannerTemplate from './banner-template';\r\n\r\nconst defaultConfig = {\r\n text: 'using cookies?',\r\n btnYesText: null,\r\n btnNoText: null,\r\n btnConfirmOptOut: null,\r\n btnBackText: null,\r\n cookieKey: 'tracking_consent',\r\n cookieSettings: ';path=/;max-age=31536000',\r\n bannerContainer: document.body,\r\n onConsentGiven: null, \r\n caliConsentText: null\r\n};\r\n\r\nconst getConfig = (cfg) => cfg ? Object.assign({}, defaultConfig, cfg || {}) : null;\r\nconst getCookieYesState = cfg => `${ cfg.cookieKey }=yes${ cfg.cookieSettings }`;\r\nconst getCookieNoState = cfg => `${ cfg.cookieKey }=no${ cfg.cookieSettings }`;\r\n\r\nfunction onUserAccept(config) {\r\n document.cookie = getCookieYesState(config)\r\n hideTrackingConsentBanner();\r\n config.onConsentGiven();\r\n \r\n}\r\n\r\nfunction onUserRefuse(config) {\r\n document.cookie = getCookieNoState(config);\r\n hideTrackingConsentBanner();\r\n}\r\n\r\nfunction getTrackingCookie(config) {\r\n let cookie = document.cookie.split(';')\r\n .filter(item => item.trim().indexOf(config.cookieKey) === 0);\r\n return cookie.length ? cookie[0].trim() : null;\r\n}\r\n\r\nfunction registerConsentPanelListeners(config) {\r\n document.querySelector('.tracking-consent-banner').addEventListener('click', e => {\r\n if (e.target.classList.contains('consent-btn-positive')) {\r\n onUserAccept(config);\r\n // renderCaliConsent(config);\r\n } else if (e.target.classList.contains('consent-btn-negative')) {\r\n // onUserRefuse(config);\r\n renderCaliConsent(config);\r\n } else if (e.target.classList.contains('close-btn')) {\r\n hideTrackingConsentBanner();\r\n } else if (e.target.classList.contains('consent-btn-back')){\r\n // re-render original text\r\n goBack(config)\r\n } else if (e.target.classList.contains('consent-btn-confirm')){\r\n // set the cookie \r\n onUserRefuse(config)\r\n }\r\n\r\n });\r\n}\r\n\r\nfunction showTrackingConsentBanner(config) {\r\n const tpl = document.createElement('template');\r\n tpl.innerHTML = bannerTemplate(config);\r\n config.bannerContainer.insertBefore(tpl.content, config.bannerContainer.firstChild);\r\n registerConsentPanelListeners(config);\r\n}\r\n\r\nfunction hideTrackingConsentBanner() {\r\n const banner = document.querySelector('.tracking-consent-banner');\r\n banner.parentNode.removeChild(banner);\r\n}\r\n\r\nfunction renderCaliConsent(config){\r\n document.querySelector('#consent-message').innerHTML = config.caliConsentText;\r\n hideGdprButtons();\r\n showCaliButtons();\r\n\r\n}\r\n\r\nfunction goBack(config){\r\n document.querySelector('#consent-message').innerHTML = config.text;\r\n showGdprButtons();\r\n hideCaliButtons();\r\n \r\n}\r\n\r\n//Visibility controllers\r\nfunction hideGdprButtons(){\r\n document.querySelector('.consent-btn-positive').classList.add('hidden');\r\n document.querySelector('.consent-btn-positive').setAttribute(\"aria-hidden\", \"true\");\r\n document.querySelector('.consent-btn-negative').classList.add('hidden');\r\n document.querySelector('.consent-btn-negative').setAttribute(\"aria-hidden\", \"true\");\r\n\r\n}\r\nfunction showGdprButtons(){\r\n document.querySelector('.consent-btn-positive').classList.remove('hidden');\r\n document.querySelector('.consent-btn-positive').setAttribute(\"aria-hidden\", \"false\");\r\n document.querySelector('.consent-btn-negative').classList.remove('hidden');\r\n document.querySelector('.consent-btn-negative').setAttribute(\"aria-hidden\", \"false\");\r\n\r\n}\r\n\r\nfunction hideCaliButtons(){\r\n document.querySelector('.consent-btn-back').classList.add('hidden');\r\n document.querySelector('.consent-btn-back').setAttribute(\"aria-hidden\", \"true\");\r\n document.querySelector('.consent-btn-confirm').classList.add('hidden');\r\n document.querySelector('.consent-btn-confirm').setAttribute(\"aria-hidden\", \"true\");\r\n}\r\nfunction showCaliButtons(){\r\n document.querySelector('.consent-btn-back').classList.remove('hidden');\r\n document.querySelector('.consent-btn-back').setAttribute(\"aria-hidden\", \"false\");\r\n document.querySelector('.consent-btn-confirm').classList.remove('hidden');\r\n document.querySelector('.consent-btn-confirm').setAttribute(\"aria-hidden\", \"false\");\r\n}\r\n\r\n// function initAnalytics() {\r\n// window.dataLayer = window.dataLayer || [];\r\n// function gtag() {\r\n// window.dataLayer.push(arguments);\r\n// }\r\n// gtag('js', new Date());\r\n// gtag('config', 'UA-61002187-3');\r\n// }\r\n\r\n// function initGTM() {\r\n// /*eslint-disable */\r\n// (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\r\n// new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\r\n// j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\r\n// 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\r\n// })(window,document,'script','dataLayer','GTM-TM54HGV');\r\n// /*eslint-enable */\r\n// }\r\n\r\nfunction initDoNotSellInformationUI(config) {\r\n const form = document.getElementById('do-not-sell-info-form');\r\n if (!form) return;\r\n const cb = form.querySelector('#do-not-sell-info-cb');\r\n const submitBtn = form.querySelector('#do-not-sell-info-submit');\r\n const validation = form.querySelector('#do-not-sell-info-validation');\r\n const confirmation = document.querySelector('#do-not-sell-info-confirmation');\r\n const continueBtn = confirmation.querySelector('#do-not-sell-info-continue');\r\n\r\n submitBtn.addEventListener('click', e => {\r\n e.preventDefault();\r\n validation.style.display = cb.checked ? 'none' : 'block';\r\n if(cb.checked) {\r\n document.cookie = getCookieNoState(config);\r\n form.style.display = 'none';\r\n confirmation.style.display = 'block';\r\n }\r\n });\r\n\r\n continueBtn.addEventListener('click', () => history.back());\r\n}\r\n\r\nfunction init(cfg) {\r\n const config = getConfig(cfg);\r\n\r\n if(!config) {\r\n return;\r\n }\r\n\r\n const cookie = getTrackingCookie(config);\r\n\r\n if (!cookie && typeof config.onConsentGiven === 'function') {\r\n showTrackingConsentBanner(config);\r\n }\r\n\r\n if (cookie === `${ config.cookieKey }=yes`) {\r\n config.onConsentGiven();\r\n }\r\n\r\n initDoNotSellInformationUI(config);\r\n}\r\n\r\nwindow.PFS = window.PFS || {};\r\nwindow.PFS.components = window.PFS.components || {};\r\nwindow.PFS.components.trackingConsentBanner = { init };\r\n\r\nexport default { init };\r\n","if (typeof Object.assign !== 'function') {\r\n // Must be writable: true, enumerable: false, configurable: true\r\n Object.defineProperty(Object, \"assign\", {\r\n value: function assign(target, varArgs) { // .length of function is 2\r\n 'use strict';\r\n if (target === null || target === undefined) {\r\n throw new TypeError('Cannot convert undefined or null to object');\r\n }\r\n\r\n var to = Object(target);\r\n\r\n for (var index = 1; index < arguments.length; index++) {\r\n var nextSource = arguments[index];\r\n\r\n if (nextSource !== null && nextSource !== undefined) { \r\n for (var nextKey in nextSource) {\r\n // Avoid bugs when hasOwnProperty is shadowed\r\n if (Object.prototype.hasOwnProperty.call(nextSource, nextKey)) {\r\n to[nextKey] = nextSource[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n return to;\r\n },\r\n writable: true,\r\n configurable: true\r\n });\r\n}\r\n","import template from './template';\r\nimport assign from './assign';\r\n","/* eslint-disable */\r\n/**\r\n * @license\r\n * Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\r\n * This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\r\n * The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\r\n * The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\r\n * Code distributed by Google as part of the polymer project is also\r\n * subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\r\n */\r\n\r\n// minimal template polyfill\r\n(function() {\r\n 'use strict';\r\n\r\n var needsTemplate = (typeof HTMLTemplateElement === 'undefined');\r\n var brokenDocFragment = !(document.createDocumentFragment().cloneNode() instanceof DocumentFragment);\r\n var needsDocFrag = false;\r\n\r\n // NOTE: Replace DocumentFragment to work around IE11 bug that\r\n // causes children of a document fragment modified while\r\n // there is a mutation observer to not have a parentNode, or\r\n // have a broken parentNode (!?!)\r\n if (/Trident/.test(navigator.userAgent)) {\r\n (function() {\r\n\r\n needsDocFrag = true;\r\n\r\n var origCloneNode = Node.prototype.cloneNode;\r\n Node.prototype.cloneNode = function cloneNode(deep) {\r\n var newDom = origCloneNode.call(this, deep);\r\n if (this instanceof DocumentFragment) {\r\n newDom.__proto__ = DocumentFragment.prototype;\r\n }\r\n return newDom;\r\n };\r\n\r\n // IE's DocumentFragment querySelector code doesn't work when\r\n // called on an element instance\r\n DocumentFragment.prototype.querySelectorAll = HTMLElement.prototype.querySelectorAll;\r\n DocumentFragment.prototype.querySelector = HTMLElement.prototype.querySelector;\r\n\r\n Object.defineProperties(DocumentFragment.prototype, {\r\n 'nodeType': {\r\n get: function () {\r\n return Node.DOCUMENT_FRAGMENT_NODE;\r\n },\r\n configurable: true\r\n },\r\n\r\n 'localName': {\r\n get: function () {\r\n return undefined;\r\n },\r\n configurable: true\r\n },\r\n\r\n 'nodeName': {\r\n get: function () {\r\n return '#document-fragment';\r\n },\r\n configurable: true\r\n }\r\n });\r\n\r\n var origInsertBefore = Node.prototype.insertBefore;\r\n function insertBefore(newNode, refNode) {\r\n if (newNode instanceof DocumentFragment) {\r\n var child;\r\n while ((child = newNode.firstChild)) {\r\n origInsertBefore.call(this, child, refNode);\r\n }\r\n } else {\r\n origInsertBefore.call(this, newNode, refNode);\r\n }\r\n return newNode;\r\n }\r\n Node.prototype.insertBefore = insertBefore;\r\n\r\n var origAppendChild = Node.prototype.appendChild;\r\n Node.prototype.appendChild = function appendChild(child) {\r\n if (child instanceof DocumentFragment) {\r\n insertBefore.call(this, child, null);\r\n } else {\r\n origAppendChild.call(this, child);\r\n }\r\n return child;\r\n };\r\n\r\n var origRemoveChild = Node.prototype.removeChild;\r\n var origReplaceChild = Node.prototype.replaceChild;\r\n Node.prototype.replaceChild = function replaceChild(newChild, oldChild) {\r\n if (newChild instanceof DocumentFragment) {\r\n insertBefore.call(this, newChild, oldChild);\r\n origRemoveChild.call(this, oldChild);\r\n } else {\r\n origReplaceChild.call(this, newChild, oldChild);\r\n }\r\n return oldChild;\r\n };\r\n\r\n Document.prototype.createDocumentFragment = function createDocumentFragment() {\r\n var frag = this.createElement('df');\r\n frag.__proto__ = DocumentFragment.prototype;\r\n return frag;\r\n };\r\n\r\n var origImportNode = Document.prototype.importNode;\r\n Document.prototype.importNode = function importNode(impNode, deep) {\r\n deep = deep || false;\r\n var newNode = origImportNode.call(this, impNode, deep);\r\n if (impNode instanceof DocumentFragment) {\r\n newNode.__proto__ = DocumentFragment.prototype;\r\n }\r\n return newNode;\r\n };\r\n })();\r\n }\r\n\r\n // NOTE: we rely on this cloneNode not causing element upgrade.\r\n // This means this polyfill must load before the CE polyfill and\r\n // this would need to be re-worked if a browser supports native CE\r\n // but not