{"version":3,"file":"scripts/chunks/src_widgets_smartbanner_smartbanner_js.b71c6f7493ae2f95ee28.js","mappings":"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","sources":["webpack://disp0001/./src/widgets/smartbanner/optionparser.js","webpack://disp0001/./src/widgets/smartbanner/detector.js","webpack://disp0001/./src/widgets/smartbanner/bakery.js","webpack://disp0001/./src/widgets/smartbanner/smartbanner.js"],"sourcesContent":["function valid(name) {\r\n  // TODO: validate against options dictionary\r\n  return name.indexOf('smartbanner:') !== -1 && name.split(':')[1].length > 0;\r\n}\r\n\r\nfunction convertToCamelCase(name) {\r\n  let parts = name.split('-');\r\n  parts.map(function(part, index) {\r\n    if (index > 0) {\r\n      parts[index] = part.charAt(0).toUpperCase() + part.substring(1);\r\n    }\r\n  });\r\n  return parts.join('');\r\n}\r\n\r\nexport default class OptionParser {\r\n\r\n  parse() {\r\n    let metas = document.getElementsByTagName('meta');\r\n    let options = {};\r\n    Array.apply(null, metas).forEach(function(meta) {\r\n      let optionName = null;\r\n      let name = meta.getAttribute('name');\r\n      let content = meta.getAttribute('content');\r\n      if (name && content && valid(name) && content.length > 0) {\r\n        optionName = name.split(':')[1];\r\n        if (optionName.indexOf('-') !== -1) {\r\n          optionName = convertToCamelCase(optionName);\r\n        }\r\n        options[optionName] = content;\r\n      }\r\n    });\r\n    return options;\r\n  }\r\n\r\n}\r\n","export default class Detector {\r\n\r\n  static platform() {\r\n    let maxTouchPoints = window.navigator.maxTouchPoints;\r\n    let userAgent = window.navigator.userAgent;\r\n\r\n    if (/Android/i.test(userAgent)){\r\n      return 'android';\r\n    // maxTouchPoints is the only effective method to detect iPad iOS 13+\r\n    // FMI https://developer.apple.com/forums/thread/119186\r\n    } else if ((!window.MSStream && !/X11|Linux|Windows/i.test(userAgent) && maxTouchPoints && maxTouchPoints > 0) || /iPhone|iPad|iPod/i.test(userAgent)) {\r\n      return 'ios';\r\n    }\r\n  }\r\n\r\n  static userAgentMatchesRegex(regexString) {\r\n    return new RegExp(regexString).test(window.navigator.userAgent);\r\n  }\r\n\r\n  static jQueryMobilePage() {\r\n    return typeof global.$ !== 'undefined' && global.$.mobile !== 'undefined' && document.querySelector('.ui-page') !== null;\r\n  }\r\n\r\n  static wrapperElement() {\r\n    let selector = Detector.jQueryMobilePage() ? '.ui-page' : 'html';\r\n    return document.querySelectorAll(selector);\r\n  }\r\n\r\n}\r\n","export default class Bakery {\r\n\r\n  static getCookieExpiresString(hideTtl) {\r\n    const now = new Date();\r\n    const expireTime = new Date(now.getTime() + hideTtl);\r\n    return `expires=${expireTime.toGMTString()};`;\r\n  }\r\n\r\n  static bake(hideTtl, hidePath) {\r\n    document.cookie = `smartbanner_exited=1; ${hideTtl ? Bakery.getCookieExpiresString(hideTtl) : ''} path=${hidePath}`;\r\n  }\r\n\r\n  static unbake() {\r\n    document.cookie = 'smartbanner_exited=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n  }\r\n\r\n  static get baked() {\r\n    let value = document.cookie.replace(/(?:(?:^|.*;\\s*)smartbanner_exited\\s*=\\s*([^;]*).*$)|^.*$/, '$1');\r\n    return value === '1';\r\n  }\r\n\r\n}\r\n","import OptionParser from './optionparser.js';\r\nimport Detector from './detector.js';\r\nimport Bakery from './bakery.js';\r\nimport Cookies from 'js-cookie'\r\n\r\nconst DEFAULT_PLATFORMS = 'android,ios';\r\nconst DEFAULT_CLOSE_LABEL = 'Close';\r\nconst DEFAULT_BUTTON_LABEL = 'Open';\r\n\r\nlet datas = {\r\n  originalTop: 'data-smartbanner-original-top',\r\n  originalMarginTop: 'data-smartbanner-original-margin-top'\r\n};\r\n\r\nfunction handleExitClick(event, self) {\r\n  self.exit();\r\n  event.preventDefault();\r\n}\r\nfunction handleClickout(event, self) {\r\n  self.clickout();\r\n}\r\n\r\nfunction handleJQueryMobilePageLoad(event) {\r\n  if (!this.positioningDisabled) {\r\n    setContentPosition(event.data.height);\r\n  }\r\n}\r\n\r\nfunction addEventListeners(self) {\r\n  let closeIcon = document.querySelector('.js_smartbanner__exit');\r\n  closeIcon.addEventListener('click', (event) => handleExitClick(event, self));\r\n\r\n  let button = document.querySelector('.js_smartbanner__button');\r\n  button.addEventListener('click', (event) => handleClickout(event, self));\r\n\r\n  if (Detector.jQueryMobilePage()) {\r\n    $(document).on('pagebeforeshow', self, handleJQueryMobilePageLoad);\r\n  }\r\n}\r\n\r\nfunction removeEventListeners() {\r\n  if (Detector.jQueryMobilePage()) {\r\n    $(document).off('pagebeforeshow', handleJQueryMobilePageLoad);\r\n  }\r\n}\r\n\r\nfunction setContentPosition(value) {\r\n  let wrappers = Detector.wrapperElement();\r\n  for (let i = 0, l = wrappers.length, wrapper; i < l; i++) {\r\n    wrapper = wrappers[i];\r\n    if (Detector.jQueryMobilePage()) {\r\n      if (wrapper.getAttribute(datas.originalTop)) {\r\n        continue;\r\n      }\r\n      let top = parseFloat(getComputedStyle(wrapper).top);\r\n      wrapper.setAttribute(datas.originalTop, isNaN(top) ? 0 : top);\r\n      wrapper.style.top = value + 'px';\r\n    } else {\r\n      if (wrapper.getAttribute(datas.originalMarginTop)) {\r\n        continue;\r\n      }\r\n      let margin = parseFloat(getComputedStyle(wrapper).marginTop);\r\n      wrapper.setAttribute(datas.originalMarginTop, isNaN(margin) ? 0 : margin);\r\n      wrapper.style.marginTop = value + 'px';\r\n    }\r\n  }\r\n}\r\n\r\nfunction restoreContentPosition() {\r\n  let wrappers = Detector.wrapperElement();\r\n  for (let i = 0, l = wrappers.length, wrapper; i < l; i++) {\r\n    wrapper = wrappers[i];\r\n    if (Detector.jQueryMobilePage() && wrapper.getAttribute(datas.originalTop)) {\r\n      wrapper.style.top = wrapper.getAttribute(datas.originalTop) + 'px';\r\n    } else if (wrapper.getAttribute(datas.originalMarginTop)) {\r\n      wrapper.style.marginTop = wrapper.getAttribute(datas.originalMarginTop) + 'px';\r\n    }\r\n  }\r\n}\r\n\r\nfunction adjustHeader() {\r\n  var el = document.getElementsByClassName(\"smartbanner\");\r\n  if (el.length > 0 && $('#smartbanner').css('display') != 'none') {\r\n      $('body').addClass('smartbanner-active');\r\n  } else {\r\n    $('body').removeClass('smartbanner-active');\r\n  }\r\n}\r\n\r\nexport default class SmartBanner {\r\n\r\n  constructor() {\r\n    let parser = new OptionParser();\r\n    this.options = parser.parse();\r\n    this.platform = Detector.platform();\r\n\r\n    let event = new Event('smartbanner.init');\r\n    document.dispatchEvent(event);\r\n  }\r\n\r\n  // DEPRECATED. Will be removed.\r\n  get originalTop() {\r\n    let wrapper = Detector.wrapperElement()[0];\r\n    return parseFloat(wrapper.getAttribute(datas.originalTop));\r\n  }\r\n\r\n  // DEPRECATED. Will be removed.\r\n  get originalTopMargin() {\r\n    let wrapper = Detector.wrapperElement()[0];\r\n    return parseFloat(wrapper.getAttribute(datas.originalMarginTop));\r\n  }\r\n\r\n  get priceSuffix() {\r\n    if (this.platform === 'ios' && this.options.priceSuffixApple) {\r\n      return this.options.priceSuffixApple;\r\n    } else if (this.platform === 'android' && this.options.priceSuffixGoogle) {\r\n      return this.options.priceSuffixGoogle;\r\n    }\r\n    return '';\r\n  }\r\n\r\n  get price() {\r\n    if (this.options.price && this.options.price !== '') {\r\n      return this.options.price;\r\n    } else {\r\n      return '';\r\n    }\r\n  }\r\n\r\n  get icon() {\r\n    if (this.platform === 'android') {\r\n      return this.options.iconGoogle;\r\n    } else {\r\n      return this.options.iconApple;\r\n    }\r\n  }\r\n\r\n  get buttonUrl() {\r\n    if (this.platform === 'android') {\r\n      return this.options.buttonUrlGoogle;\r\n    } else if (this.platform === 'ios') {\r\n      return this.options.buttonUrlApple;\r\n    }\r\n    return '#';\r\n  }\r\n\r\n  get closeLabel() {\r\n    return this.options.closeLabel !== undefined ? this.options.closeLabel : DEFAULT_CLOSE_LABEL;\r\n  }\r\n\r\n  get buttonLabel() {\r\n    let buttonLabel = this.options.button;\r\n    if (this.platform === 'android' && this.options.buttonGoogle) {\r\n      buttonLabel = this.options.buttonGoogle;\r\n    } else if (this.platform === 'ios' && this.options.buttonApple) {\r\n      buttonLabel = this.options.buttonApple;\r\n    }\r\n\r\n    return buttonLabel || DEFAULT_BUTTON_LABEL;\r\n  }\r\n\r\n  get html() {\r\n    let modifier = !this.options.customDesignModifier ? this.platform : this.options.customDesignModifier;\r\n    return `<div class=\"smartbanner smartbanner--${modifier} js_smartbanner\" id=\"smartbanner\" style=\"display: none;\">\r\n      <a href=\"#\" class=\"smartbanner__exit js_smartbanner__exit\" title=\"${this.closeLabel}\" rel=\"nofollow\"></a>\r\n      <div class=\"smartbanner__icon\" style=\"background-image: url(${this.icon});\"></div>\r\n      <div class=\"smartbanner__info\">\r\n        <div>\r\n          <div class=\"smartbanner__info__title\">${this.options.title}</div>\r\n          <div class=\"smartbanner__info__author\">${this.options.author}</div>\r\n          <div class=\"smartbanner__info__price\">${this.price}${this.priceSuffix}</div>\r\n        </div>\r\n      </div>\r\n      <a href=\"${this.buttonUrl}\" target=\"_blank\" class=\"smartbanner__button js_smartbanner__button ui button\" rel=\"noopener\" aria-label=\"${this.buttonLabel}\">\r\n      <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n        <path d=\"M10.5 0H15.5C15.75 0 16 0.25 16 0.5V5.5C16 5.78125 15.75 6 15.5 6C15.2188 6 15 5.78125 15 5.5V1.71875L7.34375 9.375C7.15625 9.5625 6.8125 9.5625 6.625 9.375C6.4375 9.1875 6.4375 8.84375 6.625 8.65625L14.2812 1H10.5C10.2188 1 10 0.78125 10 0.5C10 0.25 10.2188 0 10.5 0ZM2 1H6.5C6.75 1 7 1.25 7 1.5C7 1.78125 6.75 2 6.5 2H2C1.4375 2 1 2.46875 1 3V14C1 14.5625 1.4375 15 2 15H13C13.5312 15 14 14.5625 14 14V9.5C14 9.25 14.2188 9 14.5 9C14.75 9 15 9.25 15 9.5V14C15 15.125 14.0938 16 13 16H2C0.875 16 0 15.125 0 14V3C0 1.90625 0.875 1 2 1Z\" fill=\"#444444\"/>\r\n      </svg>\r\n\r\n      <span class=\"smartbanner__button__label\">${this.buttonLabel}</span></a>\r\n    </div>`;\r\n  }\r\n\r\n  get height() {\r\n    try {\r\n      return document.querySelector('.js_smartbanner').offsetHeight;\r\n    } catch(error) {\r\n      return 0;\r\n    }\r\n  }\r\n\r\n  get platformEnabled() {\r\n    let enabledPlatforms = this.options.enabledPlatforms || DEFAULT_PLATFORMS;\r\n    return enabledPlatforms && enabledPlatforms.replace(/\\s+/g, '').split(',').indexOf(this.platform) !== -1;\r\n  }\r\n\r\n  get positioningDisabled() {\r\n    return this.options.disablePositioning === 'true';\r\n  }\r\n\r\n  get apiEnabled() {\r\n    return this.options.api === 'true' || this.options.api === 'yes';\r\n  }\r\n\r\n  get userAgentExcluded() {\r\n    if (!this.options.excludeUserAgentRegex) {\r\n      return false;\r\n    }\r\n    return Detector.userAgentMatchesRegex(this.options.excludeUserAgentRegex);\r\n  }\r\n\r\n  get userAgentIncluded() {\r\n    if (!this.options.includeUserAgentRegex) {\r\n      return false;\r\n    }\r\n    return Detector.userAgentMatchesRegex(this.options.includeUserAgentRegex);\r\n  }\r\n\r\n  get hideTtl() {\r\n    return this.options.hideTtl ? parseInt(this.options.hideTtl) : false;\r\n  }\r\n\r\n  get hidePath() {\r\n    return this.options.hidePath ? this.options.hidePath : '/';\r\n  }\r\n\r\n  publish() {    \r\n      if (Object.keys(this.options).length === 0) {\r\n        throw new Error('No options detected. Please consult documentation.');\r\n      }\r\n\r\n      if (Bakery.baked) {\r\n        return false;\r\n      }\r\n\r\n      // User Agent was explicetely excluded by defined excludeUserAgentRegex\r\n      if (this.userAgentExcluded) {\r\n        return false;\r\n      }\r\n\r\n      // User agent was neither included by platformEnabled,\r\n      // nor by defined includeUserAgentRegex\r\n      if (!(this.platformEnabled || this.userAgentIncluded)) {\r\n        return false;\r\n      }\r\n    \r\n      let bannerDiv = document.createElement('div');\r\n      document.querySelector('body').prepend(bannerDiv);\r\n      bannerDiv.outerHTML = this.html;\r\n      let event = new Event('smartbanner.view');\r\n      document.dispatchEvent(event);\r\n      //if (!this.positioningDisabled) {\r\n      //setContentPosition(this.height);\r\n    //}\r\n\r\n    const hideSmartBanner = Cookies.get(`HideSmartBanner`)\r\n    if ($('html').hasClass('gday-theme') && !hideSmartBanner) {\r\n      $('#smartbanner').fadeIn(100);\r\n      addEventListeners(this);\r\n      adjustHeader();    \r\n    }\r\n     \r\n    \r\n    \r\n  }\r\n\r\n  exit() {\r\n    Cookies.set(`HideSmartBanner`, true, {\r\n      expires: 1, // in days\r\n      path: '/',\r\n    })\r\n    removeEventListeners();\r\n    if (!this.positioningDisabled) {\r\n      restoreContentPosition();\r\n    }\r\n    let banner = document.querySelector('.js_smartbanner');\r\n    document.querySelector('body').removeChild(banner);\r\n    let event = new Event('smartbanner.exit');\r\n    document.dispatchEvent(event);\r\n    Bakery.bake(this.hideTtl, this.hidePath);\r\n    adjustHeader();\r\n  }\r\n\r\n  clickout() {    \r\n    let event = new Event('smartbanner.clickout');\r\n    document.dispatchEvent(event);\r\n    adjustHeader();\r\n  }\r\n}\r\n"],"names":["OptionParser","parse","metas","document","getElementsByTagName","options","Array","apply","forEach","meta","optionName","name","getAttribute","content","indexOf","split","length","valid","parts","map","part","index","charAt","toUpperCase","substring","join","convertToCamelCase","Detector","platform","maxTouchPoints","window","navigator","userAgent","test","MSStream","userAgentMatchesRegex","regexString","RegExp","jQueryMobilePage","global","$","mobile","querySelector","wrapperElement","selector","querySelectorAll","Bakery","getCookieExpiresString","hideTtl","now","Date","getTime","toGMTString","bake","hidePath","cookie","unbake","baked","replace","datas","originalTop","originalMarginTop","handleJQueryMobilePageLoad","event","this","positioningDisabled","value","wrappers","wrapper","i","l","top","parseFloat","getComputedStyle","setAttribute","isNaN","style","margin","marginTop","setContentPosition","data","height","adjustHeader","getElementsByClassName","css","addClass","removeClass","SmartBanner","constructor","parser","Event","dispatchEvent","originalTopMargin","priceSuffix","priceSuffixApple","priceSuffixGoogle","price","icon","iconGoogle","iconApple","buttonUrl","buttonUrlGoogle","buttonUrlApple","closeLabel","undefined","buttonLabel","button","buttonGoogle","buttonApple","html","customDesignModifier","title","author","offsetHeight","error","platformEnabled","enabledPlatforms","disablePositioning","apiEnabled","api","userAgentExcluded","excludeUserAgentRegex","userAgentIncluded","includeUserAgentRegex","parseInt","publish","Object","keys","Error","bannerDiv","createElement","prepend","outerHTML","hideSmartBanner","Cookies","get","hasClass","fadeIn","self","addEventListener","exit","preventDefault","handleExitClick","clickout","handleClickout","on","addEventListeners","set","expires","path","off","restoreContentPosition","banner","removeChild"],"sourceRoot":""}