{"version":3,"sources":["webpack:///./ClientApp/features/tracking/gtag.ts","webpack:///./ClientApp/shared/util/events/rocEventUtils.ts","webpack:///./ClientApp/features/tracking/trackers/google-analytics/google-analytics-tracker.ts"],"names":["isAlreadyLogged","window","console","warn","addRocEventHandler","eventType","eventHandler","handler","evt","detail","document","addEventListener","removeEventListener","gtag","method","bannerName","event_label","event_category"],"mappings":"2FAAA,IACIA,GAAkB,EAMP,eAAoB,MACZ,oBAAXC,QAA4D,mBAA3BA,OAAM,MAOlD,EAAAA,QAAM,KAAN,mBANMD,IACJE,QAAQC,KAAK,2EACbH,GAAkB,K,gCCHN,SAASI,EACvBC,EACAC,GAEA,IAAMC,EAAU,SAACC,GAChBF,EAAaE,EAAIC,SAKlB,OAFAC,SAASC,iBAAiBN,EAAWE,GAE9B,kBAAMG,SAASE,oBAAoBP,EAAWE,IAhBtD,mC,6DCGCH,YAAmB,kBAAkB,WACpCS,YAAK,QAAS,QAAS,CACtBC,OAAQ,WAIVV,YAAmB,gBAAgB,YAAoB,IAAjBW,EAAiB,EAAjBA,WACrCF,YAAK,QAAS,QAAS,CACtBG,YAAaD,EACbE,eAAgB,cAIlBb,YAAmB,qBAAqB,YAAoB,IAAjBW,EAAiB,EAAjBA,WAC1CF,YAAK,QAAS,aAAc,CAC3BG,YAAaD,EACbE,eAAgB,gB","file":"google-analytics-tracker.b19d50ec.js","sourcesContent":["const tagManagerName = 'gtag';\r\nlet isAlreadyLogged = false;\r\n/**\r\n * Wrapper function to send data to Google (page views, events, enhanced ecommerce data, etc.).\r\n *\r\n * @param {*} args\r\n */\r\nexport default (...args: any[]) => {\r\n\tif (typeof window === 'undefined' || typeof window[tagManagerName] !== 'function') {\r\n\t\tif (!isAlreadyLogged) {\r\n\t\t\tconsole.warn('Unable to add data to the data layer, the Global Site Tag is not setup.');\r\n\t\t\tisAlreadyLogged = true;\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\twindow[tagManagerName](...args);\r\n};\r\n","import { RocEventType, RocEvent, ExtractEventParameters } from 'shared/events';\r\n\r\n/**\r\n * Helper function for handling ROC events from non React functions.\r\n * @param eventType The type of event to handle\r\n * @param eventHandler The event handler\r\n * @returns The callback function to remove this handler\r\n */\r\nexport default function addRocEventHandler(\r\n\teventType: T,\r\n\teventHandler: (data: ExtractEventParameters) => void,\r\n): () => void {\r\n\tconst handler = (evt: CustomEvent): void => {\r\n\t\teventHandler(evt.detail);\r\n\t};\r\n\r\n\tdocument.addEventListener(eventType, handler);\r\n\r\n\treturn () => document.removeEventListener(eventType, handler);\r\n}\r\n","/* eslint-disable camelcase */\r\nimport addRocEventHandler from 'shared/util/events/rocEventUtils';\r\nimport gtag from 'features/tracking/gtag';\r\n\r\nexport default function setup() {\r\n\taddRocEventHandler('user-logged-in', () => {\r\n\t\tgtag('event', 'login', {\r\n\t\t\tmethod: 'Roc',\r\n\t\t});\r\n\t});\r\n\r\n\taddRocEventHandler('banner-click', ({ bannerName }) => {\r\n\t\tgtag('event', 'click', {\r\n\t\t\tevent_label: bannerName,\r\n\t\t\tevent_category: 'banner',\r\n\t\t});\r\n\t});\r\n\r\n\taddRocEventHandler('banner-impression', ({ bannerName }) => {\r\n\t\tgtag('event', 'impression', {\r\n\t\t\tevent_label: bannerName,\r\n\t\t\tevent_category: 'banner',\r\n\t\t});\r\n\t});\r\n}\r\n"],"sourceRoot":""}