{"version":3,"sources":["webpack:///./src/modules/ArticleTagsModule/ArticleTagsModule.vue?6cf4","webpack:///./src/components/TagsComponent/TagsComponent.ts?502a","webpack:///./src/components/TagsComponent/TagsComponent.ts","webpack:///./src/components/TagsComponent/TagsComponent.vue","webpack:///./src/components/TagsComponent/TagsComponent.vue?00c3","webpack:///./src/modules/ArticleTagsModule/ArticleTagsModule.ts?f861","webpack:///./src/modules/ArticleTagsModule/ArticleTagsModule.ts","webpack:///./src/modules/ArticleTagsModule/ArticleTagsModule.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":["TagsComponent","this","tags","map","l","ButtonStyle","None","components","CtaButton","extend","props","Array","_h","$createElement","_c","_self","staticClass","_v","_l","cta","index","key","attrs","ArticleTagsModule","TagItems","Link","Title","p","CtaButtonStyle","getButtonClass","Primary","Secondary","Tertiary","White","Black","Ghost","PrimaryDarkBlack","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","component","_vm","startsWith","class","buttonClass","replace","_t","_e","_s","Target","downloadTitle","on","$event"],"mappings":"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","file":"128.2d09b11fe44d4feaac3d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"journal-filters-module module module--mb\"},[_c('div',{staticClass:\"container\"},[_c('TagsComponent',{attrs:{\"tags\":_vm.p.TagItems}})],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TagsComponent.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./TagsComponent.ts?vue&type=script&lang=ts&\"","import Vue from 'vue';\nimport { Component } from 'vue-property-decorator';\n\nimport LinkItem from '@/common/interfaces/LinkItem';\nimport CtaLinkItem, { CtaButtonStyle } from '@/common/interfaces/CtaLinkItem';\n\nimport CtaButton from '@/components/CtaButton/CtaButton.vue';\n\nconst TagsComponentProps = Vue.extend({\n props: { tags: Array as () => LinkItem[] },\n});\n\n@Component({ components: { CtaButton } })\nexport default class TagsComponent extends TagsComponentProps {\n get TagItems() {\n return this.tags.map((l) => ({ ...l, ButtonStyle: CtaButtonStyle.None } as CtaLinkItem));\n }\n}\n","import { render, staticRenderFns } from \"./TagsComponent.vue?vue&type=template&id=5cafecd1&\"\nimport script from \"./TagsComponent.ts?vue&type=script&lang=ts&\"\nexport * from \"./TagsComponent.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./TagsComponent.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',[_c('div',{staticClass:\"tags__cta-lockup\"},[_c('p',[_vm._v(\"Tags\")]),_vm._l((_vm.TagItems),function(cta,index){return _c('div',{key:index,staticClass:\"tag\"},[_c('CtaButton',{staticClass:\"tag-button\",attrs:{\"item\":cta}})],1)})],2)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleTagsModule.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ArticleTagsModule.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport { getComponentProps } from '@/utils/vueUtils';\n\nimport { ArticleTagsModuleViewModel } from './ArticleTagsModule.types';\n\nimport TagsComponent from '@/components/TagsComponent/TagsComponent.vue';\n\nconst ArticleTagsModuleProps = Vue.extend({\n props: getComponentProps({\n TagItems: [\n {\n Link: '#',\n Title: 'Wildlife & Nature',\n },\n {\n Link: '#',\n Title: 'South Pacific',\n },\n {\n Link: '#',\n Title: 'Alaska',\n },\n {\n Link: '#',\n Title: 'World View',\n },\n {\n Link: '#',\n Title: 'Culture',\n },\n {\n Link: '#',\n Title: 'Reading',\n },\n ],\n }),\n});\n\n@Component({\n components: { TagsComponent },\n})\nexport default class ArticleTagsModule extends ArticleTagsModuleProps {}\n","import { render, staticRenderFns } from \"./ArticleTagsModule.vue?vue&type=template&id=f42eae60&\"\nimport script from \"./ArticleTagsModule.ts?vue&type=script&lang=ts&\"\nexport * from \"./ArticleTagsModule.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ArticleTagsModule.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":""}