{"version":3,"file":"js/rad-content-link.7bc4ef32.js","mappings":"0LAGA,MAAMA,EAAuB,CACzB,OACA,UACA,SACA,SACA,UAEU,SAAUC,IACpB,MAAMC,GAASC,EAAAA,EAAAA,MAGfH,EAAqBI,SAAQC,IACzB,MAAMC,EAAa,GAAGD,aAChBE,GAAWC,EAAAA,EAAAA,GAAkBH,GAC/BE,EAASE,OACTC,eAAeC,QAAQL,EAAYC,EAASE,M,IAIpD,MAAMG,EAAuBC,IAEzB,IAAKA,EAAO,MAAO,GAEnB,IACI,MAAMC,EAAa,IAAIC,IAAIF,GAwB3B,OArBAb,EAAqBI,SAAQC,IACzB,MAAMC,EAAa,GAAGD,aAChBE,EAAWG,eAAeM,QAAQV,GAGxCQ,EAAWG,aAAab,SAAQ,CAACc,EAAkBC,EAAkBC,KAC7DF,GAAY,KAAKb,EAAIgB,oBACjBd,EACAa,EAAOE,IAAIH,EAAUZ,GAErBa,EAAOG,OAAOJ,G,KAMrBL,EAAWG,aAAaO,IAAInB,IAAUE,GACvCO,EAAWG,aAAaQ,OAAOpB,EAAKE,E,IAIrCO,EAAWY,I,CACpB,MAAMC,GACJzB,EAAOyB,MAAM,6CAA8CA,E,CAG/D,MAAO,EAAE,EAGb,MAAO,CACHf,sBAER,C,2FC3DA,MAAMgB,EAAa,CACjBC,MAAO,cACPC,MAAO,CAAC,iBAAiB,OAAO,SAAW,WAAW,aAAa,UAE/DC,EAAa,CAAC,OAAQ,aACtBC,EAAa,CAAC,aASpB,OAA4BC,EAAAA,EAAAA,iBAAiB,CAC3CC,OAAQ,OACRC,MAAO,CACLtB,IAAK,KACLuB,MAAO,KACPC,MAAO,KACPC,UAAW,CAAEC,KAAMC,UAErBC,MAAMC,GAER,MAAMP,EAAQO,GAUR,oBAAE9B,IAAwBX,EAAAA,EAAAA,KAE1B0C,GAAaC,EAAAA,EAAAA,WAAS,KAAK,IAAAC,EAAC,OAAAV,EAAMG,UAAY1B,EAA6B,QAATiC,EAAAV,EAAMtB,WAAG,IAAAgC,EAAAA,EAAI,IAAMV,EAAMtB,GAAG,IAEpG,MAAO,CAACiC,EAAUC,MACRC,EAAAA,EAAAA,cAAcC,EAAAA,EAAAA,oBAAoB,MAAOrB,EAAY,EAC3DsB,EAAAA,EAAAA,oBAAoB,IAAK,CACvBrB,MAAO,SACPC,MAAO,CAAC,QAAU,eAAe,WAAa,UAAU,MAAQ,QAAQ,gBAAgB,OAAO,YAAY,OAAO,cAAc,MAAM,QAAU,aAChJJ,MAAMyB,EAAAA,EAAAA,OAAOR,GACbS,UAAWV,EAAQN,OAClB,KAAM,EAAGL,IACZmB,EAAAA,EAAAA,oBAAoB,IAAK,KAAM,EAC7BA,EAAAA,EAAAA,oBAAoB,IAAK,CAAEE,UAAWV,EAAQL,OAAS,KAAM,EAAGL,OAItE,ICnDA,MAAMqB,EAAc,EAEpB,O","sources":["webpack://beliefnet-frontend/./src/composables/link-out.composable.ts","webpack://beliefnet-frontend/./src/components/content/link.vue?8559","webpack://beliefnet-frontend/./src/components/content/link.vue"],"sourcesContent":["import { useLogger } from 'vue-logger-plugin';\nimport useQueryParameter from './query-parameter.composable';\n\nconst trackedParameterKeys = [\n 'rsid',\n 'recipId',\n 'track1',\n 'track2',\n 'source'\n];\nexport default function useLinkOut() {\n const logger = useLogger();\n\n // capture query parameters and store in session storage\n trackedParameterKeys.forEach(key => {\n const storageKey = `${key}-link-out`;\n const paramVal = useQueryParameter(key);\n if (paramVal.value) {\n sessionStorage.setItem(storageKey, paramVal.value);\n }\n });\n\n const appendTrackedParams = (url: string): string => {\n // make sure we were provided a url\n if (!url) { return ''; }\n\n try {\n const updatedUrl = new URL(url);\n\n // update query parameters on provided url\n trackedParameterKeys.forEach(key => {\n const storageKey = `${key}-link-out`;\n const paramVal = sessionStorage.getItem(storageKey);\n \n // check for any replacement tokens and update accordingly\n updatedUrl.searchParams.forEach((tokenVal: string, tokenKey: string, params: URLSearchParams) => {\n if (tokenVal == `[-${key.toUpperCase()}-]`) {\n if (paramVal) {\n params.set(tokenKey, paramVal);\n } else {\n params.delete(tokenKey);\n }\n }\n })\n \n // append parameter if it doesn't already exist\n if (!updatedUrl.searchParams.has(key) && !!paramVal) {\n updatedUrl.searchParams.append(key, paramVal);\n }\n });\n\n return updatedUrl.href;\n } catch(error) {\n logger.error('Failed to append tracked parameters to url', error);\n }\n\n return '';\n }\n\n return {\n appendTrackedParams\n };\n}\n","import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = {\n class: \"text-center\",\n style: {\"padding-bottom\":\"20px\",\"position\":\"relative\",\"margin-top\":\"-40px\"}\n}\nconst _hoisted_2 = [\"href\", \"innerHTML\"]\nconst _hoisted_3 = [\"innerHTML\"]\n\nimport useQueryParameter from '@/composables/query-parameter.composable';\nimport { useLogger } from 'vue-logger-plugin';\nimport { toRefs, onMounted, ref, computed } from 'vue';\nimport useLinkOut from '../../composables/link-out.composable';\n\n// Define Component Input Properties\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'link',\n props: {\n url: null,\n title: null,\n blurb: null,\n isLinkOut: { type: Boolean }\n },\n setup(__props: any) {\n\nconst props = __props as {\n url: string,\n title: string,\n blurb: string,\n isLinkOut: boolean\n};\n\n\n\n// use link out capability to append tracked params\nconst { appendTrackedParams } = useLinkOut();\n// append tracked parameters to url if designated a link out\nconst linkOutUrl = computed(() => props.isLinkOut ? appendTrackedParams(props.url ?? '') : props.url);\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"a\", {\n class: \"btn-lg\",\n style: {\"display\":\"inline-block\",\"background\":\"#51a3de\",\"color\":\"white\",\"border-radius\":\"80px\",\"font-size\":\"30px\",\"font-weight\":\"600\",\"padding\":\"10px 42px\"},\n href: _unref(linkOutUrl),\n innerHTML: __props.title\n }, null, 8, _hoisted_2),\n _createElementVNode(\"p\", null, [\n _createElementVNode(\"b\", { innerHTML: __props.blurb }, null, 8, _hoisted_3)\n ])\n ]))\n}\n}\n\n})","import script from \"./link.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./link.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["trackedParameterKeys","useLinkOut","logger","useLogger","forEach","key","storageKey","paramVal","useQueryParameter","value","sessionStorage","setItem","appendTrackedParams","url","updatedUrl","URL","getItem","searchParams","tokenVal","tokenKey","params","toUpperCase","set","delete","has","append","href","error","_hoisted_1","class","style","_hoisted_2","_hoisted_3","_defineComponent","__name","props","title","blurb","isLinkOut","type","Boolean","setup","__props","linkOutUrl","computed","_a","_ctx","_cache","_openBlock","_createElementBlock","_createElementVNode","_unref","innerHTML","__exports__"],"sourceRoot":""}