{"version":3,"sources":["webpack:///./src/modules/NewsletterPopup/NewsletterPopup.vue?794e","webpack:///./src/modules/NewsletterPopup/NewsletterPopup.ts?0dd2","webpack:///./src/modules/NewsletterPopup/NewsletterPopup.ts","webpack:///./src/modules/NewsletterPopup/NewsletterPopup.vue","webpack:///./src/mixins/StoreModuleMixin.ts","webpack:///./src/components/ButtonClose/ButtonClose.vue?564d","webpack:///./src/components/ButtonClose/ButtonClose.ts?e19e","webpack:///./src/components/ButtonClose/ButtonClose.ts","webpack:///./src/components/ButtonClose/ButtonClose.vue","webpack:///./src/modules/EmailSignUpModule/EmailSignUpModule.api.ts"],"names":["isPopupVisible","formSent","formName","isUSCountry","imageSizes","def","sizes","sm","md","lg","xl","close","document","body","classList","remove","this","$emit","hideCaptcha","set","expires","handleOnKeyDown","event","key","openPopup","time","p","TriggerTime","setTimeout","querySelectorAll","length","add","showCaptcha","SegmentElement","sendEvent","$attrs","contentLinkId","nonInteraction","created","SuppressPopup","siteKey","mounted","GateName","CountryId","state","Meta","US","urlParams","URLSearchParams","window","location","search","utmMedium","get","utmSource","toLowerCase","newsletterPopupClosed","newsletterSubscribed","hasInteractedWithConsentManager","postForm","model","getRecaptchaToken","RecaptchaResponse","payload","referring_domain","identifyPayload","first_name","FirstName","last_name","LastName","email","Email","serverPayload","getIsLanding","previous_page_name","getPrevPageName","page_name","getPageName","locale","getLocale","AnalyticsData","PostalCode","address","postal_code","fbclid","split","email_md5","mscklid","gclid","eea_uk_optin","data","AnalyticsPayload","JSON","stringify","GateType","response","transaction_id","Item","formSubmitted","console","error","ButtonText","BottomText","replace","NewsletterPopup","props","ShowOnFirstPage","Title","SubTitle","LandscapeImage","Url","Alt","PortraitImage","ThankYouText","components","NewsletterPopupForm","ButtonClose","ResponsiveImage","StoreModuleMixin","RecaptchaMixin","component","_vm","_h","$createElement","_c","_self","directives","name","rawName","value","expression","staticClass","class","on","attrs","$event","stopPropagation","nativeOn","domProps","_s","_v","_e","getStoreModuleState","instance","$store","getStoreModulePath","$route","params","store","vuexModuleStore","options","$options","parent","$parent","modulePath","getters","getter","$storeModulePath","getAction","action","dispatch","getMutation","mutation","commit","color","IconCross","extend","type","String","default","ColorFromProps","EmailSignUpService","showLoading","submitEmailSignUp","call","verb","POST","returnData","then","res","status","hasAccepted","hasAcceptedAdditionalIntegrationsCookie","script","createElement","src","head","appendChild","IsOk","Error","submitEmailSignUpFollowUp","PATCH","scrollTo","top","behavior","cookies","parse","custom"],"mappings":"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","file":"19.8cc22650b6f8092f51b6.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.isPopupVisible),expression:\"isPopupVisible\"}],staticClass:\"NewsLetterPopupMask fadeIn animate\",class:{ 'animate-active': _vm.isPopupVisible },on:{\"click\":_vm.close}},[_c('div',{staticClass:\"NewsletterPopup fadeIn animate\",class:{ 'animate-active': _vm.isPopupVisible, 'NewsletterPopup--sent': _vm.formSent, 'NewsletterPopup--gate': _vm.p.GateName },attrs:{\"tabindex\":\"0\"},on:{\"click\":function($event){$event.stopPropagation();},\"keydown\":_vm.handleOnKeyDown}},[_c('button-close',{staticClass:\"NewsletterPopup__close\",nativeOn:{\"click\":function($event){return _vm.close($event)}}}),_c('div',{staticClass:\"NewsletterPopup__wrapper\"},[_c('div',{staticClass:\"NewsletterPopupBox NewsletterPopupBox--img\"},[_c('ResponsiveImage',{attrs:{\"imageClass\":\"NewsletterPopupImg NewsletterPopupImg--mobile\",\"image\":_vm.p.LandscapeImage,\"sizes\":_vm.imageSizes}}),_c('ResponsiveImage',{attrs:{\"imageClass\":\"NewsletterPopupImg NewsletterPopupImg--desktop\",\"image\":_vm.p.PortraitImage,\"sizes\":_vm.imageSizes,\"lazy\":true}})],1),_c('div',{staticClass:\"NewsletterPopupBox NewsletterPopupBox--info\"},[(!_vm.formSent)?_c('div',{staticClass:\"NewsletterPopupBox__wrapper\"},[_c('div',{staticClass:\"NewsletterPopupItem NewsletterPopupItem--titles\"},[(!_vm.p.GateName)?[_c('h2',{staticClass:\"NewsletterPopup__title NewsletterPopup__title--initial\"},[_vm._v(_vm._s(_vm.p.Title))]),_c('div',{staticClass:\"NewsletterPopup__subTitle\",domProps:{\"innerHTML\":_vm._s(_vm.p.SubTitle)}})]:[_c('p',{staticClass:\"NewsletterPopup__downloadTitle\"},[_vm._v(\"Almost There!\")]),_c('div',{staticClass:\"NewsletterPopup__subTitle\"},[_vm._v(_vm._s(_vm.p.Title))])]],2),_c('NewsletterPopupForm',{attrs:{\"ButtonText\":_vm.ButtonText,\"BottomText\":_vm.BottomText,\"ShowGate\":!!_vm.p.GateName && _vm.isUSCountry},on:{\"submit\":_vm.postForm}})],1):_c('div',{staticClass:\"NewsletterPopup__thanks\"},[_c('div',{staticClass:\"NewsletterPopupBox__wrapper\"},[_c('div',{staticClass:\"NewsletterPopupItem NewsletterPopupItem--titles\"},[_c('div',{staticClass:\"NewsletterPopup__title\",domProps:{\"innerHTML\":_vm._s(_vm.p.ThankYouText)}}),(!_vm.p.GateName)?_c('div',{staticClass:\"NewsletterPopup__subTitle\"},[_vm._v(\"You will get an email verifying your subscription.\")]):_c('div',{staticClass:\"NewsletterPopup__subTitle\"},[_vm._v(\"Your brochure will download automatically.\")]),(_vm.p.GateName)?_c('div',{staticClass:\"NewsletterPopup__subTitle NewsletterPopup__subTitle--white gate\"},[_vm._v(\"In the meantime, learn more about exploring remote and wild places with us.\")]):_vm._e()]),_c('div',{staticClass:\"NewsletterPopupItem NewsletterPopupItem--back\"},[(!_vm.p.GateName)?_c('button',{staticClass:\"NewsletterPopup__back cta\",on:{\"click\":_vm.close}},[_vm._v(\"Back to exploring\")]):_c('a',{staticClass:\"NewsletterPopup__back cta\",attrs:{\"href\":\"/book\"},on:{\"click\":_vm.close}},[_vm._v(\"Browse Destinations\")])])])])])])],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./NewsletterPopup.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./NewsletterPopup.ts?vue&type=script&lang=ts&\"","import { Component, Mixins } from 'vue-property-decorator';\nimport Cookies from 'js-cookie';\nimport { getComponentProps } from '@/utils/vueUtils';\nimport { getFormPayload, getResizeImage, toggleModalClassListWithoutTouchMove } from '@/utils/commonUtils';\n\nimport ButtonClose from '@/components/ButtonClose/ButtonClose.vue';\nimport { isInUSTimezone } from 'in-us'\nimport { NewsletterSubscriptionPopupViewModel } from './NewsletterPopup.types';\nimport NewsletterPopupForm from '@/modules/NewsletterPopup/NewsletterPopupForm/NewsletterPopupForm.vue';\nimport StoreModuleMixin from '@/mixins/StoreModuleMixin';\nimport { submitEmailSignUp } from '../EmailSignUpModule/EmailSignUpModule.api';\nimport ResponsiveImage from '@/components/ResponsiveImage/ResponsiveImage.vue';\nimport { ImageSizes, ImageSize } from '@/common/interfaces/SizeBreakpoints';\nimport { SegmentElement, SegmentTrackEvents } from '@/plugins/utm/SegmentElement';\nimport RecaptchaMixin from '@/forms/FormElements/Mixins/RecaptchaMixin';\nimport { getStore, shouldShowOptIn } from '@/store';\nimport { Country } from '@/store/modules/metadataModule';\n\n@Component({\n props: getComponentProps({\n TriggerTime: 30000,\n ShowOnFirstPage: false,\n SuppressPopup: false,\n Title: 'Be the first to get Special Offers, expeditions tips and travel stories',\n SubTitle: 'Subscribe to our weekly newsletter and get a free brochure',\n ButtonText: 'send me offers',\n BottomText: 'I authorize Lindblad Expeditions to email me; however, I am able to unsubscribe at any time. For more details, see our Privacy Policy.',\n LandscapeImage: {\n Url: getResizeImage('LandscapeImage.jpg'),\n Alt: 'Photographer',\n },\n PortraitImage: {\n Url: getResizeImage('PortraitImage.jpg'),\n Alt: 'Photographer',\n },\n ThankYouText: 'Thank you'\n }),\n components: {\n NewsletterPopupForm,\n ButtonClose,\n ResponsiveImage,\n }\n})\n\nexport default class NewsletterPopup extends Mixins(StoreModuleMixin, RecaptchaMixin) {\n readonly p!: NewsletterSubscriptionPopupViewModel;\n\n isPopupVisible: Boolean = false;\n formSent: Boolean = false;\n formName: string = '';\n isUSCountry = true;\n \n imageSizes: ImageSizes = {\n def: new ImageSize([1920, 1080]),\n sizes: {\n sm: new ImageSize([1920, 1080]),\n md: new ImageSize([1920, 1080]),\n lg: new ImageSize([1199, 900]),\n xl: new ImageSize([1920, 1080]),\n },\n };\n\n close() {\n document.body.classList.remove('overlay-noscroll');\n\n this.$emit('close');\n this.isPopupVisible = false;\n this.hideCaptcha();\n\n if (!this.formSent) {\n Cookies.set('newsletterPopupClosed', true, { expires: 3 });\n }\n }\n\n handleOnKeyDown(event: KeyboardEvent) {\n if (event.key === 'Escape') {\n this.close()\n }\n }\n\n openPopup(time = this.p.TriggerTime * 1000) {\n setTimeout(() => {\n const activePopup = document.querySelectorAll('.NewsLetterPopupMask.animate-active').length\n if (!activePopup) {\n document.body.classList.add('overlay-noscroll');\n this.isPopupVisible = true;\n this.showCaptcha();\n SegmentElement.sendEvent('formViewed', {\n ...getFormPayload(this.formName, this.$attrs.contentLinkId),\n nonInteraction: 1,\n })\n }\n }, time);\n }\n\n created() {\n if (this.p.TriggerTime > 0 && !this.p.SuppressPopup) {\n this.siteKey = '6Lelwv4eAAAAAHavTU2624NBQb8SDFnhmZzpvgZH';\n }\n }\n\n mounted() {\n this.hideCaptcha()\n this.formName = this.p.GateName || 'NewsletterSubscriptionPopup';\n\n const { Country: CountryId } = getStore().state.Meta;\n this.isUSCountry = CountryId === Country.US;\n\n if (this.p.SuppressPopup) {\n return;\n }\n\n const urlParams = new URLSearchParams(window.location.search);\n\n const utmMedium = urlParams.get('utm_medium');\n const utmSource = urlParams.get('utm_source')?.toLowerCase();\n\n // Mimic the logic from BE\n if (utmMedium === 'email' || utmSource === 'travelzoo' || utmSource === 'adestra') {\n Cookies.set('newsletterPopupClosed', true, { expires: 365 });\n }\n const newsletterPopupClosed = Cookies.get('newsletterPopupClosed');\n const newsletterSubscribed = Cookies.get('newsletterSubscribed');\n if (this.p.GateName && !newsletterSubscribed) {\n this.openPopup(0);\n }\n else if (!newsletterSubscribed && !newsletterPopupClosed && this.p.TriggerTime > 0 && this.hasInteractedWithConsentManager()) {\n this.openPopup();\n }\n }\n\n hasInteractedWithConsentManager() {\n const isUSA = isInUSTimezone()\n if (isUSA) return true\n return Cookies.get('tracking-preferences') || Cookies.get('tracking-preferences-stg')\n }\n\n async postForm(model) {\n model.RecaptchaResponse = await this.getRecaptchaToken()\n const payload = getFormPayload(this.formName, this.$attrs.contentLinkId);\n SegmentElement.sendEvent('formSubmissionAttempted', payload)\n try {\n const referring_domain = Cookies.get('referring_domain')\n const identifyPayload = {\n first_name: model.FirstName,\n last_name: model.LastName,\n email: model.Email\n }\n var serverPayload = {\n ...payload,\n ...(!SegmentElement.getIsLanding() && { previous_page_name: SegmentElement.getPrevPageName() }),\n page_name: SegmentElement.getPageName(),\n locale: SegmentElement.getLocale(),\n ...identifyPayload,\n ...this.p.AnalyticsData,\n ...(referring_domain && { referring_domain }),\n ...(model.PostalCode && { address: { postal_code: model.PostalCode } }),\n ...(Cookies.get('_fbc') && { fbclid: Cookies.get('_fbc').split('.')[3] }),\n ...(Cookies.get('email_md5') && { email_md5: Cookies.get('email_md5') }),\n ...(Cookies.get('_uetmsclkid') && { mscklid: Cookies.get('_uetmsclkid').split('_uet')[1] }),\n ...(Cookies.get('_gcl_aw') && { gclid: Cookies.get('_gcl_aw').split('.')[2] }),\n ...(shouldShowOptIn() && { eea_uk_optin: true }),\n }\n const data = { ...model, AnalyticsPayload: JSON.stringify(serverPayload), ...(this.p.GateName && { GateType: 'Brochure' }), }\n const response = await submitEmailSignUp(data);\n this.formSent = true;\n (payload as any).transaction_id = response.Item.transaction_id\n SegmentElement.sendEvent(SegmentTrackEvents.formSubmitted, payload)\n this.$emit('submit')\n } catch (error) {\n console.error(error);\n }\n }\n\n get ButtonText() {\n if (this.p.GateName) {\n return `Download Brochure`\n }\n return this.p.ButtonText\n }\n get BottomText() {\n if (this.p.GateName) {\n return this.p.BottomText.replace(/send me offers/, `\"${this.ButtonText}\"`)\n }\n return this.p.BottomText\n }\n}\n","import { render, staticRenderFns } from \"./NewsletterPopup.vue?vue&type=template&id=1a002fc2&\"\nimport script from \"./NewsletterPopup.ts?vue&type=script&lang=ts&\"\nexport * from \"./NewsletterPopup.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./NewsletterPopup.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 Vue from 'vue';\nimport Component from 'vue-class-component';\nimport { DispatchOptions, CommitOptions } from 'vuex';\n\nexport function getStoreModuleState(instance: Vue) {\n return instance.$store.state[getStoreModulePath(instance)];\n}\n\nexport function getStoreModulePath(instance: Vue) {\n // @ts-ignore\n if (instance.$route?.params?.store) return instance.$route.params.store;\n\n if (instance.$attrs.vuexModuleStore) return instance.$attrs.vuexModuleStore;\n\n let options: any = instance.$options;\n let parent = instance.$parent;\n while (parent && !options.modulePath && !parent.$attrs.vuexModuleStore) {\n options = parent.$options;\n parent = parent.$parent;\n }\n\n return options.modulePath || parent?.$attrs.vuexModuleStore;\n}\n\n@Component({})\nexport default class StoreModuleMixin extends Vue {\n getters(getter: string) {\n return this.$store.getters[`${this.$storeModulePath}/${getter}`];\n }\n\n getAction(action: string) {\n return (payload?: any, options?: DispatchOptions) => {\n return this.$store.dispatch(`${this.$storeModulePath}/${action}`, payload, options);\n };\n }\n\n getMutation(mutation: string) {\n return (payload?: any, options?: CommitOptions) => {\n this.$store.commit(`${this.$storeModulePath}/${mutation}`, payload, options);\n };\n }\n\n get state() {\n return this.$store.state[this.$storeModulePath];\n }\n\n get $storeModulePath() {\n const path = getStoreModulePath(this);\n\n return path;\n }\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"button-close\",class:_vm.ColorFromProps,attrs:{\"type\":\"button\",\"aria-label\":\"Close\"}},[_c('icon-cross',{staticClass:\"button-close__icon\",attrs:{\"focusable\":\"false\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ButtonClose.ts?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/ts-loader/index.js??ref--0!./ButtonClose.ts?vue&type=script&lang=ts&\"","import { Component, Vue } from 'vue-property-decorator';\nimport IconCross from '@/assets/icons/cross.svg?inline';\n\nconst ButtonCloseProps = Vue.extend({\n props: {\n color: {\n type: String,\n default: 'white',\n },\n },\n});\n\n@Component({\n components: {\n IconCross,\n },\n})\nexport default class ButtonClose extends ButtonCloseProps {\n get ColorFromProps() {\n return 'button-close--color-' + this.color;\n }\n}\n","import { render, staticRenderFns } from \"./ButtonClose.vue?vue&type=template&id=8f9bbbca&\"\nimport script from \"./ButtonClose.ts?vue&type=script&lang=ts&\"\nexport * from \"./ButtonClose.ts?vue&type=script&lang=ts&\"\nimport style0 from \"./ButtonClose.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 { EmailSignUpUser } from '@/modules/EmailSignUpModule/EmailSignUpForm/EmailSignUpForm.types';\nimport ApiService from '@/common/ApiService/ApiService';\nimport { HttpVerb } from '@/common/ApiService/HttpVerb';\nimport { AxiosResponse } from 'axios';\nimport Cookies from 'js-cookie';\nimport { isInUSTimezone } from 'in-us'\n\nconst EmailSignUpService = new ApiService('/api/EmailSignUpService/', {\n showLoading: true,\n});\n\nexport const submitEmailSignUp = (model: EmailSignUpUser): Promise => {\n return EmailSignUpService.call('EmailSignUp', model, {\n verb: HttpVerb.POST,\n returnData: false,\n }).then((res: AxiosResponse) => {\n if (res.status == 200) {\n Cookies.set('newsletterSubscribed', true, { expires: 365 });\n \n const hasAccepted = hasAcceptedAdditionalIntegrationsCookie()\n if (hasAccepted === true || (typeof hasAccepted === 'undefined' && isInUSTimezone())) {\n const script = document.createElement('script')\n script.src = `//cdn.datasteam.io/js/D2CA27E6C1BB02.js?conversion=true`\n document.head.appendChild(script)\n }\n\n return { IsOk: true, Item: res.data, Error: null };\n }\n return { IsOk: false, Item: null, Error: res.data };\n });\n};\n\nexport const submitEmailSignUpFollowUp = (model: EmailSignUpUser): Promise => {\n return EmailSignUpService.call('UpdateEmailSignUp', model, {\n verb: HttpVerb.PATCH,\n returnData: false,\n }).then((res: AxiosResponse) => {\n if (res.status == 200) {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n return { IsOk: true, Item: res.data, Error: null };\n }\n return { IsOk: false, Item: null, Error: res.data };\n });\n};\n\nexport const hasAcceptedAdditionalIntegrationsCookie = (): boolean => {\n const cookies = Cookies.get('tracking-preferences') || Cookies.get('tracking-preferences-stg')\n if (!cookies) return undefined\n const preferences = JSON.parse(cookies)\n return preferences.custom?.['Additional Integrations'] || false\n}\n"],"sourceRoot":""}