{"version":3,"sources":["webpack:///./src/components/Editorial/EditorialHorizontalImmersive.vue?8e7b","webpack:///src/components/Editorial/EditorialHorizontalImmersive.vue","webpack:///./src/components/Editorial/EditorialHorizontalImmersive.vue?f45e","webpack:///./src/components/Editorial/EditorialHorizontalImmersive.vue","webpack:///./src/components/Editorial/MgnlEditorialImmersive.vue?5f1f","webpack:///src/components/Editorial/MgnlEditorialImmersive.vue","webpack:///./src/components/Editorial/MgnlEditorialImmersive.vue?1175","webpack:///./src/components/Editorial/MgnlEditorialImmersive.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","visibility","$config","editMode","ref","uuid","staticClass","class","getLayoutClasses","style","isMobile","attrs","_f","getFallbackImage","altImage","_e","image","upperSubtitle","hideUpperSubtitle","subheadingTag","tag","_v","_s","headingTag","headingClass","title","subtitle","domProps","text","ctaLinks","length","_l","ctaObj","key","sectionStyle","analyticsData","staticRenderFns","type","Boolean","component","classes","_b","areaSectionStyle","common","actpageFullUrl","model","_t","mixins","name","components","Editorial","EditorialHorizontalImmersive","computed","areaModel","props"],"mappings":"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","file":"js/chunk-2c9b8d06-549cd63738cb737a4ba6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visibility || _vm.$config.editMode)?_c('div',{ref:(\"id-\" + _vm.uuid),staticClass:\"editorial-immersive__grid\",class:_vm.getLayoutClasses},[(_vm.image)?_c('figure',{staticClass:\"editorial-immersive__grid-item  editorial-immersive__figure\",style:(_vm.getGridStyle)},[(!_vm.isMobile)?_c('pg-image',{attrs:{\"lazy-src\":_vm._f(\"mgnlMedia\")(_vm.image,'url'),\"alt\":_vm.altImage}}):(_vm.isMobile)?_c('pg-image',{staticClass:\"mobile\",attrs:{\"lazy-src\":_vm._f(\"mgnlMedia\")(_vm.getFallbackImage,'url'),\"alt\":_vm.altImage}}):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"editorial-immersive__grid-item editorial-immersive__text\",style:(_vm.getGridStyle)},[(_vm.upperSubtitle && !_vm.hideUpperSubtitle)?_c(_vm.subheadingTag,{tag:\"component\",staticClass:\"editorial-immersive__grid__subheading editorial-immersive__grid__subheading--upper text--heading-s\"},[_vm._v(_vm._s(_vm.upperSubtitle)+\" \")]):_vm._e(),(_vm.title)?_c(_vm.headingTag,{tag:\"component\",class:_vm.headingClass},[_vm._v(_vm._s(_vm.title))]):_vm._e(),(_vm.subtitle)?_c(_vm.subheadingTag,{tag:\"component\",staticClass:\"editorial-immersive__grid__subheading text--heading-s\"},[_vm._v(_vm._s(_vm.subtitle)+\" \")]):_vm._e(),_c('div',{staticClass:\"text--body\",domProps:{\"innerHTML\":_vm._s(_vm.text)}}),(_vm.ctaLinks && _vm.ctaLinks.length > 0)?_c('div',{staticClass:\"editorial-immersive__grid__cta margin-top__btn-m margin-bottom__btn-m\"},_vm._l((_vm.ctaLinks),function(ctaObj){return _c('span',{key:ctaObj.uuid},[_c('advanced-button-wrapper',{attrs:{\"cta-obj\":ctaObj,\"color\":\"primary\",\"styleType\":\"text\",\"size\":\"medium\",\"sectionStyle\":_vm.sectionStyle,\"analyticsData\":_vm.analyticsData(ctaObj)}})],1)}),0):_vm._e()],1)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div v-if=\"visibility || $config.editMode\" class=\"editorial-immersive__grid\" :class=\"getLayoutClasses\" :ref=\"`id-${uuid}`\">\n    <figure v-if=\"image\" class=\"editorial-immersive__grid-item  editorial-immersive__figure\" :style=\"getGridStyle\">\n      <pg-image v-if=\"!isMobile\" :lazy-src=\"image | mgnlMedia('url')\" :alt=\"altImage\"></pg-image>\n      <pg-image v-else-if=\"isMobile\" :lazy-src=\"getFallbackImage | mgnlMedia('url')\" :alt=\"altImage\" class=\"mobile\"></pg-image>\n    </figure>\n    <div class=\"editorial-immersive__grid-item editorial-immersive__text\" :style=\"getGridStyle\">\n      <component\n          :is=\"subheadingTag\"\n          class=\"editorial-immersive__grid__subheading editorial-immersive__grid__subheading--upper text--heading-s\"\n          v-if=\"upperSubtitle && !hideUpperSubtitle\"\n      >{{upperSubtitle}}\n      </component>\n      <component :is=\"headingTag\" :class=\"headingClass\" v-if=\"title\">{{title}}</component>\n      <component\n          :is=\"subheadingTag\"\n          class=\"editorial-immersive__grid__subheading text--heading-s\"\n          v-if=\"subtitle\"\n      >{{subtitle}}\n      </component>\n      <div class=\"text--body\" v-html=\"text\"></div>\n      <div v-if=\"ctaLinks && ctaLinks.length > 0\" class=\"editorial-immersive__grid__cta margin-top__btn-m margin-bottom__btn-m\">\n        <span v-for=\"ctaObj in ctaLinks\" :key=\"ctaObj.uuid\">\n          <advanced-button-wrapper :cta-obj=\"ctaObj\" color=\"primary\" styleType=\"text\" size=\"medium\" :sectionStyle=\"sectionStyle\" :analyticsData=\"analyticsData(ctaObj)\"/>\n        </span>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script>\n  import AdvancedButtonWrapper from \"../Advanced-Button-Wrapper/Advanced-Button-Wrapper\";\n  import PgImage  from \"../Image/Image.vue\";\n\n  export default {\n    name: \"EditorialHorizontalImmersive\",\n    data() {\n      return {\n        actionParam: null\n      }\n    },\n    components: {\n      AdvancedButtonWrapper,\n      PgImage\n    },\n    props: {\n      uuid: {\n        type: String\n      },\n      upperSubtitle: {\n        type: String\n      },\n      hideUpperSubtitle: {\n      type: Boolean\n      },\n      title: {\n        type: String\n      },\n      subtitle: {\n        type: String\n      },\n      text: {\n        type: String\n      },\n      ctaLinks: {\n        type: Array,\n        required: false,\n        default: () => []\n      },\n      image: {\n        type: Object,\n        required: false,\n        default: null\n      },\n      imageMobile: {\n        type: Object,\n        required: false,\n        default: null\n      },\n      altImage: {\n        type: String,\n        defaultValue: \"\",\n        required: false\n      },\n      layout: {\n        type: String\n      },\n      headingStyle: {\n        type: String\n      },\n      sectionStyle: {\n        type: String\n      },\n      fullImage: {\n        type: Boolean,\n        default: false\n      },\n      actpageFullUrl: {\n        type: String,\n      },\n      visibility: {\n        type: Boolean,\n        default: true\n      }\n    },\n    computed: {\n      getFallbackImage() {\n        return !this.imageMobile ? this.image : this.imageMobile;\n      },\n      getGridStyle() {\n        return !this.isMobile ? \"--aspect-ratio: 4/3;\" : \"--aspect-ratio: 3/4;\"\n      },\n      isMobile() {\n        return window.matchMedia('only screen and (max-width: 640px)').matches;\n      },\n      headingClass() {\n        return this.headingStyle === \"large\"\n            ? \"editorial-immersive__grid__title text--heading-l\"\n            : \"editorial-immersive__grid__title text--heading-m\";\n      },\n      headingTag() {\n        return this.headingStyle === \"large\" ? \"h2\" : \"h3\"; //simplified heading hierarchy for accessibility purpose\n      },\n      subheadingTag() {\n        return this.headingStyle === \"large\" ? \"p\" : \"p\"; //simplified heading hierarchy for accessibility purpose\n      },\n      getLayoutClasses() {\n        return [\n          this.fullImage ? \"editorial-immersive__grid-fullImage\" : \"\",\n          `editorial-immersive__${this.layout}`\n        ]\n      }\n    },\n    methods: {\n      isInViewport(elem) {\n        const rect = elem.getBoundingClientRect();\n        const html = document.documentElement;\n        return (\n            rect.top >= 0 &&\n            rect.left >= 0 &&\n            rect.bottom <= (window.innerHeight || html.clientHeight) &&\n            rect.right <= (window.innerWidth || html.clientWidth)\n        );\n      },\n      scrollToAnchor(targetId) {\n\n        if (targetId == `id-${this.uuid}`) {\n          const anchor = this.$refs[targetId];\n\n          if (!anchor) return;\n          const marginToTop = 144;\n          const bounding = anchor.getBoundingClientRect();\n          let distanceToTop = Math.floor(bounding.top - marginToTop);\n\n          if (window.pageYOffset === 0) {\n            distanceToTop -= 62;\n          }\n\n          anchor.parentElement.tabIndex = -1;\n          anchor.parentElement.focus();\n\n          window.scrollBy({top: distanceToTop, left: 0, behavior: \"smooth\"});\n\n        }\n      },\n      onPageScrolling() {\n        const ctx = this;\n        window.requestAnimationFrame(() => {\n          // Run scroll functions\n          const anchor = document.getElementById(`uuid-${ctx.uuid}`);\n          if (ctx.isInViewport(anchor)) {\n            ctx.$eventHub.emit('editorial:elementInViewport', ctx.uuid);\n          }\n        });\n      },\n      analyticsData(el) {\n        return {\n          evCategory: 'call_to_action',\n          evAction: el.document?.url || el.link?.url || el.trackingLabel,\n          evLabel: `${el.campaignId || 'No Campaign'} | ${this.actpageFullUrl}`\n        }\n      }\n    },\n    mounted() {\n      // Listen for message events\n      this.$eventHub.on(\"anchor:scrollTo\", (targetId) => {\n        this.scrollToAnchor(targetId);\n      });\n      // Listen for scroll events\n      if (this.upperSubtitle) {\n        window.addEventListener(\"scroll\", this.onPageScrolling);\n      }\n    },\n    destroyed() {\n      window.removeEventListener(\"scroll\", this.onPageScrolling);\n    }\n  };\n</script>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorialHorizontalImmersive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditorialHorizontalImmersive.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EditorialHorizontalImmersive.vue?vue&type=template&id=dd0ea124&\"\nimport script from \"./EditorialHorizontalImmersive.vue?vue&type=script&lang=js&\"\nexport * from \"./EditorialHorizontalImmersive.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\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:_vm.classes},[_c('editorial-horizontal-immersive',_vm._b({attrs:{\"section-style\":_vm.areaSectionStyle,\"actpageFullUrl\":_vm.common.actpageFullUrl}},'editorial-horizontal-immersive',_vm.model,false),[_vm._t(\"default\")],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div :class=\"classes\">\n    <editorial-horizontal-immersive v-bind=\"model\" :section-style=\"areaSectionStyle\" :actpageFullUrl=\"common.actpageFullUrl\">\n      <slot></slot>\n    </editorial-horizontal-immersive>\n  </div>\n</template>\n\n<script>\nimport { mgnlComponentMixin } from \"@wl-vue-mixins/mixins.js\";\nimport Editorial              from \"./Editorial\";\nimport EditorialHorizontalImmersive from \"./EditorialHorizontalImmersive.vue\";\n\nexport default {\n  mixins: [mgnlComponentMixin], // !!! all the mgnl components must be configured with mgnlComponentMixin !!!\n  name: \"MgnlEditorialImmersive\",\n  components: {\n    Editorial,\n    EditorialHorizontalImmersive\n  },\n  computed: {\n    classes() {\n      return this.areaModel ? `cell ${this.areaModel.cell}` : '';\n    },\n    areaSectionStyle() {\n      return this.areaModel ? this.areaModel.sectionStyle : this.model.sectionStyle;\n    }\n  },\n  props: ['areaModel']\n};\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MgnlEditorialImmersive.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MgnlEditorialImmersive.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MgnlEditorialImmersive.vue?vue&type=template&id=ecf91862&\"\nimport script from \"./MgnlEditorialImmersive.vue?vue&type=script&lang=js&\"\nexport * from \"./MgnlEditorialImmersive.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\nexport default component.exports"],"sourceRoot":""}