{"version":3,"file":"scripts/chunks/src_widgets_smartbanner_index_js.f9b4c08fcff557bd9b60.js","mappings":"sMAEA,IAAIA,EAEJC,OAAOC,iBAAiB,QAAQ,WAC9BF,EAAc,IAAIG,EAAAA,QACdH,EAAYI,WACdH,OAAOD,YAAcA,EAErBA,EAAYK,SAEhB,G,oECIe,MAAMC,EAEnBC,KAAAA,GACE,IAAIC,EAAQC,SAASC,qBAAqB,QACtCC,EAAU,CAAC,EAaf,OAZAC,MAAMC,MAAM,KAAML,GAAOM,SAAQ,SAASC,GACxC,IAAIC,EAAa,KACbC,EAAOF,EAAKG,aAAa,QACzBC,EAAUJ,EAAKG,aAAa,WAC5BD,GAAQE,GAxBlB,SAAeF,GAEb,OAAyC,IAAlCA,EAAKG,QAAQ,iBAA0BH,EAAKI,MAAM,KAAK,GAAGC,OAAS,CAC5E,CAqB6BC,CAAMN,IAASE,EAAQG,OAAS,IACrDN,EAAaC,EAAKI,MAAM,KAAK,IACI,IAA7BL,EAAWI,QAAQ,OACrBJ,EAtBV,SAA4BC,GAC1B,IAAIO,EAAQP,EAAKI,MAAM,KAMvB,OALAG,EAAMC,KAAI,SAASC,EAAMC,GACnBA,EAAQ,IACVH,EAAMG,GAASD,EAAKE,OAAO,GAAGC,cAAgBH,EAAKI,UAAU,GAEjE,IACON,EAAMO,KAAK,GACpB,CAcuBC,CAAmBhB,IAElCL,EAAQK,GAAcG,EAE1B,IACOR,CACT,ECjCa,MAAMsB,EAEnB,eAAOC,GACL,IAAIC,EAAiBlC,OAAOmC,UAAUD,eAClCE,EAAYpC,OAAOmC,UAAUC,UAEjC,MAAI,WAAWC,KAAKD,GACX,WAGIpC,OAAOsC,WAAa,qBAAqBD,KAAKD,IAAcF,GAAkBA,EAAiB,GAAM,oBAAoBG,KAAKD,GAClI,WADF,CAGT,CAEA,4BAAOG,CAAsBC,GAC3B,OAAO,IAAIC,OAAOD,GAAaH,KAAKrC,OAAOmC,UAAUC,UACvD,CAEA,uBAAOM,GACL,YAA2B,IAAbC,EAAAA,EAAOC,GAAyC,cAApBD,EAAAA,EAAOC,EAAEC,QAAiE,OAAvCrC,SAASsC,cAAc,WACtG,CAEA,qBAAOC,GACL,IAAIC,EAAWhB,EAASU,mBAAqB,WAAa,OAC1D,OAAOlC,SAASyC,iBAAiBD,EACnC,EC1Ba,MAAME,EAEnB,6BAAOC,CAAuBC,GAC5B,MAAMC,EAAM,IAAIC,KAEhB,MAAQ,WADW,IAAIA,KAAKD,EAAIE,UAAYH,GACfI,gBAC/B,CAEA,WAAOC,CAAKL,EAASM,GACnBlD,SAASmD,OAAU,yBAAwBP,EAAUF,EAAOC,uBAAuBC,GAAW,WAAWM,GAC3G,CAEA,aAAOE,GACLpD,SAASmD,OAAS,6DACpB,CAEA,gBAAWE,GAET,MAAiB,MADLrD,SAASmD,OAAOG,QAAQ,2DAA4D,KAElG,E,cCVF,IAAIC,EAAQ,CACVC,YAAa,gCACbC,kBAAmB,wCAWrB,SAASC,EAA2BC,GAC7BC,KAAKC,qBAuBZ,SAA4BC,GAC1B,IAAIC,EAAWvC,EAASe,iBACxB,IAAK,IAAgCyB,EAA5BC,EAAI,EAAGC,EAAIH,EAASlD,OAAiBoD,EAAIC,EAAGD,IAEnD,GADAD,EAAUD,EAASE,GACfzC,EAASU,mBAAoB,CAC/B,GAAI8B,EAAQvD,aAAa8C,EAAMC,aAC7B,SAEF,IAAIW,EAAMC,WAAWC,iBAAiBL,GAASG,KAC/CH,EAAQM,aAAaf,EAAMC,YAAae,MAAMJ,GAAO,EAAIA,GACzDH,EAAQQ,MAAML,IAAML,EAAQ,IAC9B,KAAO,CACL,GAAIE,EAAQvD,aAAa8C,EAAME,mBAC7B,SAEF,IAAIgB,EAASL,WAAWC,iBAAiBL,GAASU,WAClDV,EAAQM,aAAaf,EAAME,kBAAmBc,MAAME,GAAU,EAAIA,GAClET,EAAQQ,MAAME,UAAYZ,EAAQ,IACpC,CAEJ,CA1CIa,CAAmBhB,EAAMiB,KAAKC,OAElC,CAsDA,SAASC,IACE9E,SAAS+E,uBAAuB,eAClClE,OAAS,GAAyC,QAApCuB,EAAE,gBAAgB4C,IAAI,WACvC5C,EAAE,QAAQ6C,SAAS,sBAErB7C,EAAE,QAAQ8C,YAAY,qBAE1B,CAEe,MAAMxF,EAEnByF,WAAAA,GACE,IAAIC,EAAS,IAAIvF,EACjB+D,KAAK1D,QAAUkF,EAAOtF,QACtB8D,KAAKnC,SAAWD,EAASC,WAEzB,IAAIkC,EAAQ,IAAI0B,MAAM,oBACtBrF,SAASsF,cAAc3B,EACzB,CAGA,eAAIH,GACF,IAAIQ,EAAUxC,EAASe,iBAAiB,GACxC,OAAO6B,WAAWJ,EAAQvD,aAAa8C,EAAMC,aAC/C,CAGA,qBAAI+B,GACF,IAAIvB,EAAUxC,EAASe,iBAAiB,GACxC,OAAO6B,WAAWJ,EAAQvD,aAAa8C,EAAME,mBAC/C,CAEA,eAAI+B,GACF,MAAsB,QAAlB5B,KAAKnC,UAAsBmC,KAAK1D,QAAQuF,iBACnC7B,KAAK1D,QAAQuF,iBACO,YAAlB7B,KAAKnC,UAA0BmC,KAAK1D,QAAQwF,kBAC9C9B,KAAK1D,QAAQwF,kBAEf,EACT,CAEA,SAAIC,GACF,OAAI/B,KAAK1D,QAAQyF,OAAgC,KAAvB/B,KAAK1D,QAAQyF,MAC9B/B,KAAK1D,QAAQyF,MAEb,EAEX,CAEA,QAAIC,GACF,MAAsB,YAAlBhC,KAAKnC,SACAmC,KAAK1D,QAAQ2F,WAEbjC,KAAK1D,QAAQ4F,SAExB,CAEA,aAAIC,GACF,MAAsB,YAAlBnC,KAAKnC,SACAmC,KAAK1D,QAAQ8F,gBACO,QAAlBpC,KAAKnC,SACPmC,KAAK1D,QAAQ+F,eAEf,GACT,CAEA,cAAIC,GACF,YAAmCC,IAA5BvC,KAAK1D,QAAQgG,WAA2BtC,KAAK1D,QAAQgG,WA7IpC,OA8I1B,CAEA,eAAIE,GACF,IAAIA,EAAcxC,KAAK1D,QAAQmG,OAO/B,MANsB,YAAlBzC,KAAKnC,UAA0BmC,KAAK1D,QAAQoG,aAC9CF,EAAcxC,KAAK1D,QAAQoG,aACA,QAAlB1C,KAAKnC,UAAsBmC,KAAK1D,QAAQqG,cACjDH,EAAcxC,KAAK1D,QAAQqG,aAGtBH,GAvJkB,MAwJ3B,CAEA,QAAII,GAEF,MAAQ,wCADQ5C,KAAK1D,QAAQuG,qBAAuC7C,KAAK1D,QAAQuG,qBAA7B7C,KAAKnC,8IAEamC,KAAKsC,sGACXtC,KAAKgC,yHAGvBhC,KAAK1D,QAAQwG,iEACZ9C,KAAK1D,QAAQyG,iEACd/C,KAAK+B,QAAQ/B,KAAK4B,mEAGnD5B,KAAKmC,sHAAsHnC,KAAKwC,ovBAKhGxC,KAAKwC,oCAEpD,CAEA,UAAIvB,GACF,IACE,OAAO7E,SAASsC,cAAc,mBAAmBsE,YACnD,CAAE,MAAMC,GACN,OAAO,CACT,CACF,CAEA,mBAAIC,GACF,IAAIC,EAAmBnD,KAAK1D,QAAQ6G,kBA1Ld,cA2LtB,OAAOA,IAAgG,IAA5EA,EAAiBzD,QAAQ,OAAQ,IAAI1C,MAAM,KAAKD,QAAQiD,KAAKnC,SAC1F,CAEA,uBAAIoC,GACF,MAA2C,SAApCD,KAAK1D,QAAQ8G,kBACtB,CAEA,cAAIrH,GACF,MAA4B,SAArBiE,KAAK1D,QAAQ+G,KAAuC,QAArBrD,KAAK1D,QAAQ+G,GACrD,CAEA,qBAAIC,GACF,QAAKtD,KAAK1D,QAAQiH,uBAGX3F,EAASO,sBAAsB6B,KAAK1D,QAAQiH,sBACrD,CAEA,qBAAIC,GACF,QAAKxD,KAAK1D,QAAQmH,uBAGX7F,EAASO,sBAAsB6B,KAAK1D,QAAQmH,sBACrD,CAEA,WAAIzE,GACF,QAAOgB,KAAK1D,QAAQ0C,SAAU0E,SAAS1D,KAAK1D,QAAQ0C,QACtD,CAEA,YAAIM,GACF,OAAOU,KAAK1D,QAAQgD,SAAWU,KAAK1D,QAAQgD,SAAW,GACzD,CAEAtD,OAAAA,GACI,GAAyC,IAArC2H,OAAOC,KAAK5D,KAAK1D,SAASW,OAC5B,MAAM,IAAI4G,MAAM,sDAGlB,GAAI/E,EAAOW,MACT,OAAO,EAIT,GAAIO,KAAKsD,kBACP,OAAO,EAKT,IAAMtD,KAAKkD,kBAAmBlD,KAAKwD,kBACjC,OAAO,EAGT,IAAIM,EAAY1H,SAAS2H,cAAc,OACvC3H,SAASsC,cAAc,QAAQsF,QAAQF,GACvCA,EAAUG,UAAYjE,KAAK4C,KAC3B,IAAI7C,EAAQ,IAAI0B,MAAM,oBACtBrF,SAASsF,cAAc3B,GAKzB,MAAMmE,EAAkBC,EAAAA,EAAQC,IAAK,mBACjC5F,EAAE,QAAQ6F,SAAS,gBAAkBH,IACvC1F,EAAE,gBAAgB8F,OAAO,KApO/B,SAA2BC,GACTnI,SAASsC,cAAc,yBAC7B7C,iBAAiB,SAAUkE,GAhBvC,SAAyBA,EAAOwE,GAC9BA,EAAKC,OACLzE,EAAM0E,gBACR,CAaiDC,CAAgB3E,EAAOwE,KAEzDnI,SAASsC,cAAc,2BAC7B7C,iBAAiB,SAAUkE,GAfpC,SAAwBA,EAAOwE,GAC7BA,EAAKI,UACP,CAa8CC,CAAe7E,EAAOwE,KAE9D3G,EAASU,oBACXE,EAAEpC,UAAUyI,GAAG,iBAAkBN,EAAMzE,EAE3C,CA2NMgF,CAAkB9E,MAClBkB,IAKJ,CAEAsD,IAAAA,GACEL,EAAAA,EAAQY,IAAK,mBAAkB,EAAM,CACnCC,QAAS,EACTC,KAAM,MAnONrH,EAASU,oBACXE,EAAEpC,UAAU8I,IAAI,iBAAkBpF,GAqO7BE,KAAKC,qBA3Md,WACE,IAAIE,EAAWvC,EAASe,iBACxB,IAAK,IAAgCyB,EAA5BC,EAAI,EAAGC,EAAIH,EAASlD,OAAiBoD,EAAIC,EAAGD,IACnDD,EAAUD,EAASE,GACfzC,EAASU,oBAAsB8B,EAAQvD,aAAa8C,EAAMC,aAC5DQ,EAAQQ,MAAML,IAAMH,EAAQvD,aAAa8C,EAAMC,aAAe,KACrDQ,EAAQvD,aAAa8C,EAAME,qBACpCO,EAAQQ,MAAME,UAAYV,EAAQvD,aAAa8C,EAAME,mBAAqB,KAGhF,CAkMMsF,GAEF,IAAIC,EAAShJ,SAASsC,cAAc,mBACpCtC,SAASsC,cAAc,QAAQ2G,YAAYD,GAC3C,IAAIrF,EAAQ,IAAI0B,MAAM,oBACtBrF,SAASsF,cAAc3B,GACvBjB,EAAOO,KAAKW,KAAKhB,QAASgB,KAAKV,UAC/B4B,GACF,CAEAyD,QAAAA,GACE,IAAI5E,EAAQ,IAAI0B,MAAM,wBACtBrF,SAASsF,cAAc3B,GACvBmB,GACF,E","sources":["webpack://disp0001/./src/widgets/smartbanner/index.js","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":["import SmartBanner from './smartbanner.js';\r\n\r\nlet smartbanner;\r\n\r\nwindow.addEventListener('load', function() {\r\n  smartbanner = new SmartBanner();\r\n  if (smartbanner.apiEnabled) {\r\n    window.smartbanner = smartbanner;\r\n  } else {\r\n    smartbanner.publish();\r\n  }\r\n});\r\n","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":["smartbanner","window","addEventListener","SmartBanner","apiEnabled","publish","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","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","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","api","userAgentExcluded","excludeUserAgentRegex","userAgentIncluded","includeUserAgentRegex","parseInt","Object","keys","Error","bannerDiv","createElement","prepend","outerHTML","hideSmartBanner","Cookies","get","hasClass","fadeIn","self","exit","preventDefault","handleExitClick","clickout","handleClickout","on","addEventListeners","set","expires","path","off","restoreContentPosition","banner","removeChild"],"sourceRoot":""}