!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("@amplitude/analytics-browser")):"function"==typeof define&&define.amd?define(["@amplitude/analytics-browser"],e):(t="undefined"!=typeof globalThis?globalThis:t||self).MetricaSportsAnalyticsSDK=e(t.amplitude)}(this,function(t){"use strict";var e,i,n;!function(t){t.PageEntered="PAGE_ENTERED",t.PageExited="PAGE_EXITED",t.CtaClicked="CTA_CLICKED"}(e||(e={})),function(t){t.Acquisition="ACQUISITION",t.Signup="SIGNUP",t.Verification="VERIFICATION",t.Trial="TRIAL",t.Usage="USAGE",t.Error="ERROR"}(i||(i={})),function(t){t.Landing="LANDING",t.Signup="SIGNUP",t.Verification="VERIFICATION",t.Welcome="WELCOME",t.Download="DOWNLOAD",t.Login="LOGIN",t.ProductUsage="PRODUCT_USAGE",t.Unknown="UNKNOWN"}(n||(n={}));const a="metrica_sports_anonymous_id",o="metrica_sports_source_info",r=["facebook","instagram","twitter","x","linkedin","tiktok","youtube","snapchat","pinterest"],c=()=>{if("undefined"==typeof window||void 0===window.localStorage)return null;try{return window.localStorage}catch(t){return console.warn("MetricaSportsAnalytics: localStorage unavailable",t),null}},s=()=>{const t=c(),e=(()=>{if("undefined"==typeof window||void 0===window.location)return null;try{const t=new URL(window.location.href).searchParams,e=t.get("ch")||void 0,i=t.get("cid")||void 0,n=t.get("mid")||void 0,a=t.get("aid")||void 0,o=t.get("utm_source")||void 0,c=t.get("utm_medium")||void 0,s=t.get("utm_campaign")||void 0;let d=e;d||("email"===c?d="email":"cpc"===c||"paid"===c||"ppc"===c?d="paid":o&&r.some(t=>o.toLowerCase().includes(t))&&(d="social"));const u={sourceAt:(new Date).toISOString(),channel:d,campaignId:i,messageId:n,adId:a,utmSource:o,utmMedium:c,utmCampaign:s};return d||i||n||a||o||c||s?u:null}catch(t){return console.warn("MetricaSportsAnalytics: Unable to parse source from URL",t),null}})();if(e){if(t)try{t.setItem(o,JSON.stringify(e))}catch(t){console.warn("MetricaSportsAnalytics: Unable to persist source info",t)}return e}if(t)try{const e=t.getItem(o);if(e){const t=JSON.parse(e);return{sourceAt:t.sourceAt,channel:t.channel,campaignId:t.campaignId,messageId:t.messageId,adId:t.adId,utmSource:t.utmSource,utmMedium:t.utmMedium,utmCampaign:t.utmCampaign}}}catch(t){console.warn("MetricaSportsAnalytics: Unable to read stored source info",t)}return{channel:"direct"}},d=()=>"undefined"!=typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`,u=(t,e={})=>{const{application:i,platform:n,env:o}=t,r=(()=>{const t=c();if(t)try{let e=t.getItem(a);return e||(e=d(),t.setItem(a,e)),e}catch(t){return void console.warn("MetricaSportsAnalytics: Unable to access anonymous id",t)}})(),u=s(),l=(()=>{if("undefined"==typeof window||void 0===window.location)return;const t=(window.location.pathname||"/").replace(/^\/+|\/+$/g,"");return t?t.replace(/[^\w]+/g,"_"):"landing"})(),p="undefined"!=typeof window&&window.location?window.location.pathname:void 0,f="undefined"!=typeof document?document.referrer:void 0,m=d(),w=(new Date).toISOString();return Object.assign({application:i,platform:n,env:o,anonymousId:r,pageId:l,path:p,referrer:f,eventId:m,eventAt:w,channel:u.channel,sourceAt:u.sourceAt,sourceCampaignId:u.campaignId,sourceMessageId:u.messageId,sourceAdId:u.adId,utmSource:u.utmSource,utmMedium:u.utmMedium,utmCampaign:u.utmCampaign},e)};const l=new class{constructor(){this._initialized=!1,this._initPromise=null,this._initProps={application:"unknown",platform:"unknown",env:"production"},this._pageLifecycleListenersAttached=!1,this._ctaClickListenerAttached=!1}async init(e){this._initPromise||(this._initProps.application=e.application,this._initProps.platform=e.platform,this._initProps.env=e.env,this._initPromise=(async()=>{try{const i=e.getDeviceId?await e.getDeviceId():void 0;return t.init(e.apiKey,void 0,{appVersion:e.appVersion,deviceId:i,autocapture:{attribution:!1,pageViews:!1,sessions:!0,formInteractions:!1,fileDownloads:!1,elementInteractions:!1}}),this._initialized=!0,!0}catch(t){return console.warn("MetricaSportsAnalytics: init failed",t),this._initialized=!1,!1}})()),await this._initPromise}async setUser(e,i){if(await this._ensureReady()&&(t.setUserId(e),i&&Object.keys(i).length>0)){const e=new t.Identify;Object.entries(i).forEach(([t,i])=>{e.set(t,i)}),t.identify(e)}}async resetUser(){await this._ensureReady()&&t.reset()}async track(e,i={}){await this._ensureReady()&&await t.track(e,i)}async trackEnterPage(t={}){if(!await this._ensureReady())return;t.category||(t.category=i.Acquisition),t.journeyStage||(t.journeyStage=n.Landing);const a=u(this._initProps,t);await this.track(e.PageEntered,a)}async trackExitPage(t={}){if(!await this._ensureReady())return;t.category||(t.category=i.Acquisition),t.journeyStage||(t.journeyStage=n.Landing);const a=u(this._initProps,t);await this.track(e.PageExited,a)}async trackCtaClick(t,a={}){if(!await this._ensureReady())return;a.category||(a.category=i.Acquisition),a.journeyStage||(a.journeyStage=n.Landing);const o=u(this._initProps,Object.assign({label:t},a));await this.track(e.CtaClicked,o)}attachBrowserPageLifecycleListeners(t){if("undefined"==typeof window||"undefined"==typeof document)return;if(this._pageLifecycleListenersAttached)return;this._pageLifecycleListenersAttached=!0;const{shouldTrackEnter:e,shouldTrackExit:i,enterExtra:n={},exitExtra:a={}}=t||{},o=()=>{try{if(e&&!e(window.location))return;this.trackEnterPage(n)}catch(t){console.warn("MetricaSportsAnalytics: failed to track enter page",t)}},r=()=>{try{if(i&&!i(window.location))return;this.trackExitPage(a)}catch(t){console.warn("MetricaSportsAnalytics: failed to track exit page",t)}};"complete"===document.readyState||"interactive"===document.readyState?o():window.addEventListener("DOMContentLoaded",o,{once:!0});const c=window.history.pushState,s=window.history.replaceState;function d(t){return function(){const e=t.apply(this,arguments);return o(),e}}window.history.pushState=d(c),window.history.replaceState=d(s),window.addEventListener("popstate",()=>{o()});document.addEventListener("visibilitychange",()=>{"hidden"===document.visibilityState?r():o()}),window.addEventListener("beforeunload",()=>{r()})}attachBrowserCtaClickListener(t){if("undefined"==typeof window||"undefined"==typeof document)return;if(this._ctaClickListenerAttached)return;this._ctaClickListenerAttached=!0;const{resolveLabel:e,extra:i={},selector:n="a, button, [data-cta-label]"}=t||{},a=t=>{const e=t.getAttribute("data-cta-label");if(e)return e;const i=t.getAttribute("aria-label");if(i)return i;const n=(t.textContent||"").trim();return n||(t instanceof HTMLAnchorElement&&t.href?t.href:"unknown-cta")};document.addEventListener("click",t=>{const o=t.target;if(!o)return;const r=o.closest(n);if(!r)return;const c=(e||a)(r);c&&this.trackCtaClick(c,i)},!0)}async _ensureReady(){if(!this._initPromise)return console.warn("MetricaSportsAnalytics: SDK not initialized. Call init() first."),!1;return!(!await this._initPromise||!this._initialized)||(console.warn("MetricaSportsAnalytics: initialization failed, skipping call."),!1)}};return"undefined"!=typeof window&&(window.MetricaSportsAnalytics=l),l}); //# sourceMappingURL=analytics-sdk-0.2.0.min.js.map