{"version":3,"sources":["webpack:///./src/modules/ArticleTextModule/ArticleTextModule.types.ts","webpack:///./src/modules/ArticleTextModule/ArticleTextModule.vue?0e09","webpack:///./src/modules/ArticleTextModule/ArticleTextModule.ts?f8f1","webpack:///./src/modules/ArticleTextModule/ArticleTextModule.ts","webpack:///./src/modules/ArticleTextModule/ArticleTextModule.vue","webpack:///./src/common/interfaces/CtaLinkItem.ts","webpack:///./src/components/ArticleText/ArticleText.utils.ts","webpack:///./src/components/ArticleText/ArticleText.vue?d980","webpack:///./src/components/ArticleText/ArticleText.ts?f0c9","webpack:///./src/components/ArticleText/ArticleText.ts","webpack:///./src/components/ArticleText/ArticleText.vue"],"names":["ArticleTextModuleViewModel","props","Text","HasDropCap","NewsletterSingUpCta","Button","ButtonStyle","Black","Link","Title","Action","Target","Header","SecondHeader","ArticleTextModule","components","ArticleText","extend","component","_h","this","$createElement","_c","_self","attrs","p","CtaButtonStyle","getButtonClass","Primary","Secondary","Tertiary","White","Ghost","PrimaryDarkBlack","None","getArticleCta","moduleId","state","isArticle","Meta","Analytics","page_type_name","Modules","PageData","Slots","firstWithCtaIndex","findIndex","m","Data","firstWithCta","ctaInlineModuleIndex","Type","ContentLinkId","blockquoteSanitized","replace","btn","ArticleTextRaw","ArticleTextCleaned","ArticleTextImg","$parent","$attrs","contentLinkId","staticClass","class","domProps","_s","TextData"],"mappings":"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","file":"110.840fa16a7cae6ef36215.js","sourcesContent":["import { CtaButtonStyle } from \"@/common/interfaces/CtaLinkItem\";\nimport { ArticleCtaProps } from \"@/components/ArticleText/ArticleText.utils\";\nimport { getComponentProps } from \"@/utils/vueUtils\";\n\nexport interface IArticleTextModuleViewModel extends ArticleCtaProps {\n Text: string;\n HasDropCap: boolean;\n}\n\nexport const ArticleTextModuleViewModel = {\n props: getComponentProps({\n Text: '',\n HasDropCap: false,\n NewsletterSingUpCta: {\n Button: {\n ButtonStyle: CtaButtonStyle.Black,\n Text:\"\",\n Link:\"\",\n Title: \"\",\n Action: \"Button\",\n Target: \"\"\n },\n Header: \"\",\n SecondHeader: \"\"\n },\n }),\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('ArticleText',{attrs:{\"p\":_vm.p}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleTextModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleTextModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport ArticleText from '@/components/ArticleText/ArticleText.vue';\nimport { ArticleTextModuleViewModel } from './ArticleTextModule.types';\n\nconst ArticleTextModuleProps = Vue.extend(ArticleTextModuleViewModel);\n\n@Component({\n components: {\n ArticleText,\n },\n})\nexport default class ArticleTextModule extends ArticleTextModuleProps {}\n","import { render, staticRenderFns } from \"./ArticleTextModule.vue?vue&type=template&id=20c7315e&\"\nimport script from \"./ArticleTextModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ArticleTextModule.ts?vue&type=script&lang=ts&\"\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","import LinkItem from './LinkItem';\n\nexport type ActionType = 'Button' | 'Phone' | 'Book' | 'Custom';\n\nexport enum CtaButtonStyle {\n Primary = 1,\n Secondary = 2,\n Tertiary = 3,\n White = 4,\n Black = 5,\n Ghost = 6,\n PrimaryDarkBlack = 7,\n None = 99,\n}\n\nexport default interface CtaLinkItem extends LinkItem {\n Action?: ActionType;\n ButtonStyle?: CtaButtonStyle;\n}\n\nexport const getButtonClass = (ButtonStyle: CtaButtonStyle) => {\n switch (ButtonStyle) {\n case CtaButtonStyle.Primary:\n return 'button--primary';\n case CtaButtonStyle.Secondary:\n return 'button--secondary';\n case CtaButtonStyle.Tertiary:\n return 'button--tertiary';\n case CtaButtonStyle.White:\n return 'button--white';\n case CtaButtonStyle.Black:\n return 'button--black';\n case CtaButtonStyle.Ghost:\n return 'button--ghost';\n case CtaButtonStyle.PrimaryDarkBlack:\n return 'button--primary button--primary--dark';\n case CtaButtonStyle.None:\n return '';\n default:\n return 'button--primary';\n }\n}","import CtaLinkItem, { getButtonClass } from '@/common/interfaces/CtaLinkItem';\nimport { CtaInlineBlockViewModel } from '@/modules/CtaInlineModule/CtaInlineModule.types';\nimport { getStore } from '@/store';\n\nexport interface ArticleCtaProps {\n NewsletterSingUpCta?: CtaInlineBlockViewModel;\n}\n\nexport const getArticleCta = (\n { ButtonStyle, Target, Link, Title, Text }: CtaLinkItem,\n ArticleText: string,\n moduleId: string | number,\n ) => {\n const state = getStore().state;\n const isArticle = state.Meta.Analytics.page_type_name === 'JournalArticlePage';\n const Modules = state.Modules.PageData.Slots[1].Modules;\n const firstWithCtaIndex = Modules.findIndex(m => m.Data.NewsletterSingUpCta)\n const firstWithCta = Modules[firstWithCtaIndex]\n const ctaInlineModuleIndex = Modules.findIndex(m => m.Type === 'CtaInlineModule')\n\n if (ctaInlineModuleIndex !== -1 && (firstWithCtaIndex + 1 === ctaInlineModuleIndex || firstWithCtaIndex - 1 === ctaInlineModuleIndex)) {\n return ArticleText\n }\n \n if (firstWithCta.ContentLinkId !== moduleId) {\n return ArticleText\n }\n\n const blockquoteSanitized = ArticleText\n .replace(/

<\\/blockquote>/, '

')\n\n const buttonClass = getButtonClass(ButtonStyle)\n const linkTarget = Target ? Target : '_self'\n const linkText = Text ? `${Text}` : ''\n const btn = `\n \n ${linkText}\n ${Title}\n \n `;\n return Title && isArticle ? blockquoteSanitized.replace(/<\\/p>/, btn) : ArticleText;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"article-text module module--mb container\"},[_c('div',{staticClass:\"article-text__text\",class:[{'has-drop-cap': _vm.p.HasDropCap }],domProps:{\"innerHTML\":_vm._s(_vm.TextData)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleText.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleText.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport { ArticleTextModuleViewModel } from '@/modules/ArticleTextModule/ArticleTextModule.types';\nimport { getArticleCta } from './ArticleText.utils';\n\nconst ArticleTextProps = Vue.extend(ArticleTextModuleViewModel);\n\n@Component({\n components: {},\n})\nexport default class ArticleText extends ArticleTextProps {\n get TextData() {\n const { NewsletterSingUpCta, Text: ArticleTextRaw } = this.p\n\n const ArticleTextCleaned = ArticleTextRaw?.replace(/

 <\\/p>/g, '')\n const ArticleTextImg = ArticleTextCleaned?.replace(/.aspx\"/g, '.aspx?quality=50&maxwidth=1920&format=jpg\" style=\"height:auto\"')\n const ArticleText = ArticleTextImg?.replace(/.pdf\"/g, `.pdf\" title=\"PDF download\"`)\n\n if (!NewsletterSingUpCta) return ArticleText\n const { ButtonStyle, Target, Link, Text, Title } = this.p.NewsletterSingUpCta.Button\n\n return getArticleCta(\n { ButtonStyle, Target, Link, Text, Title },\n ArticleText,\n this.$parent.$attrs.contentLinkId,\n )\n }\n}\n","import { render, staticRenderFns } from \"./ArticleText.vue?vue&type=template&id=3f908cd4&\"\nimport script from \"./ArticleText.ts?vue&type=script&lang=ts&\"\nexport * from \"./ArticleText.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ArticleText.scss?vue&type=style&index=0&lang=scss&\"\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":""}