{"version":3,"file":"js/rad-newsletter-signup-small-image.f15290a7.js","mappings":"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","sources":["webpack://beliefnet-frontend/./src/composables/newsletter.composable.ts","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupSmallImage.vue?6f1d","webpack://beliefnet-frontend/./src/components/newsletters/NewsletterSignupSmallImage.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, 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-small image-decoration\" }\nconst _hoisted_2 = { class: \"inner\" }\nconst _hoisted_3 = [\"innerHTML\"]\nconst _hoisted_4 = [\"innerHTML\"]\nconst _hoisted_5 = { class: \"input-group\" }\nconst _hoisted_6 = /*#__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_7 = { class: \"col-sm-offset-1 col-sm-11\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"checkbox hidden text-left\"\n}\nconst _hoisted_9 = /*#__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_10 = { class: \"newsletter-signup-msgs add-padding\" }\nconst _hoisted_11 = {\n key: 0,\n class: \"fa fa-spinner fa-spin\",\n style: {\"font-size\":\"36px\"}\n}\nconst _hoisted_12 = {\n key: 1,\n class: \"alert alert-warning\",\n role: \"alert\"\n}\nconst _hoisted_13 = {\n key: 2,\n class: \"alert alert-danger\",\n role: \"alert\"\n}\nconst _hoisted_14 = {\n key: 3,\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: 'NewsletterSignupSmallImage',\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(\"h3\", {\n style: {\"z-index\":\"1\"},\n innerHTML: __props.header\n }, null, 8, _hoisted_3),\n _createElementVNode(\"span\", { innerHTML: __props.blurb }, null, 8, _hoisted_4),\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 _createElementVNode(\"div\", _hoisted_5, [\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_6\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (isCookieLawZone.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\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 [_vModelCheckbox, _unref(partners)]\n ]),\n _hoisted_9\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n (submitting.value)\n ? (_openBlock(), _createElementBlock(\"i\", _hoisted_11))\n : _createCommentVNode(\"\", true),\n (_unref(errors).email)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString(_unref(errors).email), 1))\n : _createCommentVNode(\"\", true),\n (error.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _toDisplayString(error.value), 1))\n : _createCommentVNode(\"\", true),\n (submitted.value)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, \" Thank you for your subscription. \"))\n : _createCommentVNode(\"\", true)\n ])\n ], 32)\n ])\n ], 2)\n ]))\n}\n}\n\n})","import script from \"./NewsletterSignupSmallImage.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./NewsletterSignupSmallImage.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","type","value","_hoisted_7","_hoisted_8","key","_hoisted_9","_createTextVNode","href","target","_hoisted_10","_hoisted_11","style","_hoisted_12","role","_hoisted_13","_hoisted_14","_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","onSubmit","args","_unref","_withDirectives","placeholder","$event","_isRef","_vModelText","_vModelCheckbox","_createCommentVNode","_toDisplayString","__exports__"],"sourceRoot":""}