{"version":3,"file":"analytics-D5FWfBpk.js","sources":["../../../frontend/common/utils/analytics.js"],"sourcesContent":["/**\n * @typedef {'admin'|'storefront'} AnalyticsSource\n */\n\n/**\n * @typedef {object} TrackingParams\n * @property {string} eventName Event name\n * @property {string} eventCategory Name of events group (ex 'checkout')\n * @property {number|string|boolean} value The actual value for the event\n * @property {any} [details] Any valid JSON we want in a free form\n */\n\n/**\n * @typedef {object} AnalyticsLib\n * @property {() => void} sendPixelData\n * @property {(params: TrackingParams) => void} track\n */\n\n/**\n * Creates analytics library with clojured source\n * @param {AnalyticsSource} source\n * @returns {AnalyticsLib}\n */\nexport const analyticsFactory = source => ({\n sendPixelData: () => {\n const impersonated = window.gon?.impersonated\n const environment = window.gon?.environment\n\n if (impersonated) return\n if (!window.navigator?.sendBeacon) return\n\n const pixelData = {\n gid: window.gon?.analytics?.ga_id || null,\n current_pathname: window.location.pathname,\n current_query: window.location.search,\n current_host: window.location.host,\n window_height: window.innerHeight,\n window_width: window.innerWidth,\n real_referrer: document.referrer,\n current_store: window.gon?.pixel_store,\n current_user: window.gon?.pixel_user,\n current_email: window.gon?.pixel_email,\n session: window.gon?.pixel_session,\n }\n\n let endpoint = ''\n\n if (environment === 'production') {\n endpoint = 'https://pxl.uscreencdn.com/view'\n } else {\n endpoint = 'https://u-bumblebee-staging.herokuapp.com/view'\n }\n\n (window.pix = window.pix || []).push(pixelData)\n window.navigator.sendBeacon(endpoint, JSON.stringify(window.pix))\n },\n\n track: params => {\n const impersonated = window.gon?.impersonated\n const environment = window.gon?.environment\n\n if (impersonated) return\n if (!window.navigator?.sendBeacon) return\n\n const eventPayload = {\n name: params.eventName || params.event,\n category: params.eventCategory,\n value: params.value,\n details: params.details || {},\n store_id: window.gon?.analytics?.store_id,\n user_id: window.gon?.analytics?.user_id || null,\n ga_id: window.gon?.analytics?.ga_id || null,\n request_referer: window.gon?.analytics?.request_referer || null,\n session: window.gon?.analytics?.pixel_session || null,\n page_location: window.location.href,\n is_publisher: source === 'admin',\n source,\n }\n\n const endpoint = (environment === 'production') ? 'https://pxl.uscreencdn.com/event'\n : 'https://u-bumblebee-staging.herokuapp.com/event'\n window.navigator.sendBeacon(endpoint, JSON.stringify(eventPayload))\n }\n})\n"],"names":["analyticsFactory","source","_a","_b","_c","_d","_e","_f","_g","_h","_i","impersonated","environment","pixelData","endpoint","params","_j","_k","_l","_m","eventPayload"],"mappings":"AAuBY,MAACA,EAAmBC,IAAW,CACzC,cAAe,IAAM,CAxBvB,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAyBI,MAAMC,GAAeT,EAAA,OAAO,MAAP,YAAAA,EAAY,aAC3BU,GAAcT,EAAA,OAAO,MAAP,YAAAA,EAAY,YAEhC,GADIQ,GACA,GAACP,EAAA,OAAO,YAAP,MAAAA,EAAkB,YAAY,OACnC,MAAMS,EAAY,CAChB,MAAKP,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,QAAS,KACrC,iBAAkB,OAAO,SAAS,SAClC,cAAe,OAAO,SAAS,OAC/B,aAAc,OAAO,SAAS,KAC9B,cAAe,OAAO,YACtB,aAAc,OAAO,WACrB,cAAe,SAAS,SACxB,eAAeC,EAAA,OAAO,MAAP,YAAAA,EAAY,YAC3B,cAAcC,EAAA,OAAO,MAAP,YAAAA,EAAY,WAC1B,eAAeC,EAAA,OAAO,MAAP,YAAAA,EAAY,YAC3B,SAASC,EAAA,OAAO,MAAP,YAAAA,EAAY,aAC3B,EACI,IAAII,EAAW,GACXF,IAAgB,aAClBE,EAAW,kCAEXA,EAAW,kDAEZ,OAAO,IAAM,OAAO,KAAO,IAAI,KAAKD,CAAS,EAC9C,OAAO,UAAU,WAAWC,EAAU,KAAK,UAAU,OAAO,GAAG,CAAC,CACjE,EACD,MAAOC,GAAU,CAnDnB,IAAAb,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAM,EAAAC,EAAAC,EAAAC,EAoDI,MAAMR,GAAeT,EAAA,OAAO,MAAP,YAAAA,EAAY,aAC3BU,GAAcT,EAAA,OAAO,MAAP,YAAAA,EAAY,YAEhC,GADIQ,GACA,GAACP,EAAA,OAAO,YAAP,MAAAA,EAAkB,YAAY,OACnC,MAAMgB,EAAe,CACnB,KAAML,EAAO,WAAaA,EAAO,MACjC,SAAUA,EAAO,cACjB,MAAOA,EAAO,MACd,QAASA,EAAO,SAAW,CAAE,EAC7B,UAAUT,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,SACjC,UAASE,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,UAAW,KAC3C,QAAOE,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,QAAS,KACvC,kBAAiBO,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,kBAAmB,KAC3D,UAASE,GAAAD,EAAA,OAAO,MAAP,YAAAA,EAAY,YAAZ,YAAAC,EAAuB,gBAAiB,KACjD,cAAe,OAAO,SAAS,KAC/B,aAAclB,IAAW,QACzB,OAAAA,CACN,EACUa,EAAWF,IAAgB,aAAe,mCAAqC,kDACrF,OAAO,UAAU,WAAWE,EAAU,KAAK,UAAUM,CAAY,CAAC,CACnE,CACH"}