{"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":"wIAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAIM,YAAcN,EAAIO,QAAQC,SAAUJ,EAAG,MAAM,CAACK,IAAK,MAAQT,EAAIU,KAAMC,YAAY,4BAA4BC,MAAMZ,EAAIa,kBAAkB,CAAEb,EAAS,MAAEI,EAAG,SAAS,CAACO,YAAY,8DAA8DG,MAAOd,EAAgB,cAAG,CAAGA,EAAIe,SAAuGf,EAAY,SAAEI,EAAG,WAAW,CAACO,YAAY,SAASK,MAAM,CAAC,WAAWhB,EAAIiB,GAAG,YAAPjB,CAAoBA,EAAIkB,iBAAiB,OAAO,IAAMlB,EAAImB,YAAYnB,EAAIoB,KAA3OhB,EAAG,WAAW,CAACY,MAAM,CAAC,WAAWhB,EAAIiB,GAAG,YAAPjB,CAAoBA,EAAIqB,MAAM,OAAO,IAAMrB,EAAImB,aAAiK,GAAGnB,EAAIoB,KAAKhB,EAAG,MAAM,CAACO,YAAY,2DAA2DG,MAAOd,EAAgB,cAAG,CAAEA,EAAIsB,gBAAkBtB,EAAIuB,kBAAmBnB,EAAGJ,EAAIwB,cAAc,CAACC,IAAI,YAAYd,YAAY,sGAAsG,CAACX,EAAI0B,GAAG1B,EAAI2B,GAAG3B,EAAIsB,eAAe,OAAOtB,EAAIoB,KAAMpB,EAAS,MAAEI,EAAGJ,EAAI4B,WAAW,CAACH,IAAI,YAAYb,MAAMZ,EAAI6B,cAAc,CAAC7B,EAAI0B,GAAG1B,EAAI2B,GAAG3B,EAAI8B,UAAU9B,EAAIoB,KAAMpB,EAAY,SAAEI,EAAGJ,EAAIwB,cAAc,CAACC,IAAI,YAAYd,YAAY,yDAAyD,CAACX,EAAI0B,GAAG1B,EAAI2B,GAAG3B,EAAI+B,UAAU,OAAO/B,EAAIoB,KAAKhB,EAAG,MAAM,CAACO,YAAY,aAAaqB,SAAS,CAAC,UAAYhC,EAAI2B,GAAG3B,EAAIiC,SAAUjC,EAAIkC,UAAYlC,EAAIkC,SAASC,OAAS,EAAG/B,EAAG,MAAM,CAACO,YAAY,yEAAyEX,EAAIoC,GAAIpC,EAAY,UAAE,SAASqC,GAAQ,OAAOjC,EAAG,OAAO,CAACkC,IAAID,EAAO3B,MAAM,CAACN,EAAG,0BAA0B,CAACY,MAAM,CAAC,UAAUqB,EAAO,MAAQ,UAAU,UAAY,OAAO,KAAO,SAAS,aAAerC,EAAIuC,aAAa,cAAgBvC,EAAIwC,cAAcH,OAAY,MAAK,GAAGrC,EAAIoB,MAAM,KAAKpB,EAAIoB,MACnuDqB,EAAkB,G,8CCiCtB,GACE,KAAF,+BACE,KAFF,WAGI,MAAJ,CACM,YAAN,OAGE,WAAF,CACI,sBAAJ,OACI,QAAJ,QAEE,MAAF,CACI,KAAJ,CACM,KAAN,QAEI,cAAJ,CACM,KAAN,QAEI,kBAAJ,CACMC,KAAMC,SAER,MAAJ,CACM,KAAN,QAEI,SAAJ,CACM,KAAN,QAEI,KAAJ,CACM,KAAN,QAEI,SAAJ,CACM,KAAN,MACM,UAAN,EACM,QAAN,WAAQ,MAAR,KAEI,MAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,MAEI,YAAJ,CACM,KAAN,OACM,UAAN,EACM,QAAN,MAEI,SAAJ,CACM,KAAN,OACM,aAAN,GACM,UAAN,GAEI,OAAJ,CACM,KAAN,QAEI,aAAJ,CACM,KAAN,QAEI,aAAJ,CACM,KAAN,QAEI,UAAJ,CACM,KAAN,QACM,SAAN,GAEI,eAAJ,CACM,KAAN,QAEI,WAAJ,CACM,KAAN,QACM,SAAN,IAGE,SAAF,CACI,iBADJ,WAEM,OAAN,8CAEI,aAJJ,WAKM,OAAN,6DAEI,SAPJ,WAQM,OAAN,iEAEI,aAVJ,WAWM,MAAN,4BACA,mDACA,oDAEI,WAfJ,WAgBM,MAAN,uCAEI,cAlBJ,WAmBM,OAAN,uBAEI,iBArBJ,WAsBM,MAAN,CACA,wDADA,+BAEA,gBAIE,QAAF,CACI,aADJ,SACA,GACM,IAAN,4BACA,2BACM,OACN,UACA,WACA,gDACA,6CAGI,eAXJ,SAWA,GAEM,GAAN,4BACQ,IAAR,gBAEQ,IAAR,SACQ,IAAR,MACA,4BACA,sBAEA,yBACU,GAAV,IAGQ,EAAR,0BACQ,EAAR,sBAEQ,OAAR,UAAU,IAAV,EAAU,KAAV,EAAU,SAAV,aAII,gBAhCJ,WAiCM,IAAN,OACM,OAAN,kCAEQ,IAAR,kDACA,mBACU,EAAV,yDAII,cA1CJ,SA0CA,GAAM,IAAN,IACM,MAAN,CACQ,WAAR,iBACQ,UAAR,+GACQ,QAAR,4EAIE,QArJF,WAqJI,IAAJ,OAEI,KAAJ,4CACM,EAAN,qBAGA,oBACM,OAAN,iDAGE,UA/JF,WAgKI,OAAJ,qDClMqX,I,YCOjXC,EAAY,eACd,EACA7C,EACA0C,GACA,EACA,KACA,KACA,MAIa,aAAAG,E,kDClBf,IAAI7C,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,MAAMZ,EAAI6C,SAAS,CAACzC,EAAG,iCAAiCJ,EAAI8C,GAAG,CAAC9B,MAAM,CAAC,gBAAgBhB,EAAI+C,iBAAiB,eAAiB/C,EAAIgD,OAAOC,iBAAiB,iCAAiCjD,EAAIkD,OAAM,GAAO,CAAClD,EAAImD,GAAG,YAAY,IAAI,IACzUV,EAAkB,G,oCCYtB,GACEW,OAAQ,CAAC,EAAX,MACEC,KAAM,yBACNC,WAAY,CACVC,UAAJ,aACIC,6BAAJ,cAEEC,SAAU,CACRZ,QADJ,WAEM,OAAO5C,KAAKyD,UAAY,QAA9B,gCAEIX,iBAJJ,WAKM,OAAO9C,KAAKyD,UAAYzD,KAAKyD,UAAUnB,aAAetC,KAAKiD,MAAMX,eAGrEoB,MAAO,CAAC,cC5BqW,I,YCO3Wf,EAAY,eACd,EACA7C,EACA0C,GACA,EACA,KACA,KACA,MAIa,aAAAG,E","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":""}