{"version":3,"file":"js/rad-newsletter-signup-better-you.42d737bf.js","mappings":"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","sources":["webpack://beliefnet-frontend/./src/composables/newsletter.composable.ts","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupBetterYou.vue?ed06","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupBetterYou.vue"],"sourcesContent":["import { NewsletterSubscription } from '../common/models/newsletters/newsletter-subscription.model';\nimport { NewslettersService } from '../services/newsletters.service';\nimport { GTMService } from '../services/gtm.service';\nimport { useIdentityStore } from '../stores/identity-store';\nimport useQueryParameter from './query-parameter.composable';\nimport { useSessionStore } from '../stores/SessionStorage';\n\n\nexport default function useNewsletterSubmit(newslettersService: NewslettersService | undefined, gtmService: GTMService | undefined): any {\n const errorMessage = 'We apologize, we were unable to complete your subscription at this time, please try again later.';\n\n const newsletterSubmit = async (listId: number, email: string, sourceDesc: string, partner: boolean, path: string) => {\n const sessionStore = useSessionStore();\n // get rsid from query parameter\n const rsid = sessionStore.rsid;\n\n // after we capture the email, update the identity store\n if (email) {\n const identity = useIdentityStore();\n identity.registerEmail(email).then(() => 'Identity Email Registration Complete');\n }\n \n if (newslettersService == undefined) {\n return { message: 'Failed to integrate with newsletter service', success: false };\n }\n // if nl id is set to -1, signup to postup is disabled\n if (isNaN(listId) || listId <= 0) {\n // still return true to falsely show that we signed up\n return { message: null, success: true };\n }\n\n const subscription: NewsletterSubscription = {\n email: email ?? '',\n name: '',\n newsletter: [listId],\n sourceDesc: sourceDesc,\n partners: partner,\n rsid: rsid\n };\n\n // first determine if we have a path url and if so let's go there\n if (path) {\n if (email && !rsid) {\n window.open(`${path}/step/2?email=${email}`, '_blank');\n } else if (email && rsid) {\n window.open(`${path}/step/2?email=${email}&rsid=${rsid}`, '_blank');\n } else {\n window.open(`${path}/step/2`, '_blank');\n }\n }\n\n try {\n const result = await newslettersService?.subscribe(subscription);\n\n if (result?.processed) {\n // GTM Form Tracking\n gtmService?.registerEvent('formNewsletterSuccess', {\n formId: 'newsletter-signup-form-head'\n });\n\n return { message: null, success: true };\n }\n } catch (err) {\n return { message: errorMessage, success: false };\n }\n\n return { message: errorMessage, success: false };\n };\n\n return { newsletterSubmit };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, unref as _unref, isRef as _isRef, vModelText as _vModelText, withDirectives as _withDirectives, vModelCheckbox as _vModelCheckbox, normalizeClass as _normalizeClass, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, Fragment as _Fragment } from \"vue\"\n\nconst _hoisted_1 = { class: \"wide-layout-column score-center\" }\nconst _hoisted_2 = { class: \"better-me-signup-custom\" }\nconst _hoisted_3 = { class: \"inner\" }\nconst _hoisted_4 = /*#__PURE__*/_createElementVNode(\"img\", {\n src: \"https://www.beliefnet.com/~/media/images/components/newsletter-su/better-me-title.png\",\n alt: \"Become a Better You\",\n width: \"496\",\n height: \"126\",\n class: \"title\"\n}, null, -1)\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"img\", {\n src: \"https://www.beliefnet.com/~/media/images/components/newsletter-su/better-me-title-m-w-header.png\",\n alt: \"Become a Better You\",\n width: \"100%\",\n height: \"auto\",\n class: \"title-mobile\"\n}, null, -1)\nconst _hoisted_6 = [\"innerHTML\"]\nconst _hoisted_7 = /*#__PURE__*/_createElementVNode(\"input\", {\n type: \"submit\",\n id: \"ABetterMeSignup\",\n value: \"submit\"\n}, null, -1)\nconst _hoisted_8 = { class: \"col-sm-offset-1 col-sm-11\" }\nconst _hoisted_9 = {\n key: 0,\n class: \"checkbox text-left\"\n}\nconst _hoisted_10 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"fine-print remove-padding\" }, [\n /*#__PURE__*/_createTextVNode(\" Please also opt me in for Exclusive Offers from Beliefnet’s Partners \"),\n /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"/about-us/privacy-policy.aspx\",\n target: \"_blank\"\n }, \"Privacy and Data Policy\")\n], -1)\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"tnc\" }, \"From time to time you will also receive Special Offers from our partners\", -1)\nconst _hoisted_13 = { class: \"newsletter-signup-msgs add-padding\" }\nconst _hoisted_14 = {\n key: 0,\n class: \"fa fa-spinner fa-spin\",\n style: {\"font-size\":\"36px\"}\n}\nconst _hoisted_15 = {\n key: 1,\n class: \"alert alert-danger\",\n role: \"alert\"\n}\nconst _hoisted_16 = {\n key: 2,\n class: \"alert alert-success\",\n role: \"alert\"\n}\nconst _hoisted_17 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\n\nimport { ref, inject, onMounted } from 'vue';\nimport { useField, useForm } from 'vee-validate';\nimport { useLogger } from 'vue-logger-plugin';\nimport { NewslettersService } from '../../services/newsletters.service';\nimport { GTMService } from '../../services/gtm.service';\nimport useNewsletterSubmit from '../../composables/newsletter.composable';\nimport { LocationService } from '../../services/location.service';\nimport useValidators from '../../composables/validators.composable';\n\n// Define Component Input Properties\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'NewsletterSignupBetterYou',\n props: {\n header: {\n type: String,\n default: ''\n },\n blurb: {\n type: String,\n default: ''\n },\n listId: {\n type: Number,\n default: -1\n },\n sourceDesc: {\n type: String,\n default: ''\n },\n customClass: {\n type: String,\n default: ''\n },\n pathUrl: {\n type: String,\n default: ''\n }\n},\n setup(__props) {\n\nconst props = __props;\n\n\n\nconst logger = useLogger();\n// inject our newsletter service\nconst newslettersService: NewslettersService | undefined = inject('NewslettersService');\n// inject our locationservice\nconst locationService: LocationService | undefined = inject('LocationService');\n\nconst gtmService: GTMService | undefined = inject('GTMService');\nconst { newsletterSubmit } = useNewsletterSubmit(newslettersService, gtmService);\n\n// Component Locally Tracked Values\nconst submitting = ref(false);\nconst submitted = ref(false);\nconst error = ref('');\nconst isCookieLawZone = ref(false);\n\n// get validators\nconst { isRequired, isEmail } = useValidators();\n// generate validation schema\nconst validationSchema = {\n email: (value: string) => isRequired(value, 'Email is required') && isEmail(value),\n partners: () => true\n};\n\n// Form Configuration\nconst { handleSubmit, errors } = useForm({\n validationSchema,\n initialValues: {\n email: '',\n partners: !isCookieLawZone.value\n }\n});\n\n// Field Configurations\nconst { value: email } = useField('email');\nconst { value: partners } = useField('partners');\n\n// Handle Form Submit\nconst submit = handleSubmit(async (values) => {\n // start spinner\n submitting.value = true;\n\n // reset error message\n error.value = '';\n\n // submit to newsletter service\n const { message, success } = await newsletterSubmit(props.listId, values.email, props.sourceDesc, partners.value, props.pathUrl);\n\n if (success) {\n submitted.value = true;\n } else {\n submitted.value = false;\n error.value = message;\n }\n\n // stop spinner\n submitting.value = false;\n});\n\nonMounted(async () => {\n isCookieLawZone.value = (await locationService?.isCookieLawZone()) || false;\n logger.debug('Setting cookie zone law', isCookieLawZone.value);\n});\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _hoisted_4,\n _hoisted_5,\n _createElementVNode(\"span\", { innerHTML: __props.blurb }, null, 8, _hoisted_6),\n _createElementVNode(\"form\", {\n class: \"newsletter-signup\",\n onSubmit: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_unref(submit) && _unref(submit)(...args)))\n }, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"email\",\n name: \"email\",\n placeholder: \"Enter your email address\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (_isRef(email) ? (email).value = $event : null))\n }, null, 512), [\n [_vModelText, _unref(email)]\n ]),\n _hoisted_7,\n _createElementVNode(\"div\", _hoisted_8, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n name: \"partners\",\n class: _normalizeClass({ hide: !isCookieLawZone.value }),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_isRef(partners) ? (partners).value = $event : null))\n }, null, 2), [\n [_vModelCheckbox, _unref(partners)]\n ]),\n (isCookieLawZone.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, _hoisted_11))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_12\n ], 32),\n _createElementVNode(\"div\", _hoisted_13, [\n (submitting.value)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_14))\n : _createCommentVNode(\"\", true),\n (error.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, _toDisplayString(error.value), 1))\n : _createCommentVNode(\"\", true),\n (submitted.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, \" Thank you for your subscription. \"))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _hoisted_17\n ], 64))\n}\n}\n\n})","import script from \"./NewsletterSignupBetterYou.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NewsletterSignupBetterYou.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["useNewsletterSubmit","newslettersService","gtmService","errorMessage","newsletterSubmit","listId","email","sourceDesc","partner","path","__awaiter","sessionStore","useSessionStore","rsid","identity","useIdentityStore","registerEmail","then","undefined","message","success","isNaN","subscription","name","newsletter","partners","window","open","result","subscribe","processed","registerEvent","formId","err","_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_createElementVNode","src","alt","width","height","_hoisted_5","_hoisted_6","_hoisted_7","type","id","value","_hoisted_8","_hoisted_9","key","_hoisted_10","_createTextVNode","href","target","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","style","_hoisted_15","role","_hoisted_16","_hoisted_17","_defineComponent","__name","props","header","String","default","blurb","Number","customClass","pathUrl","setup","__props","logger","useLogger","inject","locationService","submitting","ref","submitted","error","isCookieLawZone","isRequired","isEmail","useValidators","validationSchema","handleSubmit","errors","useForm","initialValues","useField","submit","values","onMounted","debug","_ctx","_cache","_openBlock","_createElementBlock","_Fragment","innerHTML","onSubmit","args","_unref","_withDirectives","placeholder","$event","_isRef","_vModelText","_normalizeClass","hide","_vModelCheckbox","_createCommentVNode","_toDisplayString","__exports__"],"sourceRoot":""}