{"version":3,"sources":["webpack:///./src/modules/TextImageModule/TextImageModule.vue?e95b","webpack:///./src/modules/TextImageModule/TextImageModule.ts?f46c","webpack:///./src/modules/TextImageModule/TextImageModule.ts","webpack:///./src/modules/TextImageModule/TextImageModule.vue","webpack:///./src/common/interfaces/CtaLinkItem.ts","webpack:///./src/components/CtaButton/CtaButton.vue?e691","webpack:///./src/components/CtaButton/CtaButton.ts?4ae3","webpack:///./src/components/CtaButton/CtaButton.ts","webpack:///./src/components/CtaButton/CtaButton.vue","webpack:///./src/components/ArticleText/ArticleText.utils.ts","webpack:///./src/assets/icons/dotted-line.svg"],"names":["imageWidths","def","sizes","sm","md","lg","xl","TextImageModule","this","p","NewsletterSingUpCta","ArticleTextRaw","ArticleText","replace","Button","ButtonStyle","Target","Link","Text","Title","$attrs","contentLinkId","components","CtaButton","DottedLine","ResponsiveImageRatio","extend","props","Image","Url","Alt","IsLeft","Cta","Black","Action","Header","SecondHeader","component","_vm","_h","$createElement","_c","_self","staticClass","class","directives","name","rawName","value","expression","_v","_s","_e","domProps","TextData","attrs","CtaButtonStyle","getButtonClass","Primary","Secondary","Tertiary","White","Ghost","PrimaryDarkBlack","None","item","prefix","state","Meta","BookingUrl","customClasses","buttonStyleClass","isPhone","removeClasses","link","endsWith","onLinkClick","e","includes","URL","pathname","window","location","preventDefault","$emit","split","CtaButtonComponent","Phone","Object","Boolean","disabled","startsWith","buttonClass","_t","downloadTitle","on","$event","getArticleCta","moduleId","isArticle","Analytics","page_type_name","Modules","PageData","Slots","firstWithCtaIndex","findIndex","m","Data","firstWithCta","ctaInlineModuleIndex","Type","ContentLinkId","blockquoteSanitized","btn","module","exports","functional","render","data","children","classNames","style","staticStyle","rest","assign","concat"],"mappings":"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","file":"103.ad8204a6339013fcf7c8.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"text-image module--mb container\",class:{ 'text-image--image-left': _vm.p.IsLeft }},[_c('div',{staticClass:\"text-image__content-holder\"},[(_vm.p.Title)?_c('h2',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],staticClass:\"text-image__title\"},[_vm._v(_vm._s(_vm.p.Title))]):_vm._e(),_c('p',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],staticClass:\"text-image__text text--first-letter\",domProps:{\"innerHTML\":_vm._s(_vm.TextData)}}),(_vm.p.Cta)?_c('a',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],staticClass:\"text-image__cta cta cta--long-text-links font-inherit\",attrs:{\"href\":_vm.p.Cta.Link,\"target\":_vm.p.Cta.Target}},[_vm._v(_vm._s(_vm.p.Cta.Title))]):_vm._e()]),_c('div',{staticClass:\"text-image__image-holder\"},[_c('ResponsiveImageRatio',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('fadeInZoom'),expression:\"'fadeInZoom'\"}],staticClass:\"text-image__picture\",attrs:{\"ratio\":\"3x2\",\"image\":_vm.p.Image,\"widths\":_vm.imageWidths,\"imageClass\":\"text-image__image\"}})],1),_c('DottedLine',{staticClass:\"text-image__dotted-line\"})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TextImageModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TextImageModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport { getComponentProps } from '@/utils/vueUtils';\nimport { TextImageBlockViewModel } from './TextImageModule.types';\nimport CtaButton from '@/components/CtaButton/CtaButton.vue';\nimport DottedLine from '@/assets/icons/dotted-line.svg?inline';\nimport { ImageWidths } from '@/common/interfaces/SizeBreakpoints';\nimport ResponsiveImageRatio from '@/components/ResponsiveImageRatio/ResponsiveImageRatio.vue';\n\nimport { getResizeImage } from '@/utils/commonUtils';\nimport {CtaButtonStyle} from \"@/common/interfaces/CtaLinkItem\";\nimport { getArticleCta } from '@/components/ArticleText/ArticleText.utils';\n\nconst TextImageModuleProps = Vue.extend({\n props: getComponentProps({\n Title: 'Life aboard',\n Text:\n 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.',\n Image: { Url: getResizeImage('hike.jpg'), Alt: 'Hikers' },\n IsLeft: false,\n Cta: { Title: 'Read more', Link: '#' },\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});\n\n@Component({\n components: {\n CtaButton,\n DottedLine,\n ResponsiveImageRatio,\n },\n})\nexport default class TextImageModule extends TextImageModuleProps {\n imageWidths: ImageWidths = {\n def: 463,\n sizes: {\n sm: 636,\n md: 992,\n lg: 793,\n xl: 993,\n },\n };\n get TextData() {\n const { NewsletterSingUpCta, Text: ArticleTextRaw } = this.p\n const ArticleText = ArticleTextRaw && ArticleTextRaw.replace(/.pdf\"/g, `.pdf\" title=\"PDF download\"`)\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}\n","import { render, staticRenderFns } from \"./TextImageModule.vue?vue&type=template&id=1f6439f2&\"\nimport script from \"./TextImageModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./TextImageModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TextImageModule.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}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.link && _vm.link.startsWith('tel:'))?_c('a',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"href\":_vm.link.replace(/ /g,'.')}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2):(_vm.link)?_c('a',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"target\":_vm.item.Target,\"href\":_vm.link,\"title\":_vm.downloadTitle},on:{\"click\":_vm.onLinkClick}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2):_c('button',{staticClass:\"button\",class:_vm.buttonClass,attrs:{\"disabled\":_vm.disabled},on:{\"click\":function($event){$event.preventDefault();return _vm.$emit('click')}}},[_vm._t(\"icon\",[(_vm.isPhone)?_c('Phone',{staticClass:\"button__icon\"}):_vm._e()]),_vm._v(\"\\n \"+_vm._s(_vm.item.Title)+\"\\n\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaButton.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaButton.ts?vue&type=script&lang=ts&\"","import Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport CtaLinkItem, { getButtonClass } from '@/common/interfaces/CtaLinkItem';\n\nimport Phone from '@/assets/icons/phone.svg?inline';\nimport { getStore } from '@/store';\n\nconst CtaButtonProps = Vue.extend({\n props: {\n item: Object as () => CtaLinkItem,\n removeClasses: Boolean,\n customClasses: Boolean,\n disabled: Boolean,\n },\n});\n\n@Component({ components: { Phone } })\nexport default class CtaButtonComponent extends CtaButtonProps {\n get link() {\n const { Action, Link } = this.item;\n if (this.item.Action !== 'Custom') {\n let prefix = '';\n switch (Action) {\n case 'Phone':\n {\n prefix = 'tel:';\n }\n break;\n case 'Book':\n {\n return getStore()?.state?.Meta?.BookingUrl as string;\n }\n break;\n }\n\n return `${prefix}${this.item.Link}`;\n }\n\n return null;\n }\n\n get isPhone() {\n return this.item.Action === 'Phone';\n }\n\n get buttonClass() {\n if (this.customClasses) return '';\n\n const buttonStyleClass = getButtonClass(this.item.ButtonStyle)\n\n return {\n 'cta-item__call-cta': this.isPhone && !this.removeClasses,\n [buttonStyleClass]: true,\n };\n }\n\n get downloadTitle() {\n if (this.link && this.link.endsWith('.pdf')) return 'PDF download';\n }\n\n onLinkClick(e: Event) {\n if (this.link.includes('#')) {\n let btnLink = new URL(`https://www.expeditions.com${this.link}`)\n if (btnLink.pathname === window.location.pathname) {\n e.preventDefault()\n this.$emit('click', `#${this.link.split('#')[1]}`)\n }\n }\n }\n}\n","import { render, staticRenderFns } from \"./CtaButton.vue?vue&type=template&id=f0be7acc&\"\nimport script from \"./CtaButton.ts?vue&type=script&lang=ts&\"\nexport * from \"./CtaButton.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 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}","\n module.exports = {\n functional: true,\n render(_h, _vm) {\n const { _c, _v, data, children = [] } = _vm;\n\n const {\n class: classNames,\n staticClass,\n style,\n staticStyle,\n attrs = {},\n ...rest\n } = data;\n\n return _c(\n 'svg',\n {\n class: [classNames,staticClass],\n style: [style,staticStyle],\n attrs: Object.assign({\"aria-hidden\":\"true\",\"viewBox\":\"0 0 767 243\",\"xmlns\":\"http://www.w3.org/2000/svg\"}, attrs),\n ...rest,\n },\n children.concat([_c('g',{attrs:{\"fill\":\"none\",\"fill-rule\":\"evenodd\"}},[_c('path',{attrs:{\"d\":\"M0 0c68.416 172.083 235.094-24.813 385.749 70.895 45.753 29.066 237.4 36.316 282.847 65.859C722.207 171.604 755.008 208.019 767 246\",\"stroke\":\"#006CB5\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-dasharray\":\"0,5\"}}),_c('circle',{attrs:{\"fill\":\"#006CB5\",\"cx\":\"588\",\"cy\":\"114\",\"r\":\"6\"}})])])\n )\n }\n }\n "],"sourceRoot":""}