{"version":3,"sources":["webpack:///./src/modules/QuoteRichModule/QuoteRichModule.vue?0677","webpack:///./src/modules/QuoteRichModule/QuoteRichModule.ts?739a","webpack:///./src/modules/QuoteRichModule/QuoteRichModule.ts","webpack:///./src/modules/QuoteRichModule/QuoteRichModule.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"],"names":["imageSizesThumbnail","imageSizesBackground","def","sizes","sm","md","lg","xl","QuoteRichModule","components","ResponsiveImage","CtaButton","extend","props","Quote","SubQuote","HeadshotImage","Url","Alt","BackgroundImage","Cta","Title","Link","component","_vm","this","_h","$createElement","_c","_self","staticClass","directives","name","rawName","value","expression","attrs","p","domProps","_s","arg","position","_e","CtaButtonStyle","getButtonClass","ButtonStyle","Primary","Secondary","Tertiary","White","Black","Ghost","PrimaryDarkBlack","None","item","Action","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","class","buttonClass","replace","_t","_v","Target","downloadTitle","on","$event"],"mappings":"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","file":"144.301ee6e28ec01c1700e9.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"quote-rich module\"},[_c('div',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('imageSlideUp'),expression:\"'imageSlideUp'\"}],staticClass:\"quote-rich__box text-center quote--image\"},[_c('ResponsiveImage',{attrs:{\"imageClass\":\"quote-rich__background\",\"image\":_vm.p.BackgroundImage,\"sizes\":_vm.imageSizesBackground}}),_c('div',{staticClass:\"quote-rich__overlay\"}),_c('div',{staticClass:\"quote-rich__lockup\"},[_c('ResponsiveImage',{attrs:{\"imageClass\":\"circle-image quote-rich__image-headshot\",\"image\":_vm.p.HeadshotImage,\"sizes\":_vm.imageSizesThumbnail}}),_c('div',[_c('div',{staticClass:\"blockquote quote-rich__quote-width\",domProps:{\"innerHTML\":_vm._s(_vm.p.Quote)}}),_c('p',{staticClass:\"text--subheading quote-rich__subheading push-v--mobile--small\",domProps:{\"innerHTML\":_vm._s(_vm.p.SubQuote)}}),(_vm.p.Cta)?_c('CtaButton',{directives:[{name:\"segment\",rawName:\"v-segment:moduleClicked\",arg:\"moduleClicked\"},{name:\"segment\",rawName:\"v-segment:params\",value:({position: 1}),expression:\"{position: 1}\",arg:\"params\"}],staticClass:\"quote-rich__cta-button button--white\",attrs:{\"item\":_vm.p.Cta,\"customClasses\":true}}):_vm._e()],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./QuoteRichModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./QuoteRichModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport {\n ImageSizes,\n ImageSize,\n ImageSizesQuoteThumbnail,\n} from '@/common/interfaces/SizeBreakpoints';\nimport { QuoteRichBlockViewModel } from './QuoteRichModule.types';\nimport { getComponentProps } from '@/utils/vueUtils';\n\nimport ResponsiveImage from '@/components/ResponsiveImage/ResponsiveImage.vue';\nimport CtaButton from '@/components/CtaButton/CtaButton.vue';\nimport { getResizeImage } from '@/utils/commonUtils';\n\nconst QuoteRichModuleProps = Vue.extend({\n props: getComponentProps({\n Quote:\n 'My family took the first guests to Alaska over 60 years ago, and in that time lorem ipsum dolor placentar',\n SubQuote: 'SVEN LINDBLAD, MAY 2019',\n HeadshotImage: { Url: getResizeImage('thumbnail-sven.jpg'), Alt: '' },\n BackgroundImage: { Url: getResizeImage('quote-rich-bg.jpg'), Alt: '' },\n Cta: { Title: 'View our story', Link: '#' },\n }),\n});\n\n@Component({\n components: {\n ResponsiveImage,\n CtaButton,\n },\n})\nexport default class QuoteRichModule extends QuoteRichModuleProps {\n imageSizesThumbnail: ImageSizes = ImageSizesQuoteThumbnail;\n\n imageSizesBackground: ImageSizes = {\n def: new ImageSize([560, 667]),\n sizes: {\n sm: new ImageSize([767, 432]),\n md: new ImageSize([991, 432]),\n lg: new ImageSize([1199, 618]),\n xl: new ImageSize([1500, 618]),\n },\n };\n}\n","import { render, staticRenderFns } from \"./QuoteRichModule.vue?vue&type=template&id=c66159a2&\"\nimport script from \"./QuoteRichModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./QuoteRichModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./QuoteRichModule.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"],"sourceRoot":""}