{"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":""}