{"version":3,"sources":["webpack:///./src/modules/PlainHtmlModule/PlainHtmlModule.vue?bb91","webpack:///./src/modules/PlainHtmlModule/PlainHtmlModule.ts?e27b","webpack:///./src/modules/PlainHtmlModule/PlainHtmlModule.ts","webpack:///./src/modules/PlainHtmlModule/PlainHtmlModule.vue","webpack:///./src/common/interfaces/CtaLinkItem.ts","webpack:///./src/components/ArticleText/ArticleText.utils.ts","webpack:///./src/components/TextGeneric/TextGeneric.vue?9208","webpack:///./src/components/TextGeneric/TextGeneric.ts?f67d","webpack:///./src/components/TextGeneric/TextGeneric.ts","webpack:///./src/components/TextGeneric/TextGeneric.vue"],"names":["mounted","this","$nextTick","setTimeout","fixBrokenEmbeds","p","NewsletterSingUpCta","ArticleTextRaw","ArticleTextTableFix","replace","ArticleText","Button","ButtonStyle","Target","Link","Text","Title","$attrs","contentLinkId","wasNotTwitterRendered","document","querySelector","wasNotInstagramRendered","twitter","createElement","src","head","appendChild","instagram","instgrm","Embeds","process","e","PlainHtmlModule","components","TextGeneric","extend","props","IsCentered","IsDropLetter","component","_h","$createElement","_c","_self","staticClass","domProps","_s","TextData","CtaButtonStyle","getButtonClass","Primary","Secondary","Tertiary","White","Black","Ghost","PrimaryDarkBlack","None","getArticleCta","moduleId","state","isArticle","Meta","Analytics","page_type_name","Modules","PageData","Slots","firstWithCtaIndex","findIndex","m","Data","firstWithCta","ctaInlineModuleIndex","Type","ContentLinkId","blockquoteSanitized","btn","$props","item","ArticleTextImg","$parent","TextGenericComponent","Object","_vm","class","IsQuoteCenter","_e"],"mappings":"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","file":"127.dc2c71dc1e18d3e14e75.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"lex-container\"},[_c('div',{staticClass:\"plain-html-module\",domProps:{\"innerHTML\":_vm._s(_vm.TextData)}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./PlainHtmlModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./PlainHtmlModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\n\nimport { getComponentProps } from '@/utils/vueUtils';\nimport TextGeneric from '@/components/TextGeneric/TextGeneric.vue';\nimport TextGenericItem from '@/common/interfaces/TextGenericItem';\nimport { getArticleCta } from '@/components/ArticleText/ArticleText.utils';\n\nconst ContentTextGenericModuleProps = Vue.extend({\n  props: getComponentProps<TextGenericItem>({\n    Text: '<p>Html text</p>',\n    IsCentered: false,\n    IsDropLetter: false,\n  }),\n});\n\n@Component({\n  components: {\n    TextGeneric,\n  },\n})\nexport default class PlainHtmlModule extends ContentTextGenericModuleProps {\n  mounted() {\n    this.$nextTick(() => setTimeout(() => this.fixBrokenEmbeds(), 150));\n  }\n  get TextData() {\n    const { NewsletterSingUpCta, Text: ArticleTextRaw } = this.p\n    const ArticleTextTableFix = ArticleTextRaw && ArticleTextRaw.replace(/<table/g, '<table role=\"presentation\"')\n    const ArticleText = ArticleTextTableFix && ArticleTextTableFix.replace(/.pdf\"/g, `.pdf\" title=\"PDF download\"`).replace(/.aspx\"/g, '.aspx?quality=50&maxwidth=1920&format=jpg\" style=\"height:auto\"')\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.$attrs.contentLinkId,\n    )\n  }\n  fixBrokenEmbeds() {\n    const wasNotTwitterRendered = document.querySelector('blockquote.twitter-tweet');\n    const wasNotInstagramRendered = document.querySelector('blockquote.instagram-media')\n    \n    if (wasNotTwitterRendered) {\n      const twitter = document.createElement('script');\n      twitter.src = 'https://platform.twitter.com/widgets.js';\n      document.head.appendChild(twitter);\n    }\n\n    if (wasNotInstagramRendered) {\n      const instagram = document.createElement('script');\n      instagram.src = '//www.instagram.com/embed.js';\n      document.head.appendChild(instagram);\n      try {\n        // @ts-ignore\n        instgrm.Embeds.process();\n      } catch (e) {}\n    }\n  }\n}\n","import { render, staticRenderFns } from \"./PlainHtmlModule.vue?vue&type=template&id=5235de6f&\"\nimport script from \"./PlainHtmlModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./PlainHtmlModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./PlainHtmlModule.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","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><p/, '<blockquote><span')\n  .replace(/<\\/p><\\/blockquote>/, '</span></blockquote>')\n\n  const buttonClass = getButtonClass(ButtonStyle)\n  const linkTarget = Target ? Target : '_self'\n  const linkText = Text ? `<span style=\"display:block;margin-bottom:7px;letter-spacing:normal;text-transform:none\" class=\"h5\">${Text}</span>` : ''\n  const btn = `\n    <span style=\"text-align:center;display:block;margin:20px 0;border-bottom:.4px solid #d8d8d8;border-top:.4px solid #d8d8d8;padding:25px 0;width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw\">\n      ${linkText}\n      <a style=\"margin-left:auto;margin-right:auto\" href=\"${Link}\" target=\"${linkTarget}\" class=\"button ${buttonClass}\">${Title}</a>\n    </span>\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('section',{staticClass:\"content-text-generic module\",class:[\n    { 'content-text-generic--centered': _vm.item && _vm.item.IsCentered },\n    { 'content-text-generic--quote-centered': _vm.item && _vm.item.IsQuoteCenter } ]},[(_vm.item)?_c('div',{class:{ 'content-text-generic--drop-letter': _vm.item.IsDropLetter },domProps:{\"innerHTML\":_vm._s(_vm.TextData)}}):_vm._e()])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TextGeneric.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TextGeneric.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\n\nimport TextGenericItem from '@/common/interfaces/TextGenericItem';\nimport { getArticleCta } from '@/components/ArticleText/ArticleText.utils';\n\nconst TextGenericProps = Vue.extend({\n  props: {\n    item: Object as () => TextGenericItem,\n  },\n});\n@Component\nexport default class TextGenericComponent extends TextGenericProps {\n  get TextData() {\n    const { NewsletterSingUpCta, Text: ArticleTextRaw } = this.$props.item\n    const ArticleTextTableFix = ArticleTextRaw && ArticleTextRaw.replace(/<table/g, '<table role=\"presentation\"')\n    const ArticleTextImg = ArticleTextTableFix && ArticleTextTableFix .replace(/.pdf\"/g, `.pdf\" title=\"PDF download\"`)\n    const ArticleText = ArticleTextImg?.replace(/.aspx\"/g, '.aspx?quality=50&maxwidth=1920&format=jpg\" style=\"height:auto\"')\n    if (!NewsletterSingUpCta) return ArticleText\n    const { ButtonStyle, Target, Link, Text, Title } = this.$props.item.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 \"./TextGeneric.vue?vue&type=template&id=1dfe35de&\"\nimport script from \"./TextGeneric.ts?vue&type=script&lang=ts&\"\nexport * from \"./TextGeneric.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"],"sourceRoot":""}