{"version":3,"sources":["webpack:///./src/modules/CtaRibbonModule/CtaRibbonModule.vue?12d6","webpack:///./src/modules/CtaRibbonModule/CtaRibbonModule.ts?923b","webpack:///./src/modules/CtaRibbonModule/CtaRibbonModule.ts","webpack:///./src/modules/CtaRibbonModule/CtaRibbonModule.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/CutoutComponent/CutoutComponent.vue?9b49","webpack:///./src/components/CutoutComponent/CutoutComponent.ts?5590","webpack:///./src/components/CutoutComponent/CutoutComponent.ts","webpack:///./src/components/CutoutComponent/CutoutComponent.vue","webpack:///./src/components/CtaItem/CtaItem.vue?26dc","webpack:///./src/components/CtaItem/CtaItem.ts?3d84","webpack:///./src/components/CtaItem/CtaItem.ts","webpack:///./src/components/CtaItem/CtaItem.vue"],"names":["wasInteracted","cutoutSizes","def","sizes","md","xl","pagination","el","this","uuid","clickable","on","slideChange","onModuleInteraction","touchStart","SegmentElement","sendEvent","component_name","module_type_id","$attrs","module_type_name","type","position","swiper","activeIndex","interaction_type","CtaRibbonModule","components","CtaItem","Cutout","props","Header","Items","SecondHeader","Button","Title","Link","Action","ButtonStyle","Primary","Secondary","SwiperMixin","component","_vm","_h","$createElement","_c","_self","staticClass","class","p","length","directives","name","rawName","value","expression","_v","_s","_e","_l","item","index","key","attrs","ref","swiperOption","slot","number","CtaButtonStyle","getButtonClass","Tertiary","White","Black","Ghost","PrimaryDarkBlack","None","prefix","state","Meta","BookingUrl","customClasses","buttonStyleClass","isPhone","removeClasses","link","endsWith","onLinkClick","e","includes","URL","pathname","window","location","preventDefault","$emit","split","CtaButtonComponent","Phone","extend","Object","Boolean","disabled","startsWith","buttonClass","replace","_t","Target","downloadTitle","$event","CutoutComponent","cutout","baseClass","cutoutClass","ResponsiveImage","String","Number","animate","default","classes","image","header","phones","map","phone","text","call","trim","btn","CtaButton","mod","domProps","twoPhones","i","onePhone","button"],"mappings":"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","file":"91.01dcbfbbb1fc2513b9de.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"cta-ribbon module\",class:{ 'module--mb': _vm.p.Header || _vm.p.Items.length === 2 }},[_c('div',{staticClass:\"cta-ribbon__container\"},[(_vm.p.Header)?_c('h4',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],staticClass:\"h2 text-center cta-ribbon__header push-v--mobile--medium\"},[_vm._v(\"\\n \"+_vm._s(_vm.p.Header)+\"\\n \")]):_vm._e(),_c('div',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],staticClass:\"cta-ribbon__lockup\",class:(\"cta-ribbon__wrapper--\" + (_vm.p.Items.length) + \"-columns-test\")},[_c('div',{staticClass:\"cta-ribbon__wrapper\",class:(\"cta-ribbon__wrapper--\" + (_vm.p.Items.length) + \"-columns\")},_vm._l((_vm.p.Items),function(item,index){return _c('CtaItem',{key:index,attrs:{\"item\":item}})}),1)]),_c('swiper',{directives:[{name:\"animate\",rawName:\"v-animate\",value:('slideUp'),expression:\"'slideUp'\"}],ref:\"swiper\",staticClass:\"cta-ribbon__swiper\",class:(\"cta-ribbon__wrapper--\" + (_vm.p.Items.length) + \"-columns-test\"),attrs:{\"options\":_vm.swiperOption}},[_vm._l((_vm.p.Items),function(item,index){return _c('swiper-slide',{key:index},[_c('div',{staticClass:\"cta-ribbon__wrapper\"},[_c('CtaItem',{attrs:{\"item\":item}})],1)])}),_c('div',{staticClass:\"swiper-pagination\",attrs:{\"slot\":\"pagination\",\"id\":'c-' + _vm.uuid + '-swiper-pagination'},slot:\"pagination\"})],2),_vm._l(([1, 2, 3, 4]),function(number,index){return (_vm.p.Header)?_c('Cutout',{key:index,attrs:{\"baseClass\":\"cta-ribbon\",\"index\":number,\"sizes\":_vm.cutoutSizes[index]}}):_vm._e()})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaRibbonModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaRibbonModule.ts?vue&type=script&lang=ts&\"","import { Component } from 'vue-property-decorator';\nimport { SwiperOptions } from '@/utils/swiperUtils';\n\nimport Cutout from '@/components/CutoutComponent/CutoutComponent.vue';\nimport CtaItem from '@/components/CtaItem/CtaItem.vue';\n\nimport { getComponentProps } from '@/utils/vueUtils';\nimport { ImageSizes, ImageSize } from '@/common/interfaces/SizeBreakpoints';\nimport { CtaRibbonBlockViewModel } from './CtaRibbonModule.types';\nimport { CtaButtonStyle } from '@/common/interfaces/CtaLinkItem';\nimport { mixins } from 'vue-class-component';\nimport SwiperMixin from '@/mixins/SwiperMixin';\nimport { SegmentElement } from '@/plugins/utm/SegmentElement';\n\n@Component({\n components: {\n CtaItem,\n Cutout,\n },\n props: getComponentProps({\n Header: 'Ready for the adventure of a lifetime?',\n Items: [\n {\n Header: 'Talk to an experience specialist',\n SecondHeader: '1.800.397.3348',\n Button: {\n Title: 'Call now',\n Link: '1.800.397.3348',\n Action: 'Phone',\n ButtonStyle: CtaButtonStyle.Primary,\n },\n },\n {\n Header: 'Make a reservation',\n Button: {\n Title: 'Book',\n Link: '#link-to-rar',\n Action: 'Button',\n ButtonStyle: CtaButtonStyle.Secondary,\n },\n },\n {\n Header: 'View or order a brochure',\n Button: {\n Title: 'View brochure',\n Link: '#link-to-brochure',\n Action: 'Button',\n ButtonStyle: CtaButtonStyle.Primary,\n },\n },\n ],\n }),\n})\nexport default class CtaRibbonModule extends mixins(SwiperMixin) {\n readonly p!: CtaRibbonBlockViewModel;\n wasInteracted = false;\n\n cutoutSizes: Array = [\n {\n def: new ImageSize([97, 97]),\n sizes: {\n md: new ImageSize([104, 104]),\n },\n },\n {\n def: new ImageSize([68, 68]),\n sizes: {\n xl: new ImageSize([107, 107]),\n },\n },\n {\n def: new ImageSize([68, 68]),\n sizes: {\n xl: new ImageSize([96, 96]),\n },\n },\n {\n def: new ImageSize([68, 51]),\n sizes: {},\n },\n ];\n\n get swiperOption(): SwiperOptions {\n return {\n pagination: {\n el: `#c-${this.uuid}-swiper-pagination`,\n clickable: true,\n },\n on: {\n slideChange: () => this.onModuleInteraction(),\n touchStart: () => this.onModuleInteraction(),\n },\n };\n }\n onModuleInteraction() {\n if (!this.wasInteracted) {\n this.wasInteracted = true;\n SegmentElement.sendEvent('moduleInteraction', {\n component_name: 'CtaItem',\n module_type_id: this.$attrs['data-segmentid'],\n module_type_name: this.$attrs.type,\n position: this.swiper.activeIndex + 1,\n interaction_type: 'carousel',\n })\n }\n }\n}\n","import { render, staticRenderFns } from \"./CtaRibbonModule.vue?vue&type=template&id=59be76d1&\"\nimport script from \"./CtaRibbonModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./CtaRibbonModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CtaRibbonModule.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.image)?_c('ResponsiveImage',{directives:[{name:\"animate\",rawName:\"v-animate\",value:(_vm.animate),expression:\"animate\"}],staticClass:\"cut-out\",class:_vm.classes,attrs:{\"image\":_vm.image,\"sizes\":_vm.sizes,\"fitMode\":'pad'}}):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CutoutComponent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CutoutComponent.ts?vue&type=script&lang=ts&\"","import Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\nimport { Getter } from 'vuex-class';\nimport ResponsiveImage from '@/components/ResponsiveImage/ResponsiveImage.vue';\nimport ImageItem from '@/common/interfaces/ImageItem';\nimport { ImageSizes, ImageSize } from '@/common/interfaces/SizeBreakpoints';\n\nimport { CUTOUTS } from '@/store/getters';\n\nconst CutoutComponentProps = Vue.extend({\n props: {\n baseClass: String,\n index: Number,\n animate: {\n type: String,\n default: 'leaves',\n },\n sizes: {\n type: Object as () => ImageSizes,\n default: {\n def: new ImageSize([100, 100]),\n sizes: {\n md: new ImageSize([200, 200]),\n },\n },\n },\n },\n});\n\n@Component({\n components: {\n ResponsiveImage,\n },\n})\nexport default class CutoutComponent extends CutoutComponentProps {\n @Getter(CUTOUTS)\n public cutout!: (index: number) => ImageItem;\n\n get image() {\n return this.cutout(this.index);\n }\n\n get classes() {\n if (!this.baseClass) return null;\n\n const cutoutClass = `${this.baseClass}__cutout`;\n\n return [cutoutClass, `${cutoutClass}--${this.index}`];\n }\n}\n","import { render, staticRenderFns } from \"./CutoutComponent.vue?vue&type=template&id=1d6e778c&\"\nimport script from \"./CutoutComponent.ts?vue&type=script&lang=ts&\"\nexport * from \"./CutoutComponent.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CutoutComponent.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"cta-item\",class:{ 'cta-item--phone': _vm.isPhone }},[_c('div',{staticClass:\"cta-item__inner\",class:_vm.mod ? (\"cta-item__inner--\" + _vm.mod) : ''},[(_vm.item.Header)?_c('h3',{staticClass:\"h5 cta-item__header\"},[_c('span',{staticClass:\"cta-item__header-text\",domProps:{\"innerHTML\":_vm._s(_vm.item.Header)}})]):_vm._e(),(_vm.item.SecondHeader)?_c('div',{staticClass:\"cta-item__phone-heading-wrapper\"},[(_vm.isPhone)?_c('Phone',{staticClass:\"cta-item__phone\"}):_vm._e(),_c('h3',{staticClass:\"text-center cta-item__second-header\",attrs:{\"x-ms-format-detection\":\"none\"}},[(!_vm.twoPhones)?_c('a',{attrs:{\"href\":(\"tel:\" + _vm.onePhone)}},[_vm._v(_vm._s(_vm.item.SecondHeader))]):_vm._l((_vm.twoPhones),function(phone,i){return _c('a',{key:phone.text,attrs:{\"href\":(\"tel:\" + (phone.call))}},[(i === 1)?_c('span',[_vm._v(\"|\")]):_vm._e(),_vm._v(\"\\n \"+_vm._s(phone.text)+\"\\n \")])})],2)],1):_vm._e(),_c('CtaButton',{staticClass:\"cta-item__button\",attrs:{\"item\":_vm.button}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaItem.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./CtaItem.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\n\nimport CtaLinkItem from './../../common/interfaces/CtaLinkItem';\n\nimport CtaButton from '@/components/CtaButton/CtaButton.vue';\nimport Phone from '@/assets/icons/phone.svg?inline';\n\nexport interface CtaItemType {\n Header: String;\n SecondHeader?: String;\n Button?: CtaLinkItem;\n}\n\nconst CtaItemProps = Vue.extend({\n props: {\n item: Object as () => CtaItemType,\n mod: String\n },\n});\n\n@Component({ components: { CtaButton, Phone } })\nexport default class CtaItem extends CtaItemProps {\n get isPhone() {\n return this.item.Button && this.item.Button.Action === 'Phone';\n }\n get onePhone() {\n return this.item.Button.Link?.replace(/ /g,'.');\n }\n get twoPhones() {\n const header = this.item.SecondHeader;\n if (header) {\n const phones = header.split('| ');\n if (phones.length > 1) {\n return phones.map(phone => ({\n text: phone, \n call: (phone.startsWith('0') || phone.startsWith('1300') ? '':'+') + phone.replace(/[^\\d\\s\\.\\+]/gi, '').trim().replace(/ /g, '.')\n }))\n }\n }\n }\n get button() {\n const btn = this.item.Button.Link\n return {\n ...this.item.Button,\n Link: btn && btn.startsWith('+1300') ? btn.replace(/\\+/g, '') : btn\n }\n }\n}\n","import { render, staticRenderFns } from \"./CtaItem.vue?vue&type=template&id=25f64330&\"\nimport script from \"./CtaItem.ts?vue&type=script&lang=ts&\"\nexport * from \"./CtaItem.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./CtaItem.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":""}