{"version":3,"sources":["webpack:///./PandoSites.Web/Shared/DoubleClick/Scripts/_sovrnProperties.js","webpack:///./PandoSites.Web/Shared/DoubleClick/Scripts/sovrnContainer.vue?f0cd","webpack:///./PandoSites.Web/Shared/DoubleClick/Scripts/sovrnContainer.vue?7431","webpack:///./PandoSites.Web/Shared/DoubleClick/Scripts/sovrnContainer.vue","webpack:///./PandoSites.Web/Shared/DoubleClick/Scripts/_adhesiveAdObserver.js"],"names":["internal","alreadyInitialized","external","settings","sovrnData","tags","relevantMetadata","category","contentType","postid","itemId","loadProperties","properSpecialOps","page_meta","post_id","Scripts_sovrnContainervue_type_script_lang_js_","data","userClosedAd","windowWidth","ad","methods","init","this","minPageWidth","defaultMinPageWidth","maxPageWidth","defaultMaxPageWidth","doubleClickAdContainerId","elementId","parent","$el","parentElement","classList","contains","firstElementChild","_adhesiveAdObserver","window","properBuildSlots","closeAd","computed","showAd","responsive","Number","watch","newVal","mounted","_this","innerWidth","addEventListener","component","Object","componentNormalizer","render","staticRenderFns","options","__file","__webpack_exports__","__webpack_require__","config","isRdp","isPdp","rdpSelector","pdpSelector","spacingSelector","adhesiveAdSelector","adhesiveHeaderAdFixedClass","testMode","logMessage","message","forceLog","debugMode","console","log","setupHeaderAdSpacing","spacing","document","querySelector","add","body","closeButtons","getElementsByClassName","i","length","onclick","remove","addObserver","initialize","adhesiveAd","children"],"mappings":"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","file":"sovrn.f45a3406f9ffe15c1806.chunk.js","sourcesContent":["var internal = {\n  alreadyInitialized: false // Initialize the flag\n\n};\nvar external = {\n  initialize: function initialize(settings) {\n    if (internal.alreadyInitialized) return;\n    internal.alreadyInitialized = true;\n    var sovrnData = {\n      tags: settings.relevantMetadata,\n      category: settings.contentType,\n      postid: settings.itemId\n    };\n    internal.loadProperties(sovrnData);\n  }\n};\n\ninternal.loadProperties = function (sovrnData) {\n  if (properSpecialOps) {\n    properSpecialOps.page_meta = {\n      \"tags\": sovrnData.tags,\n      \"category\": sovrnData.category\n    };\n    properSpecialOps.post_id = sovrnData.postid; // Updated to use sovrnData.PostId\n  }\n};\n\nexport { external as default };","import \"@Styles/Shared/DoubleClick/sovrnContainer_sm.less\";\nimport \"@Styles/Shared/DoubleClick/sovrnContainer_md.less\";\nimport \"@Styles/Shared/DoubleClick/sovrnContainer_lg.less\";\nimport AdhesiveAdObserver from './_adhesiveAdObserver';\nimport SovrnProperties from './_sovrnProperties';\nexport default {\n  data: function data() {\n    return {\n      userClosedAd: false,\n      settings: {},\n      windowWidth: 0,\n      ad: null\n    };\n  },\n  methods: {\n    init: function init(settings) {\n      this.settings = settings || {};\n      this.settings.minPageWidth = this.settings.minPageWidth || this.settings.defaultMinPageWidth;\n      this.settings.maxPageWidth = this.settings.maxPageWidth || this.settings.defaultMaxPageWidth;\n      this.settings.doubleClickAdContainerId = settings.elementId;\n      var parent = this.$el.parentElement;\n\n      if (parent && parent.classList.contains('adhesiveAd') && parent.firstElementChild == this.$el) {\n        // set the up adhesive ad observer only once\n        new AdhesiveAdObserver();\n      } //Rebuild Slots\n\n\n      if (window.properBuildSlots) {\n        properBuildSlots();\n      } //Add Sovrn Tags, Categories and custom properties\n\n\n      SovrnProperties.initialize(settings);\n    },\n    closeAd: function closeAd() {\n      this.userClosedAd = true;\n    }\n  },\n  computed: {\n    showAd: function showAd() {\n      if (this.settings.responsive) {\n        return this.windowWidth >= Number(this.settings.minPageWidth) && this.windowWidth <= Number(this.settings.maxPageWidth) && !this.userClosedAd;\n      } else {\n        return !this.userClosedAd;\n      }\n    }\n  },\n  watch: {\n    showAd: function showAd(newVal) {\n      //Rebuild Slots\n      if (newVal === true && window.properBuildSlots) {\n        properBuildSlots();\n      }\n    }\n  },\n  mounted: function mounted() {\n    var _this = this;\n\n    this.windowWidth = window.innerWidth;\n    window.addEventListener('resize', function () {\n      if (window.innerWidth > 0) _this.windowWidth = window.innerWidth;\n    });\n  }\n};","import mod from \"-!../../../../custom_webpack_modules/styleAppenderLoader/index.js??ref--2-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/webpack-import-glob-loader/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sovrnContainer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../custom_webpack_modules/styleAppenderLoader/index.js??ref--2-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/webpack-import-glob-loader/index.js!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./sovrnContainer.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./sovrnContainer.vue?vue&type=script&lang=js&\"\nexport * from \"./sovrnContainer.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"D:\\\\actions-runner\\\\_work\\\\red.PandoSites\\\\red.PandoSites\\\\node_modules\\\\vue-hot-reload-api\\\\dist\\\\index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!module.hot.data) {\n      api.createRecord('8130b786', component.options)\n    } else {\n      api.reload('8130b786', component.options)\n    }\n    \n  }\n}\ncomponent.options.__file = \"PandoSites.Web/Shared/DoubleClick/Scripts/sovrnContainer.vue\"\nexport default component.exports","import { BottomDockObserver } from '@Shared/Common';\n\nvar adhesiveAdObserver = function adhesiveAdObserver(config) {\n  var external = {};\n  var internal = {\n    isRdp: false,\n    isPdp: false,\n    rdpSelector: '.recipeDetail',\n    pdpSelector: '.productDetail',\n    spacingSelector: '.adhesiveAdSpacing',\n    adhesiveAdSelector: '.adhesiveAd',\n    adhesiveHeaderAdFixedClass: 'adhesiveHeaderAdFixed'\n  };\n\n  if (config && config.testMode === true) {\n    external.internal = internal;\n  }\n\n  internal.logMessage = function (message, forceLog) {\n    if (external.debugMode === true || forceLog) {\n      console.log(\"[AdhesiveAd] \" + message);\n    }\n  };\n\n  internal.setupHeaderAdSpacing = function () {\n    var spacing = document.querySelector(internal.spacingSelector);\n\n    if (spacing) {\n      spacing.classList.add('visible');\n      if (internal.isRdp || internal.isPdp) spacing.classList.add('visibleDesktop');\n      document.body.classList.add(internal.adhesiveHeaderAdFixedClass);\n    }\n\n    var ad = document.querySelector(internal.adhesiveAdSelector);\n\n    if (ad) {\n      var closeButtons = ad.getElementsByClassName('closeAdButton');\n\n      for (var i = 0; i < closeButtons.length; i++) {\n        closeButtons[i].onclick = function () {\n          if (spacing) spacing.classList.remove('visible');\n          document.body.classList.remove(internal.adhesiveHeaderAdFixedClass);\n        };\n      }\n    }\n  };\n\n  internal.addObserver = function () {\n    internal.setupHeaderAdSpacing();\n  };\n\n  internal.initialize = function () {\n    internal.isRdp = !!document.querySelector(internal.rdpSelector);\n    internal.isPdp = !!document.querySelector(internal.pdpSelector);\n    var adhesiveAd = document.querySelector(internal.adhesiveAdSelector);\n\n    if (adhesiveAd && adhesiveAd.children.length > 0) {\n      if (internal.isRdp || internal.isPdp) adhesiveAd.classList.add('bottomAdhesiveAdMobile');\n      internal.addObserver();\n    }\n  }; //init during object constructrion\n\n\n  internal.initialize(config);\n  return external;\n};\n\nexport default adhesiveAdObserver;"],"sourceRoot":""}