{"version":3,"file":"js/rad-newsletter-signup-large-image.53617715.js","mappings":"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","sources":["webpack://beliefnet-frontend/./src/composables/newsletter.composable.ts","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupLargeImage.vue?029d","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupLargeImage.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, vShow as _vShow, vModelCheckbox as _vModelCheckbox, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass } from \"vue\"\n\nconst _hoisted_1 = { class: \"newsletter-su-themed wide-layout-column\" }\nconst _hoisted_2 = { class: \"outer\" }\nconst _hoisted_3 = { class: \"inner\" }\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = [\"innerHTML\"]\nconst _hoisted_6 = /*#__PURE__*/_createElementVNode(\"br\", null, null, -1)\nconst _hoisted_7 = { class: \"input-group\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"input-group-btn\" }, [\n /*#__PURE__*/_createElementVNode(\"input\", {\n type: \"submit\",\n class: \"btn btn-accent-2\",\n value: \"Sign Up\"\n })\n], -1)\nconst _hoisted_9 = { class: \"col-sm-offset-1 col-sm-11\" }\nconst _hoisted_10 = { class: \"checkbox text-left\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fine-print hide remove-padding\"\n}\nconst _hoisted_12 = /*#__PURE__*/_createElementVNode(\"a\", {\n href: \"/about-us/privacy-policy.aspx\",\n target: \"_blank\"\n}, \"Privacy and Data Policy\", -1)\nconst _hoisted_13 = {\n key: 1,\n class: \"fine-print remove-padding\"\n}\nconst _hoisted_14 = { class: \"newsletter-signup-msgs add-padding\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"fa fa-spinner fa-spin\",\n style: {\"font-size\":\"36px\"}\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"alert alert-danger\",\n role: \"alert\"\n}\nconst _hoisted_17 = {\n key: 2,\n class: \"alert alert-success\",\n role: \"alert\"\n}\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: 'NewsletterSignupLargeImage',\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(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"bg\", __props.customClass])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"h3\", {\n style: {\"z-index\":\"1\"},\n innerHTML: __props.header\n }, null, 8, _hoisted_4),\n _createElementVNode(\"span\", { innerHTML: __props.blurb }, null, 8, _hoisted_5),\n _hoisted_6,\n _createElementVNode(\"form\", {\n class: \"newsletter-signup\",\n onClick: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => (_unref(submit) && _unref(submit)(...args)))\n }, [\n _createElementVNode(\"div\", _hoisted_7, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"email\",\n name: \"email\",\n class: \"form-control\",\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_8\n ]),\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _withDirectives(_createElementVNode(\"input\", {\n type: \"checkbox\",\n name: \"partners\",\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (_isRef(partners) ? (partners).value = $event : null))\n }, null, 512), [\n [_vShow, isCookieLawZone.value],\n [_vModelCheckbox, _unref(partners)]\n ]),\n (isCookieLawZone.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [\n _createTextVNode(\" Please also opt me in for Exclusive Offers from Beliefnet's Partners \"),\n _hoisted_12\n ]))\n : (_openBlock(), _createElementBlock(\"span\", _hoisted_13, \"From time to time you will also receive Special Offers from our partners\"))\n ])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n (submitting.value)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_15))\n : _createCommentVNode(\"\", true),\n (error.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, _toDisplayString(error.value), 1))\n : _createCommentVNode(\"\", true),\n (submitted.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, \" Thank you for your subscription. \"))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ], 2)\n ]))\n}\n}\n\n})","import script from \"./NewsletterSignupLargeImage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NewsletterSignupLargeImage.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","_hoisted_5","_hoisted_6","_createElementVNode","_hoisted_7","_hoisted_8","type","value","_hoisted_9","_hoisted_10","_hoisted_11","key","_hoisted_12","href","target","_hoisted_13","_hoisted_14","_hoisted_15","style","_hoisted_16","role","_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","_normalizeClass","innerHTML","onClick","args","_unref","_withDirectives","placeholder","$event","_isRef","_vModelText","_vShow","_vModelCheckbox","_createTextVNode","_createCommentVNode","_toDisplayString","__exports__"],"sourceRoot":""}