@webority/analytics 0.14.2 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var gt=["google","googleads","adwords","youtube"],_t=["meta","facebook","fb","instagram","ig","messenger"],Ct=["linkedin","lnkd"],yt=["bing","microsoft","microsoftads","msn"],q=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),Et=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],St=["google","yandex"],It=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],u=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function S(t){if(!t)return u.DIRECT;let e=d(t.utmSource);if(e){let r=w(e);if(gt.includes(r))return u.GOOGLE;if(_t.includes(r))return u.META;if(Ct.includes(r))return u.LINKEDIN;if(yt.includes(r))return u.MICROSOFT}if(d(t.fbclid))return u.META;if(d(t.gclid)||d(t.gbraid)||d(t.wbraid))return u.GOOGLE;if(d(t.liFatId))return u.LINKEDIN;if(d(t.msclkid))return u.MICROSOFT;if(j(e))return u.AI_ASSISTANT;if(e||d(t.utmMedium)||d(t.utmCampaign)||d(t.utmContent)||d(t.utmTerm))return u.OTHER;let o=W(t.referrer);return o?V(o)?u.AI_ASSISTANT:wt(o)?u.ORGANIC_SEARCH:It.some(r=>Y(o,r))?u.ORGANIC_SOCIAL:u.REFERRAL:u.DIRECT}function b(t){if(!t)return"";let e=j(d(t.utmSource));if(e)return e;let n=W(t.referrer);return n?V(n):""}function j(t){if(!t)return"";let e=w(t);for(let[n,o]of q)if(w(n)===e||o.some(r=>w(r)===e))return n;return""}function V(t){for(let[e,n]of q)if(n.some(o=>Y(t,o)))return e;return""}function wt(t){return Et.includes(t)?!0:St.some(e=>{if(!t.startsWith(`${e}.`))return!1;let n=t.slice(e.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function Y(t,e){return t===e||t.endsWith(`.${e}`)}function W(t){let e=d(t);if(!e)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:`https://${e}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function w(t){return String(t).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function d(t){return String(t??"").trim()}var N=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function ht(t){let e=typeof t=="string"?t.trim().toUpperCase():"";return e.length!==2||e==="XX"||e==="T1"?!0:N.includes(e)}var h="webority_cookie_consent",Q="webority-consent-change",X=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:X,cookieDomain:null,regionCookie:null,region:null,saved:null},Z=["eea","other"],L=new Set;function Tt(t){let e=t?.strictOptIn??!1;if(typeof e!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(e){if(t.requiresOptIn!==void 0&&t.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof t?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(t.cookieDomain!==void 0&&(typeof t.cookieDomain!="string"||!t.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(t.cookieDays!==void 0&&!(Number.isInteger(t.cookieDays)&&t.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(t.adStorage!==void 0&&typeof t.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(t.regionCookie!==void 0&&(typeof t.regionCookie!="string"||!/^[\w.-]+$/.test(t.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');i.initialized=!0,i.strictOptIn=e,i.requiresOptIn=e||t.requiresOptIn,i.adStorage=t.adStorage??!e,i.cookieDays=t.cookieDays??X,i.cookieDomain=t.cookieDomain?.trim()??null,i.regionCookie=t.regionCookie??null,i.region=i.regionCookie?kt(i.regionCookie):null;let{saved:n,entryCount:o}=Lt();i.saved=n,i.cookieDomain&&o>1&&n&&rt(n),bt(),Nt(),i.saved?R(i.saved):nt()&&ot()}function Ot(t){if(D("setConsentRegion"),!Z.includes(t))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let e=c();if(i.region=t,i.saved)return;let n=c();e.analytics===n.analytics&&e.functional===n.functional&&e.marketing===n.marketing||(ot(),et(n))}function g(){return i.initialized}function tt(){return i.strictOptIn}function k(){return i.adStorage}function c(){D("getConsent");let t=i.saved;if(t)return{essential:!0,analytics:t.analytics,functional:t.functional,marketing:t.marketing,decided:!0};if(nt())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let e=!i.requiresOptIn;return{essential:!0,analytics:e,functional:e,marketing:e,decided:!1}}function At(t){D("saveConsent");let e={essential:!0,analytics:t?.analytics===!0,functional:t?.functional===!0,marketing:t?.marketing===!0,timestamp:new Date().toISOString()};rt(e),i.saved=e,R(e),et(c())}function _(t){return L.add(t),()=>L.delete(t)}function et(t){for(let e of L)try{e(t)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(Q,{detail:t}))}function D(t){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${t}.`)}function E(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function bt(){if(i.strictOptIn){E("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}E("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...N]});let t=i.adStorage?"granted":"denied";E("consent","default",{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Nt(){E("set","ads_data_redaction",!0),E("set","url_passthrough",!0)}function nt(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function ot(){let t=c();R(t,t.analytics&&i.adStorage)}function R(t,e=t.marketing&&i.adStorage){let n=o=>o?"granted":"denied";E("consent","update",{analytics_storage:n(t.analytics),functionality_storage:n(t.functional),personalization_storage:n(t.functional),ad_storage:n(e),ad_user_data:n(e),ad_personalization:n(e)})}function Lt(){let t=`${h}=`,e=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(t)),n=e.map(o=>Dt(o.slice(t.length))).filter(Boolean);return{saved:Rt(n),entryCount:e.length}}function kt(t){let e=`${t}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(e))?.slice(e.length);return Z.includes(o)?o:null}function Dt(t){try{let e=JSON.parse(decodeURIComponent(t));return!e||typeof e!="object"?null:{essential:!0,analytics:e.analytics===!0,functional:e.functional===!0,marketing:e.marketing===!0,timestamp:e.timestamp??null}}catch{return null}}function Rt(t){if(t.length===0)return null;let e=t.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(e.some(Number.isNaN))return t.at(-1);let n=0;for(let o=1;o<t.length;o++)e[o]>=e[n]&&(n=o);return t[n]}function rt(t){let e=typeof t.timestamp=="string"?Date.parse(t.timestamp):Number.NaN,n=(Number.isNaN(e)?Date.now():e)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&J(`${h}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";J(`${h}=${encodeURIComponent(JSON.stringify(t))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function J(t){document.cookie=t}var O="webority_attribution",vt=2160*60*60*1e3,xt=200,v=500,Ut=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),it=!1;function Pt(){ct("captureAttribution"),$t();let t=Ft();if(!t)return;let e=F(x());st(x(),{firstTouch:e?.firstTouch??t,lastTouch:t}),Mt(t)}function Mt(t){let e={event:"acquisition_touch",acquisition_channel:S(t)};t.aiSource&&(e.ai_source=t.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(e)}function M(){return ct("getAttribution"),F(x())}function Ft(){let t=new URLSearchParams(window.location.search),e={};for(let[r,p]of Object.entries(Ut)){let s=T(t.get(r),xt);s&&(e[p]=s)}let n=T(t.get("referrer"),v)||Gt();if(n&&(e.referrer=n),Object.keys(e).length===0)return null;let o=b(e);return o&&(e.aiSource=o),e.landingPage=T(window.location.pathname,v),e.capturedDateTimeUtc=new Date().toISOString(),e}function Gt(){let t=document.referrer;if(!t)return"";try{return new URL(t).hostname===window.location.hostname?"":T(t,v)}catch{return""}}function $t(){it||(it=!0,_(t=>{let e=t.marketing?P():U(),n=t.marketing?U():P(),o=F(e);zt(e),o&&st(n,o)}))}function x(){return c().marketing?U():P()}function U(){try{return window.localStorage}catch{return null}}function P(){try{return window.sessionStorage}catch{return null}}function F(t){try{let e=t?.getItem(O);if(!e)return null;let n=JSON.parse(e),o=at(n?.firstTouch),r=at(n?.lastTouch);return!o&&!r?(t.removeItem(O),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function st(t,e){try{t?.setItem(O,JSON.stringify(e))}catch{}}function zt(t){try{t?.removeItem(O)}catch{}}function at(t){if(!t||typeof t!="object")return null;let e=Date.parse(t.capturedDateTimeUtc);return Number.isFinite(e)&&Date.now()-e<=vt?t:null}function T(t,e){let n=String(t??"").trim();return n?n.slice(0,e):""}function ct(t){if(!g())throw new Error(`@webority/analytics: call initConsent before ${t}.`)}var a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download",REPORT_VERIFIED:"report_verified"}),Ce=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD,reportVerified:a.REPORT_VERIFIED}),ye=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var l={config:null,posthogInstance:null,posthogInitPromise:null,registeredEvents:new Set(Object.values(a)),warnedUnregisteredEvents:new Set,pendingIdentify:null},we=50;function he(t){l.config=t,l.posthogInstance=null,l.posthogInitPromise=null,l.pendingIdentify=null}function Bt(){let t=l.config;return t?!!(t.enabled&&t.clientKey&&t.environment!=="Local"):!1}function A(){return g()&&c().analytics}function Te(){return Bt()&&A()}var Kt=new Set(["token","code","email","access_token","id_token","state","password"]),Ht=/(?:access_token|id_token|token|code|state|email|password)=/i,qt=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"];function jt(t){if(typeof t!="string")return t;let e=t.indexOf("#"),n=e===-1?t:t.slice(0,e),o=e===-1||Ht.test(t.slice(e))?"":t.slice(e),r=n.indexOf("?");if(r===-1)return n+o;let p=n.slice(r+1).split("&"),s=p.filter(y=>!Kt.has(Yt(y)));if(s.length===p.length)return n+o;let C=n.slice(0,r),I=s.filter(y=>y!=="").join("&");return(I?`${C}?${I}`:C)+o}function ut(t){if(!t||typeof t!="object")return t;let e=t.properties;for(let n of[e,t.$set,t.$set_once,e?.$set,e?.$set_once])Vt(n);return t}function Vt(t){if(!(!t||typeof t!="object"))for(let e of qt)typeof t[e]=="string"&&(t[e]=jt(t[e]))}function Yt(t){let e=t.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(e).toLowerCase()}catch{return e.toLowerCase()}}async function Le(){if(l.posthogInstance)return l.posthogInstance;if(l.posthogInitPromise)return l.posthogInitPromise;let t=l.config;return l.posthogInitPromise=import("posthog-js").then(e=>{let n=e.default??e,o=G($(t),A());return n.init(t.clientKey,o),n.register({product:t.product,surface:t.surface,environment:t.environment}),A()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),l.posthogInstance=n,n}).catch(e=>{throw l.posthogInitPromise=null,e}),l.posthogInitPromise}function G(t,e){return e?t:{...t,opt_out_capturing_by_default:!0}}function $(t){let e=t.sessionRecording??{enabled:!1},n={api_host:t.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!e.enabled,disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!e.enabled,before_send:ut};return e.enabled&&(n.session_recording={maskAllInputs:e.maskAllInputs??!0,...e.maskTextSelector?{maskTextSelector:e.maskTextSelector}:{}}),n}var Wt=()=>import("posthog-js"),f={config:null,posthog:null,loading:null,loadPosthog:Wt,stopFollowingConsent:null};function Jt({host:t,clientKey:e,product:n,surface:o,environment:r,enabled:p=!0}={}){if(!g())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!p||!t||!e||r==="Local"||f.config||(f.config={host:t,clientKey:e,product:n,surface:o,environment:r},f.stopFollowingConsent=_(s=>Xt(s.analytics)),f.loading=Promise.resolve().then(f.loadPosthog).then(s=>Qt(s.default??s)).catch(()=>{}))}function Qt(t){let e=f.config,n=c().analytics;t.init(e.clientKey,G(Zt(e),n)),t.register({product:e.product,surface:e.surface,environment:e.environment}),n?t.opt_in_capturing({captureEventName:!1}):t.opt_out_capturing(),f.posthog=t}function Xt(t){f.posthog&&(t?f.posthog.opt_in_capturing():f.posthog.opt_out_capturing())}function Zt(t){return{...$({host:t.host}),capture_pageview:!0}}function lt(t,e){let n=f.config;if(!n)return;let o={...e,product:n.product,surface:n.surface,environment:n.environment};f.loading.then(()=>f.posthog?.capture(t,o)).catch(()=>{})}var te=new Set(Object.values(a));function ee(t,e={}){if(!te.has(t))return!1;let n=c().analytics,o=M(),r={...e};for(let[p,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${p}_touch_channel`]=S(s),s.aiSource&&(r[`${p}_touch_ai_source`]=s.aiSource));return lt(t,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:t}),!0):!1}var ne=["scroll","mousemove","touchstart","keydown","pointerdown"],oe="https://www.googletagmanager.com/gtm.js",dt=1500,re=3e3,ie=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function ae(t={}){if(!g())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:e,gtmUrl:n=oe,clarityId:o,ahrefsKey:r}=t;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let p=tt();if(r){let s=()=>B("https://analytics.ahrefs.com/analytics.js",{"data-key":r});p?ft(C=>C.analytics,s):s()}if(e){let s=k(),C=H=>H.analytics||H.marketing&&s,I=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),B(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(e)}`)},y=c(),mt=y.decided&&C(y)?se:ce,K=()=>mt(I);p?ft(C,K):K()}o&&(m.clarityId=o,c().analytics&&ue(),_(s=>{s.analytics&&!m.clarityLoaded?z():m.clarityLoaded&&pt(s)}))}function ft(t,e){if(t(c())){e();return}let n=_(o=>{t(o)&&(n(),e())})}function se(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()}function ce(t){let e=!1,n=()=>{e||(e=!0,t())};for(let o of ne)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,dt):window.addEventListener("load",()=>setTimeout(n,dt),{once:!0})}function ue(){let t=()=>{window.scrollY>ie&&z()};window.addEventListener("scroll",t,{passive:!0});let e=setTimeout(z,re);m.cancelClaritySchedule=()=>{window.removeEventListener("scroll",t),clearTimeout(e)}}function z(){m.cancelClaritySchedule?.(),m.cancelClaritySchedule=null,!(m.clarityLoaded||!m.clarityId)&&(m.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},pt(c()),B(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function pt(t){window.clarity("consentv2",{ad_Storage:t.marketing&&k()?"granted":"denied",analytics_Storage:t.analytics?"granted":"denied"})}function B(t,e={}){let n=document.createElement("script");n.async=!0,n.src=t;for(let[o,r]of Object.entries(e))n.setAttribute(o,r);document.head.appendChild(n)}export{ht as a,h as b,Q as c,Tt as d,Ot as e,g as f,c as g,At as h,_ as i,a as j,Ce as k,ye as l,l as m,we as n,he as o,Bt as p,A as q,Te as r,Le as s,u as t,S as u,b as v,Pt as w,M as x,Jt as y,ee as z,ae as A};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{A as P,a as y,b as C,c as w,d as b,e as _,f as l,g as A,h as k,i as c,j as x,k as p,l as d,m as n,n as g,o as h,p as i,q as o,r as m,s,t as N,u as T,v as O,w as R,x as S,z as U}from"./chunk-OB6GRLG7.js";var E=null;function z(e){if(!l())throw new Error("@webority/analytics: call initConsent before initAnalytics.");E?.(),E=c(t=>q(t.analytics)),h({host:e.host,clientKey:e.clientKey,product:e.product,surface:e.surface,environment:e.environment,enabled:e.enabled??!0,logger:e.logger??null,sessionRecording:{enabled:e.sessionRecording?.enabled??!1,maskAllInputs:e.sessionRecording?.maskAllInputs??!0,maskTextSelector:e.sessionRecording?.maskTextSelector??null}}),i()&&j()}function j(){let e=()=>{i()&&v()};typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:3e3}):setTimeout(e,0)}function v(){s().catch(()=>{})}function q(e){if(i()){if(e){n.posthogInstance?(n.posthogInstance.opt_in_capturing(),I(n.posthogInstance)):s().then(I).catch(()=>{});return}!n.posthogInstance&&!n.posthogInitPromise&&v(),K()}}function I(e){let t=n.pendingIdentify;e&&t&&o()&&e.identify(t.publicId,t.props)}function K(){if(n.posthogInstance){n.posthogInstance.opt_out_capturing();return}n.posthogInitPromise&&n.posthogInitPromise.then(e=>{o()||e?.opt_out_capturing()}).catch(()=>{})}function M(e,t={}){if(!i()){u("identify",{publicId:e,...t});return}n.pendingIdentify={publicId:e,props:t},o()&&s().then(r=>{!r||!o()||r.identify(e,t)}).catch(()=>{})}function V(e,t,r={}){if(!m()){u("group",{type:e,key:t,...r});return}s().then(a=>{!a||!o()||a.group(e,t,r)}).catch(()=>{})}function W(){n.pendingIdentify=null,n.posthogInstance&&n.posthogInstance.reset()}function H(e){for(let t of e){if(!d.test(t))throw new Error(`@webority/analytics: invalid event name "${t}". Expected snake_case.`);n.registeredEvents.add(t)}}function f(e,t={}){if(!n.registeredEvents.has(e)){L(e);return}$(e,t)}function L(e){if(n.warnedUnregisteredEvents.has(e))return;n.warnedUnregisteredEvents.size<g&&n.warnedUnregisteredEvents.add(e);let t=n.config?.logger,r=`@webority/analytics: event "${e}" is not registered, so it was dropped. Call registerEvents() first.`;if(typeof t?.warn=="function"){t.warn(r);return}if(typeof t?.info=="function"){t.info(r);return}console.warn(r)}function $(e,t){if(!i()){u(e,t);return}let r={...t,product:n.config.product,surface:n.config.surface,environment:n.config.environment};s().then(a=>{a?.capture(e,r)}).catch(()=>{})}function u(e,t){n.config?.environment==="Local"&&n.config.logger?.info(e,t)}var D=Object.freeze(Object.fromEntries(Object.entries(p).map(([e,t])=>[e,(r={})=>f(t,r)])));export{w as CONSENT_CHANGE_EVENT,C as CONSENT_COOKIE_NAME,R as captureAttribution,N as channels,x as events,S as getAttribution,A as getConsent,V as group,M as identify,z as initAnalytics,b as initConsent,P as loadTags,c as onConsentChange,H as registerEvents,y as requiresOptIn,W as resetIdentity,O as resolveAiSource,T as resolveChannel,k as saveConsent,_ as setConsentRegion,D as track,f as trackEvent,U as trackSiteEvent};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var r=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download",REPORT_VERIFIED:"report_verified"}),x=Object.freeze({signupStarted:r.SIGNUP_STARTED,signupCompleted:r.SIGNUP_COMPLETED,loginSucceeded:r.LOGIN_SUCCEEDED,onboardingStarted:r.ONBOARDING_STARTED,onboardingStepCompleted:r.ONBOARDING_STEP_COMPLETED,onboardingCompleted:r.ONBOARDING_COMPLETED,subscriptionActivated:r.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:r.SUBSCRIPTION_CANCELLED,paymentSucceeded:r.PAYMENT_SUCCEEDED,paymentFailed:r.PAYMENT_FAILED,feedbackSubmitted:r.FEEDBACK_SUBMITTED,leadSubmitted:r.LEAD_SUBMITTED,leadQualified:r.LEAD_QUALIFIED,whatsappClick:r.WHATSAPP_CLICK,calculatorUse:r.CALCULATOR_USE,phoneClick:r.PHONE_CLICK,demoBooked:r.DEMO_BOOKED,contactSubmitted:r.CONTACT_SUBMITTED,trialStartClick:r.TRIAL_START_CLICK,sampleReportDownload:r.SAMPLE_REPORT_DOWNLOAD,reportVerified:r.REPORT_VERIFIED}),A=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var E=null;function w(e){E=e}async function S(){if(E)return E.PostHog??null;try{let e=await import("posthog-react-native");return e.PostHog??e.default?.PostHog??e.default??null}catch{return null}}function D(e){return{host:e.host,defaultOptIn:!1,personProfiles:"identified_only",captureAppLifecycleEvents:!1,enableSessionReplay:!1,preloadFeatureFlags:!1,disableRemoteFeatureFlags:!0,disableSurveys:!0}}var _="webority_analytics_consent",R=["eea","other"],v=50,P="account",n={config:null,initPromise:null,posthog:null,requiresOptIn:!0,region:null,saved:null,pendingIdentify:null,pendingGroup:null,failureReported:!1},N=new Set(Object.values(r)),u=new Set,d=new Set;function k(e){if(n.initPromise)return n.initPromise;let t=l();return n.config={host:e?.host,clientKey:e?.clientKey,product:e?.product,surface:e?.surface,environment:e?.environment,enabled:e?.enabled??!0,logger:e?.logger??null,storage:e?.storage??null},n.requiresOptIn=e?.requiresOptIn!==!1,n.initPromise=b(t).catch(c),n.initPromise}async function b(e){let t=m(),o=n.saved,i=await U(t);o&&t?await s(()=>t.setItem(_,JSON.stringify(o))):!n.saved&&i&&(n.saved=i);let p=l();if((e.analytics!==p.analytics||e.decided!==p.decided)&&T(p),!f())return;let O=await S();if(!O){c(new Error("@webority/analytics: posthog-react-native is not installed, so nothing is sent."));return}let g=new O(n.config.clientKey,D(n.config));await g.ready?.(),await g.register(I()),n.posthog=g,await y(a())}function H(e){if(!R.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=l();n.region=e;let o=l();t.analytics!==o.analytics&&(y(o.analytics),T(o))}async function V(e){let t={analytics:e===!0,savedAtUtc:new Date().toISOString()};n.saved=t,y(t.analytics),T(l());let o=m();o&&await s(()=>o.setItem(_,JSON.stringify(t)))}function l(){return n.saved?{analytics:n.saved.analytics,decided:!0}:{analytics:!n.requiresOptIn||n.region==="other",decided:!1}}function q(e){return d.add(e),()=>d.delete(e)}function z(e,t={}){if(n.config&&!f()){C("identify",{publicId:e,...t});return}n.pendingIdentify={publicId:e,props:t},n.posthog&&a()&&s(()=>n.posthog.identify(e,t))}function Y(e,t={}){if(n.config&&!f()){C("group",{accountPublicId:e,...t});return}n.pendingGroup={accountPublicId:e,props:t},n.posthog&&a()&&s(()=>n.posthog.group(P,e,t))}function W(){n.pendingIdentify=null,n.pendingGroup=null;let e=n.posthog;e&&s(async()=>{e.reset(),await e.register(I()),a()?await e.optIn():await e.optOut()})}function $(e){for(let t of e){if(!A.test(t))throw new Error(`@webority/analytics: invalid event name "${t}". Expected snake_case.`);N.add(t)}}function j(e,t={}){if(!N.has(e)){M(e);return}h(e,t,(o,i)=>o.capture(e,i))}function J(e,t={}){h(e,t,(o,i)=>o.screen(e,i))}function h(e,t,o){if(!f()){C(e,t);return}if(!a())return;let i={...t,...I()};if(n.posthog){s(()=>o(n.posthog,i));return}n.initPromise?.then(()=>{n.posthog&&a()&&s(()=>o(n.posthog,i))})}function y(e){let t=n.posthog;return t?s(async()=>{if(!e){await t.optOut();return}await t.optIn(),L(t)}):Promise.resolve()}function L(e){if(!a())return;let t=n.pendingIdentify;t&&e.identify(t.publicId,t.props);let o=n.pendingGroup;o&&e.group(P,o.accountPublicId,o.props)}function m(){let e=n.config?.storage??null;return n.config&&!e&&c(new Error("@webority/analytics: no storage was passed to initMobileAnalytics, so the choice lasts until the app closes.")),e}async function U(e){if(!e)return null;try{let t=await e.getItem(_);if(!t)return null;let o=JSON.parse(t);return typeof o?.analytics!="boolean"?null:{analytics:o.analytics,savedAtUtc:typeof o.savedAtUtc=="string"?o.savedAtUtc:null}}catch(t){return c(t),null}}function T(e){for(let t of d)try{t(e)}catch(o){c(o)}}function f(){let e=n.config;return!!(e?.enabled&&e.clientKey&&e.host&&e.environment!=="Local")}function a(){return l().analytics}function I(){return{product:n.config.product,surface:n.config.surface,environment:n.config.environment}}function s(e){try{return Promise.resolve(e()).then(void 0,c)}catch(t){return c(t),Promise.resolve()}}function c(e){if(n.failureReported||(n.failureReported=!0,globalThis.__DEV__!==!0))return;let t=n.config?.logger,o=typeof t?.warn=="function"?t.warn:t?.info;if(typeof o=="function")try{o.call(t,`@webority/analytics: ${e?.message??e}`)}catch{}}function M(e){if(u.has(e))return;u.size<v&&u.add(e);let t=n.config?.logger,o=`@webority/analytics: event "${e}" is not registered, so it was dropped. Call registerEvents() first.`;if(typeof t?.warn=="function"){t.warn(o);return}if(typeof t?.info=="function"){t.info(o);return}console.warn(o)}function C(e,t){n.config?.environment==="Local"&&n.config.logger?.info(e,t)}function Q(){n.config=null,n.initPromise=null,n.posthog=null,n.requiresOptIn=!0,n.region=null,n.saved=null,n.pendingIdentify=null,n.pendingGroup=null,n.failureReported=!1,u.clear(),d.clear()}export{_ as CONSENT_STORAGE_KEY,Q as __resetForTests,w as __setNativeModulesForTests,r as events,l as getAnalyticsConsent,Y as group,z as identify,k as initMobileAnalytics,q as onAnalyticsConsentChange,$ as registerEvents,W as resetIdentity,V as setAnalyticsConsent,H as setConsentRegion,j as trackEvent,J as trackScreen};
|
package/dist/site.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d,e,g as f,h as g,i as h,j as i,
|
|
1
|
+
import{A as q,a,b,c,d,e,g as f,h as g,i as h,j as i,t as j,u as k,v as l,w as m,x as n,y as o,z as p}from"./chunk-OB6GRLG7.js";export{c as CONSENT_CHANGE_EVENT,b as CONSENT_COOKIE_NAME,m as captureAttribution,j as channels,i as events,n as getAttribution,f as getConsent,d as initConsent,o as initSiteAnalytics,q as loadTags,h as onConsentChange,a as requiresOptIn,l as resolveAiSource,k as resolveChannel,g as saveConsent,e as setConsentRegion,p as trackSiteEvent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var WeborityAnalytics=(()=>{var O=Object.defineProperty;var Ce=Object.getOwnPropertyDescriptor;var _e=Object.getOwnPropertyNames;var Se=Object.prototype.hasOwnProperty;var Ee=(e,t)=>{for(var n in t)O(e,n,{get:t[n],enumerable:!0})},ye=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of _e(t))!Se.call(e,r)&&r!==n&&O(e,r,{get:()=>t[r],enumerable:!(o=Ce(t,r))||o.enumerable});return e};var we=e=>ye(O({},"__esModule",{value:!0}),e);var Qe={};Ee(Qe,{CONSENT_CHANGE_EVENT:()=>D,CONSENT_COOKIE_NAME:()=>C,captureAttribution:()=>ae,channels:()=>s,events:()=>a,getAttribution:()=>I,getConsent:()=>c,initConsent:()=>J,loadTags:()=>fe,onConsentChange:()=>m,requiresOptIn:()=>j,resolveAiSource:()=>E,resolveChannel:()=>g,saveConsent:()=>Z,setConsentRegion:()=>X,trackSiteEvent:()=>ue});var Te=["google","googleads","adwords","youtube"],Ie=["meta","facebook","fb","instagram","ig","messenger"],Oe=["linkedin","lnkd"],Ae=["bing","microsoft","microsoftads","msn"],B=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),he=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],De=["google","yandex"],Ne=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],s=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function g(e){if(!e)return s.DIRECT;let t=u(e.utmSource);if(t){let r=S(t);if(Te.includes(r))return s.GOOGLE;if(Ie.includes(r))return s.META;if(Oe.includes(r))return s.LINKEDIN;if(Ae.includes(r))return s.MICROSOFT}if(u(e.fbclid))return s.META;if(u(e.gclid)||u(e.gbraid)||u(e.wbraid))return s.GOOGLE;if(u(e.liFatId))return s.LINKEDIN;if(u(e.msclkid))return s.MICROSOFT;if(H(t))return s.AI_ASSISTANT;if(t||u(e.utmMedium)||u(e.utmCampaign)||u(e.utmContent)||u(e.utmTerm))return s.OTHER;let o=q(e.referrer);return o?$(o)?s.AI_ASSISTANT:Le(o)?s.ORGANIC_SEARCH:Ne.some(r=>K(o,r))?s.ORGANIC_SOCIAL:s.REFERRAL:s.DIRECT}function E(e){if(!e)return"";let t=H(u(e.utmSource));if(t)return t;let n=q(e.referrer);return n?$(n):""}function H(e){if(!e)return"";let t=S(e);for(let[n,o]of B)if(S(n)===t||o.some(r=>S(r)===t))return n;return""}function $(e){for(let[t,n]of B)if(n.some(o=>K(e,o)))return t;return""}function Le(e){return he.includes(e)?!0:De.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function K(e,t){return e===t||e.endsWith(`.${t}`)}function q(e){let t=u(e);if(!t)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:`https://${t}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function S(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function u(e){return String(e??"").trim()}var A=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function j(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:A.includes(t)}var C="webority_cookie_consent",D="webority-consent-change",W=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:W,cookieDomain:null,regionCookie:null,region:null,saved:null},V=["eea","other"],h=new Set;function J(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');i.initialized=!0,i.strictOptIn=t,i.requiresOptIn=t||e.requiresOptIn,i.adStorage=e.adStorage??!t,i.cookieDays=e.cookieDays??W,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?ve(i.regionCookie):null;let{saved:n,entryCount:o}=Re();i.saved=n,i.cookieDomain&&o>1&&n&&oe(n),be(),ke(),i.saved?b(i.saved):te()&&ne()}function X(e){if(L("setConsentRegion"),!V.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=c();if(i.region=e,i.saved)return;let n=c();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(ne(),ee(n))}function y(){return i.initialized}function Q(){return i.strictOptIn}function N(){return i.adStorage}function c(){L("getConsent");let e=i.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(te())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!i.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function Z(e){L("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};oe(t),i.saved=t,b(t),ee(c())}function m(e){return h.add(e),()=>h.delete(e)}function ee(e){for(let t of h)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(D,{detail:e}))}function L(e){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function p(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function be(){if(i.strictOptIn){p("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}p("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...A]});let e=i.adStorage?"granted":"denied";p("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function ke(){p("set","ads_data_redaction",!0),p("set","url_passthrough",!0)}function te(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function ne(){let e=c();b(e,e.analytics&&i.adStorage)}function b(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";p("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function Re(){let e=`${C}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Ue(o.slice(e.length))).filter(Boolean);return{saved:xe(n),entryCount:t.length}}function ve(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return V.includes(o)?o:null}function Ue(e){try{let t=JSON.parse(decodeURIComponent(e));return!t||typeof t!="object"?null:{essential:!0,analytics:t.analytics===!0,functional:t.functional===!0,marketing:t.marketing===!0,timestamp:t.timestamp??null}}catch{return null}}function xe(e){if(e.length===0)return null;let t=e.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(t.some(Number.isNaN))return e.at(-1);let n=0;for(let o=1;o<e.length;o++)t[o]>=t[n]&&(n=o);return e[n]}function oe(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&Y(`${C}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";Y(`${C}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function Y(e){document.cookie=e}var T="webority_attribution",Me=2160*60*60*1e3,Ge=200,k=500,Pe=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),re=!1;function ae(){ce("captureAttribution"),He();let e=ze();if(!e)return;let t=x(R());se(R(),{firstTouch:t?.firstTouch??e,lastTouch:e}),Fe(e)}function Fe(e){let t={event:"acquisition_touch",acquisition_channel:g(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function I(){return ce("getAttribution"),x(R())}function ze(){let e=new URLSearchParams(window.location.search),t={};for(let[r,f]of Object.entries(Pe)){let d=w(e.get(r),Ge);d&&(t[f]=d)}let n=w(e.get("referrer"),k)||Be();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=E(t);return o&&(t.aiSource=o),t.landingPage=w(window.location.pathname,k),t.capturedDateTimeUtc=new Date().toISOString(),t}function Be(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":w(e,k)}catch{return""}}function He(){re||(re=!0,m(e=>{let t=e.marketing?U():v(),n=e.marketing?v():U(),o=x(t);$e(t),o&&se(n,o)}))}function R(){return c().marketing?v():U()}function v(){try{return window.localStorage}catch{return null}}function U(){try{return window.sessionStorage}catch{return null}}function x(e){try{let t=e?.getItem(T);if(!t)return null;let n=JSON.parse(t),o=ie(n?.firstTouch),r=ie(n?.lastTouch);return!o&&!r?(e.removeItem(T),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function se(e,t){try{e?.setItem(T,JSON.stringify(t))}catch{}}function $e(e){try{e?.removeItem(T)}catch{}}function ie(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=Me?e:null}function w(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ce(e){if(!y())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download"}),st=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD});var Ke=new Set(Object.values(a));function ue(e,t={}){if(!Ke.has(e)||!c().analytics)return!1;let n=I(),o={...t,event:e};for(let[r,f]of[["first",n?.firstTouch],["last",n?.lastTouch]])f&&(o[`${r}_touch_channel`]=g(f),f.aiSource&&(o[`${r}_touch_ai_source`]=f.aiSource));return window.dataLayer=window.dataLayer||[],window.dataLayer.push(o),!0}var qe=["scroll","mousemove","touchstart","keydown","pointerdown"],je="https://www.googletagmanager.com/gtm.js",le=1500,Ye=3e3,We=100,l={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function fe(e={}){if(!y())throw new Error("@webority/analytics: call initConsent before loadTags.");if(l.loaded)return;l.loaded=!0;let{gtmId:t,gtmUrl:n=je,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let f=Q();if(r){let d=()=>G("https://analytics.ahrefs.com/analytics.js",{"data-key":r});f?de(_=>_.analytics,d):d()}if(t){let d=N(),_=z=>z.analytics||z.marketing&&d,ge=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),G(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},P=c(),pe=P.decided&&_(P)?Ve:Je,F=()=>pe(ge);f?de(_,F):F()}o&&(l.clarityId=o,c().analytics&&Xe(),m(d=>{d.analytics&&!l.clarityLoaded?M():l.clarityLoaded&&me(d)}))}function de(e,t){if(e(c())){t();return}let n=m(o=>{e(o)&&(n(),t())})}function Ve(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function Je(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of qe)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,le):window.addEventListener("load",()=>setTimeout(n,le),{once:!0})}function Xe(){let e=()=>{window.scrollY>We&&M()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(M,Ye);l.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function M(){l.cancelClaritySchedule?.(),l.cancelClaritySchedule=null,!(l.clarityLoaded||!l.clarityId)&&(l.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},me(c()),G(`https://www.clarity.ms/tag/${encodeURIComponent(l.clarityId)}`,{crossorigin:"anonymous"}))}function me(e){window.clarity("consentv2",{ad_Storage:e.marketing&&N()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function G(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,r]of Object.entries(t))n.setAttribute(o,r);document.head.appendChild(n)}return we(Qe);})();
|
|
1
|
+
var WeborityAnalytics=(()=>{var b=Object.defineProperty;var bt=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Dt=Object.prototype.hasOwnProperty;var kt=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var H=(t,e)=>{for(var n in e)b(t,n,{get:e[n],enumerable:!0})},Lt=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Nt(e))!Dt.call(t,r)&&r!==n&&b(t,r,{get:()=>e[r],enumerable:!(o=bt(e,r))||o.enumerable});return t};var Rt=t=>Lt(b({},"__esModule",{value:!0}),t);var Ct={};H(Ct,{default:()=>ce});function se(){let t=[];t._i=[],t.__SV=1,t.people=[];for(let e of gt)t[e]=(...n)=>{t.push([e,...n])};t.init=(e,n)=>{t._i.push([e,n]);let o=document.createElement("script");o.async=!0,o.crossOrigin="anonymous",o.src=`${n.api_host.replace(/\/+$/,"").replace(".i.posthog.com","-assets.i.posthog.com")}/static/array.js`,document.head.appendChild(o)},window.posthog=t}var gt,_t,ce,yt=kt(()=>{gt=["capture","register","opt_in_capturing","opt_out_capturing"];_t={init(t,e){window.posthog||se(),window.posthog.init(t,e)}};for(let t of gt)_t[t]=(...e)=>window.posthog[t](...e);ce=_t});var Ie={};H(Ie,{CONSENT_CHANGE_EVENT:()=>k,CONSENT_COOKIE_NAME:()=>S,captureAttribution:()=>ut,channels:()=>c,events:()=>a,getAttribution:()=>A,getConsent:()=>u,initConsent:()=>Z,initSiteAnalytics:()=>Et,loadTags:()=>Tt,onConsentChange:()=>m,requiresOptIn:()=>W,resolveAiSource:()=>w,resolveChannel:()=>C,saveConsent:()=>nt,setConsentRegion:()=>tt,trackSiteEvent:()=>It});var vt=["google","googleads","adwords","youtube"],xt=["meta","facebook","fb","instagram","ig","messenger"],Ut=["linkedin","lnkd"],Pt=["bing","microsoft","microsoftads","msn"],K=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),Mt=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Ft=["google","yandex"],Gt=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],c=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function C(t){if(!t)return c.DIRECT;let e=l(t.utmSource);if(e){let r=h(e);if(vt.includes(r))return c.GOOGLE;if(xt.includes(r))return c.META;if(Ut.includes(r))return c.LINKEDIN;if(Pt.includes(r))return c.MICROSOFT}if(l(t.fbclid))return c.META;if(l(t.gclid)||l(t.gbraid)||l(t.wbraid))return c.GOOGLE;if(l(t.liFatId))return c.LINKEDIN;if(l(t.msclkid))return c.MICROSOFT;if(q(e))return c.AI_ASSISTANT;if(e||l(t.utmMedium)||l(t.utmCampaign)||l(t.utmContent)||l(t.utmTerm))return c.OTHER;let o=Y(t.referrer);return o?j(o)?c.AI_ASSISTANT:$t(o)?c.ORGANIC_SEARCH:Gt.some(r=>V(o,r))?c.ORGANIC_SOCIAL:c.REFERRAL:c.DIRECT}function w(t){if(!t)return"";let e=q(l(t.utmSource));if(e)return e;let n=Y(t.referrer);return n?j(n):""}function q(t){if(!t)return"";let e=h(t);for(let[n,o]of K)if(h(n)===e||o.some(r=>h(r)===e))return n;return""}function j(t){for(let[e,n]of K)if(n.some(o=>V(t,o)))return e;return""}function $t(t){return Mt.includes(t)?!0:Ft.some(e=>{if(!t.startsWith(`${e}.`))return!1;let n=t.slice(e.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function V(t,e){return t===e||t.endsWith(`.${e}`)}function Y(t){let e=l(t);if(!e)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(e)?e:`https://${e}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function h(t){return String(t).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function l(t){return String(t??"").trim()}var N=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function W(t){let e=typeof t=="string"?t.trim().toUpperCase():"";return e.length!==2||e==="XX"||e==="T1"?!0:N.includes(e)}var S="webority_cookie_consent",k="webority-consent-change",J=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:J,cookieDomain:null,regionCookie:null,region:null,saved:null},X=["eea","other"],D=new Set;function Z(t){let e=t?.strictOptIn??!1;if(typeof e!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(e){if(t.requiresOptIn!==void 0&&t.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof t?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(t.cookieDomain!==void 0&&(typeof t.cookieDomain!="string"||!t.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(t.cookieDays!==void 0&&!(Number.isInteger(t.cookieDays)&&t.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(t.adStorage!==void 0&&typeof t.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(t.regionCookie!==void 0&&(typeof t.regionCookie!="string"||!/^[\w.-]+$/.test(t.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');i.initialized=!0,i.strictOptIn=e,i.requiresOptIn=e||t.requiresOptIn,i.adStorage=t.adStorage??!e,i.cookieDays=t.cookieDays??J,i.cookieDomain=t.cookieDomain?.trim()??null,i.regionCookie=t.regionCookie??null,i.region=i.regionCookie?Kt(i.regionCookie):null;let{saved:n,entryCount:o}=Ht();i.saved=n,i.cookieDomain&&o>1&&n&&at(n),zt(),Bt(),i.saved?v(i.saved):rt()&&it()}function tt(t){if(R("setConsentRegion"),!X.includes(t))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let e=u();if(i.region=t,i.saved)return;let n=u();e.analytics===n.analytics&&e.functional===n.functional&&e.marketing===n.marketing||(it(),ot(n))}function E(){return i.initialized}function et(){return i.strictOptIn}function L(){return i.adStorage}function u(){R("getConsent");let t=i.saved;if(t)return{essential:!0,analytics:t.analytics,functional:t.functional,marketing:t.marketing,decided:!0};if(rt())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let e=!i.requiresOptIn;return{essential:!0,analytics:e,functional:e,marketing:e,decided:!1}}function nt(t){R("saveConsent");let e={essential:!0,analytics:t?.analytics===!0,functional:t?.functional===!0,marketing:t?.marketing===!0,timestamp:new Date().toISOString()};at(e),i.saved=e,v(e),ot(u())}function m(t){return D.add(t),()=>D.delete(t)}function ot(t){for(let e of D)try{e(t)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(k,{detail:t}))}function R(t){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${t}.`)}function y(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function zt(){if(i.strictOptIn){y("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}y("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...N]});let t=i.adStorage?"granted":"denied";y("consent","default",{ad_storage:t,ad_user_data:t,ad_personalization:t,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function Bt(){y("set","ads_data_redaction",!0),y("set","url_passthrough",!0)}function rt(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function it(){let t=u();v(t,t.analytics&&i.adStorage)}function v(t,e=t.marketing&&i.adStorage){let n=o=>o?"granted":"denied";y("consent","update",{analytics_storage:n(t.analytics),functionality_storage:n(t.functional),personalization_storage:n(t.functional),ad_storage:n(e),ad_user_data:n(e),ad_personalization:n(e)})}function Ht(){let t=`${S}=`,e=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(t)),n=e.map(o=>qt(o.slice(t.length))).filter(Boolean);return{saved:jt(n),entryCount:e.length}}function Kt(t){let e=`${t}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(e))?.slice(e.length);return X.includes(o)?o:null}function qt(t){try{let e=JSON.parse(decodeURIComponent(t));return!e||typeof e!="object"?null:{essential:!0,analytics:e.analytics===!0,functional:e.functional===!0,marketing:e.marketing===!0,timestamp:e.timestamp??null}}catch{return null}}function jt(t){if(t.length===0)return null;let e=t.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(e.some(Number.isNaN))return t.at(-1);let n=0;for(let o=1;o<t.length;o++)e[o]>=e[n]&&(n=o);return t[n]}function at(t){let e=typeof t.timestamp=="string"?Date.parse(t.timestamp):Number.NaN,n=(Number.isNaN(e)?Date.now():e)+i.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";i.cookieDomain&&Q(`${S}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";Q(`${S}=${encodeURIComponent(JSON.stringify(t))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function Q(t){document.cookie=t}var O="webority_attribution",Vt=2160*60*60*1e3,Yt=200,x=500,Wt=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),st=!1;function ut(){dt("captureAttribution"),Zt();let t=Jt();if(!t)return;let e=F(U());lt(U(),{firstTouch:e?.firstTouch??t,lastTouch:t}),Qt(t)}function Qt(t){let e={event:"acquisition_touch",acquisition_channel:C(t)};t.aiSource&&(e.ai_source=t.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(e)}function A(){return dt("getAttribution"),F(U())}function Jt(){let t=new URLSearchParams(window.location.search),e={};for(let[r,f]of Object.entries(Wt)){let s=T(t.get(r),Yt);s&&(e[f]=s)}let n=T(t.get("referrer"),x)||Xt();if(n&&(e.referrer=n),Object.keys(e).length===0)return null;let o=w(e);return o&&(e.aiSource=o),e.landingPage=T(window.location.pathname,x),e.capturedDateTimeUtc=new Date().toISOString(),e}function Xt(){let t=document.referrer;if(!t)return"";try{return new URL(t).hostname===window.location.hostname?"":T(t,x)}catch{return""}}function Zt(){st||(st=!0,m(t=>{let e=t.marketing?M():P(),n=t.marketing?P():M(),o=F(e);te(e),o&<(n,o)}))}function U(){return u().marketing?P():M()}function P(){try{return window.localStorage}catch{return null}}function M(){try{return window.sessionStorage}catch{return null}}function F(t){try{let e=t?.getItem(O);if(!e)return null;let n=JSON.parse(e),o=ct(n?.firstTouch),r=ct(n?.lastTouch);return!o&&!r?(t.removeItem(O),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function lt(t,e){try{t?.setItem(O,JSON.stringify(e))}catch{}}function te(t){try{t?.removeItem(O)}catch{}}function ct(t){if(!t||typeof t!="object")return null;let e=Date.parse(t.capturedDateTimeUtc);return Number.isFinite(e)&&Date.now()-e<=Vt?t:null}function T(t,e){let n=String(t??"").trim();return n?n.slice(0,e):""}function dt(t){if(!E())throw new Error(`@webority/analytics: call initConsent before ${t}.`)}var a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download",REPORT_VERIFIED:"report_verified"}),ke=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD,reportVerified:a.REPORT_VERIFIED});var ee=new Set(["token","code","email","access_token","id_token","state","password"]),ne=/(?:access_token|id_token|token|code|state|email|password)=/i,oe=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"];function re(t){if(typeof t!="string")return t;let e=t.indexOf("#"),n=e===-1?t:t.slice(0,e),o=e===-1||ne.test(t.slice(e))?"":t.slice(e),r=n.indexOf("?");if(r===-1)return n+o;let f=n.slice(r+1).split("&"),s=f.filter(_=>!ee.has(ae(_)));if(s.length===f.length)return n+o;let g=n.slice(0,r),I=s.filter(_=>_!=="").join("&");return(I?`${g}?${I}`:g)+o}function ft(t){if(!t||typeof t!="object")return t;let e=t.properties;for(let n of[e,t.$set,t.$set_once,e?.$set,e?.$set_once])ie(n);return t}function ie(t){if(!(!t||typeof t!="object"))for(let e of oe)typeof t[e]=="string"&&(t[e]=re(t[e]))}function ae(t){let e=t.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(e).toLowerCase()}catch{return e.toLowerCase()}}function pt(t,e){return e?t:{...t,opt_out_capturing_by_default:!0}}function mt(t){let e=t.sessionRecording??{enabled:!1},n={api_host:t.host,autocapture:!1,capture_pageview:"history_change",cookieless_mode:"on_reject",person_profiles:"identified_only",persistence:"localStorage+cookie",cross_subdomain_cookie:!0,disable_session_recording:!e.enabled,disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!e.enabled,before_send:ft};return e.enabled&&(n.session_recording={maskAllInputs:e.maskAllInputs??!0,...e.maskTextSelector?{maskTextSelector:e.maskTextSelector}:{}}),n}var ue=()=>Promise.resolve().then(()=>(yt(),Ct)),d={config:null,posthog:null,loading:null,loadPosthog:ue,stopFollowingConsent:null};function Et({host:t,clientKey:e,product:n,surface:o,environment:r,enabled:f=!0}={}){if(!E())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!f||!t||!e||r==="Local"||d.config||(d.config={host:t,clientKey:e,product:n,surface:o,environment:r},d.stopFollowingConsent=m(s=>de(s.analytics)),d.loading=Promise.resolve().then(d.loadPosthog).then(s=>le(s.default??s)).catch(()=>{}))}function le(t){let e=d.config,n=u().analytics;t.init(e.clientKey,pt(fe(e),n)),t.register({product:e.product,surface:e.surface,environment:e.environment}),n?t.opt_in_capturing({captureEventName:!1}):t.opt_out_capturing(),d.posthog=t}function de(t){d.posthog&&(t?d.posthog.opt_in_capturing():d.posthog.opt_out_capturing())}function fe(t){return{...mt({host:t.host}),capture_pageview:!0}}function St(t,e){let n=d.config;if(!n)return;let o={...e,product:n.product,surface:n.surface,environment:n.environment};d.loading.then(()=>d.posthog?.capture(t,o)).catch(()=>{})}var pe=new Set(Object.values(a));function It(t,e={}){if(!pe.has(t))return!1;let n=u().analytics,o=A(),r={...e};for(let[f,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${f}_touch_channel`]=C(s),s.aiSource&&(r[`${f}_touch_ai_source`]=s.aiSource));return St(t,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:t}),!0):!1}var me=["scroll","mousemove","touchstart","keydown","pointerdown"],ge="https://www.googletagmanager.com/gtm.js",ht=1500,_e=3e3,Ce=100,p={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Tt(t={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(p.loaded)return;p.loaded=!0;let{gtmId:e,gtmUrl:n=ge,clarityId:o,ahrefsKey:r}=t;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let f=et();if(r){let s=()=>$("https://analytics.ahrefs.com/analytics.js",{"data-key":r});f?wt(g=>g.analytics,s):s()}if(e){let s=L(),g=B=>B.analytics||B.marketing&&s,I=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),$(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(e)}`)},_=u(),At=_.decided&&g(_)?ye:Ee,z=()=>At(I);f?wt(g,z):z()}o&&(p.clarityId=o,u().analytics&&Se(),m(s=>{s.analytics&&!p.clarityLoaded?G():p.clarityLoaded&&Ot(s)}))}function wt(t,e){if(t(u())){e();return}let n=m(o=>{t(o)&&(n(),e())})}function ye(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()}function Ee(t){let e=!1,n=()=>{e||(e=!0,t())};for(let o of me)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,ht):window.addEventListener("load",()=>setTimeout(n,ht),{once:!0})}function Se(){let t=()=>{window.scrollY>Ce&&G()};window.addEventListener("scroll",t,{passive:!0});let e=setTimeout(G,_e);p.cancelClaritySchedule=()=>{window.removeEventListener("scroll",t),clearTimeout(e)}}function G(){p.cancelClaritySchedule?.(),p.cancelClaritySchedule=null,!(p.clarityLoaded||!p.clarityId)&&(p.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},Ot(u()),$(`https://www.clarity.ms/tag/${encodeURIComponent(p.clarityId)}`,{crossorigin:"anonymous"}))}function Ot(t){window.clarity("consentv2",{ad_Storage:t.marketing&&L()?"granted":"denied",analytics_Storage:t.analytics?"granted":"denied"})}function $(t,e={}){let n=document.createElement("script");n.async=!0,n.src=t;for(let[o,r]of Object.entries(e))n.setAttribute(o,r);document.head.appendChild(n)}return Rt(Ie);})();
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/analytics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./dist/index.js",
|
|
9
9
|
"./site": "./dist/site.js",
|
|
10
|
+
"./react-native": "./dist/react-native.js",
|
|
10
11
|
"./dist/webority-analytics-site.global.js": "./dist/webority-analytics-site.global.js"
|
|
11
12
|
},
|
|
12
13
|
"sideEffects": [
|
|
@@ -16,19 +17,23 @@
|
|
|
16
17
|
"dist"
|
|
17
18
|
],
|
|
18
19
|
"scripts": {
|
|
19
|
-
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.js src/site.js --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.js --bundle --format=iife --global-name=WeborityAnalytics --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js",
|
|
20
|
+
"build": "node -e \"require(\\\"node:fs\\\").rmSync(\\\"dist\\\",{recursive:true,force:true})\" && esbuild src/index.js src/site.js --bundle --splitting --format=esm --external:posthog-js --target=es2020 --minify --outdir=dist && esbuild src/site.js --bundle --format=iife --global-name=WeborityAnalytics --alias:posthog-js=./src/site-posthog-snippet.js --target=es2020 --minify --outfile=dist/webority-analytics-site.global.js && esbuild src/react-native/index.js --bundle --format=esm --external:posthog-react-native --target=es2020 --minify --outfile=dist/react-native.js",
|
|
20
21
|
"prepack": "npm run build && node ../scripts/package-guard-pack.mjs --output-dirs dist --allow-file ../.webority/package-allow.json",
|
|
21
22
|
"lint": "biome lint ./src ./test",
|
|
22
23
|
"format": "biome format --write ./src ./test",
|
|
23
24
|
"check": "biome check ./src ./test",
|
|
24
|
-
"test": "node test/smoke.mjs && node test/site.mjs && npm run build --silent && node test/bundle.mjs"
|
|
25
|
+
"test": "node test/smoke.mjs && node test/site.mjs && node test/react-native.mjs && node test/url-scrub.mjs && npm run build --silent && node test/bundle.mjs"
|
|
25
26
|
},
|
|
26
27
|
"peerDependencies": {
|
|
27
|
-
"posthog-js": "^1.417.1"
|
|
28
|
+
"posthog-js": "^1.417.1",
|
|
29
|
+
"posthog-react-native": "^4.80.0"
|
|
28
30
|
},
|
|
29
31
|
"peerDependenciesMeta": {
|
|
30
32
|
"posthog-js": {
|
|
31
33
|
"optional": true
|
|
34
|
+
},
|
|
35
|
+
"posthog-react-native": {
|
|
36
|
+
"optional": true
|
|
32
37
|
}
|
|
33
38
|
},
|
|
34
39
|
"devDependencies": {
|
package/dist/chunk-K4QQTXDP.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var ce=["google","googleads","adwords","youtube"],ue=["meta","facebook","fb","instagram","ig","messenger"],le=["linkedin","lnkd"],de=["bing","microsoft","microsoftads","msn"],F=Object.freeze([["chatgpt",["chatgpt.com","chat.openai.com"]],["perplexity",["perplexity.ai"]],["gemini",["gemini.google.com"]],["copilot",["copilot.microsoft.com"]],["claude",["claude.ai"]],["you",["you.com"]],["phind",["phind.com"]],["deepseek",["deepseek.com"]],["grok",["grok.com"]],["meta_ai",["meta.ai"]],["poe",["poe.com"]]]),fe=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],me=["google","yandex"],ge=["facebook.com","fb.com","instagram.com","linkedin.com","lnkd.in","twitter.com","t.co","x.com","reddit.com","pinterest.com","youtube.com","youtu.be","tiktok.com","whatsapp.com","threads.net","t.me","telegram.org"],s=Object.freeze({DIRECT:"direct",GOOGLE:"google",META:"meta",LINKEDIN:"linkedin",MICROSOFT:"microsoft",OTHER:"other",AI_ASSISTANT:"ai_assistant",ORGANIC_SEARCH:"organic_search",ORGANIC_SOCIAL:"organic_social",REFERRAL:"referral"});function p(e){if(!e)return s.DIRECT;let t=u(e.utmSource);if(t){let i=_(t);if(ce.includes(i))return s.GOOGLE;if(ue.includes(i))return s.META;if(le.includes(i))return s.LINKEDIN;if(de.includes(i))return s.MICROSOFT}if(u(e.fbclid))return s.META;if(u(e.gclid)||u(e.gbraid)||u(e.wbraid))return s.GOOGLE;if(u(e.liFatId))return s.LINKEDIN;if(u(e.msclkid))return s.MICROSOFT;if(z(t))return s.AI_ASSISTANT;if(t||u(e.utmMedium)||u(e.utmCampaign)||u(e.utmContent)||u(e.utmTerm))return s.OTHER;let o=$(e.referrer);return o?B(o)?s.AI_ASSISTANT:pe(o)?s.ORGANIC_SEARCH:ge.some(i=>H(o,i))?s.ORGANIC_SOCIAL:s.REFERRAL:s.DIRECT}function T(e){if(!e)return"";let t=z(u(e.utmSource));if(t)return t;let n=$(e.referrer);return n?B(n):""}function z(e){if(!e)return"";let t=_(e);for(let[n,o]of F)if(_(n)===t||o.some(i=>_(i)===t))return n;return""}function B(e){for(let[t,n]of F)if(n.some(o=>H(e,o)))return t;return""}function pe(e){return fe.includes(e)?!0:me.some(t=>{if(!e.startsWith(`${t}.`))return!1;let n=e.slice(t.length+1).split(".");return n.length===1||n.length===2&&(n[0]==="co"||n[0]==="com")})}function H(e,t){return e===t||e.endsWith(`.${t}`)}function $(e){let t=u(e);if(!t)return"";try{let n=new URL(/^[a-z][a-z0-9+.-]*:\/\//i.test(t)?t:`https://${t}`).hostname.toLowerCase();return n.startsWith("www.")?n.slice(4):n}catch{return""}}function _(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function u(e){return String(e??"").trim()}var I=Object.freeze(["AT","BE","BG","HR","CY","CZ","DK","EE","FI","FR","DE","GR","HU","IE","IT","LV","LT","LU","MT","NL","PL","PT","RO","SK","SI","ES","SE","IS","LI","NO","GB","CH"]);function Ce(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:I.includes(t)}var S="webority_cookie_consent",q="webority-consent-change",j=365,r={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:j,cookieDomain:null,regionCookie:null,region:null,saved:null},Y=["eea","other"],O=new Set;function _e(e){let t=e?.strictOptIn??!1;if(typeof t!="boolean")throw new Error("@webority/analytics: initConsent strictOptIn must be true or false, or left out.");if(t){if(e.requiresOptIn!==void 0&&e.requiresOptIn!==!0)throw new Error("@webority/analytics: initConsent strictOptIn asks every visitor to opt in, so requiresOptIn must be true or left out.")}else if(typeof e?.requiresOptIn!="boolean")throw new Error("@webority/analytics: initConsent needs requiresOptIn (true or false), decided from the visitor's country.");if(e.cookieDomain!==void 0&&(typeof e.cookieDomain!="string"||!e.cookieDomain.trim()))throw new Error('@webority/analytics: initConsent cookieDomain must be a domain such as ".example.com", or left out.');if(e.cookieDays!==void 0&&!(Number.isInteger(e.cookieDays)&&e.cookieDays>0))throw new Error("@webority/analytics: initConsent cookieDays must be a whole number of days above zero, or left out.");if(e.adStorage!==void 0&&typeof e.adStorage!="boolean")throw new Error("@webority/analytics: initConsent adStorage must be true or false, or left out.");if(e.regionCookie!==void 0&&(typeof e.regionCookie!="string"||!/^[\w.-]+$/.test(e.regionCookie)))throw new Error('@webority/analytics: initConsent regionCookie must be a cookie name such as "wui_region", or left out.');r.initialized=!0,r.strictOptIn=t,r.requiresOptIn=t||e.requiresOptIn,r.adStorage=e.adStorage??!t,r.cookieDays=e.cookieDays??j,r.cookieDomain=e.cookieDomain?.trim()??null,r.regionCookie=e.regionCookie??null,r.region=r.regionCookie?Ie(r.regionCookie):null;let{saved:n,entryCount:o}=Te();r.saved=n,r.cookieDomain&&o>1&&n&&Q(n),ye(),we(),r.saved?D(r.saved):J()&&X()}function Se(e){if(h("setConsentRegion"),!Y.includes(e))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let t=c();if(r.region=e,r.saved)return;let n=c();t.analytics===n.analytics&&t.functional===n.functional&&t.marketing===n.marketing||(X(),V(n))}function E(){return r.initialized}function W(){return r.strictOptIn}function A(){return r.adStorage}function c(){h("getConsent");let e=r.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(J())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let t=!r.requiresOptIn;return{essential:!0,analytics:t,functional:t,marketing:t,decided:!1}}function Ee(e){h("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};Q(t),r.saved=t,D(t),V(c())}function g(e){return O.add(e),()=>O.delete(e)}function V(e){for(let t of O)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(q,{detail:e}))}function h(e){if(!r.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function m(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function ye(){if(r.strictOptIn){m("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500});return}m("consent","default",{ad_storage:"denied",ad_user_data:"denied",ad_personalization:"denied",analytics_storage:"denied",functionality_storage:"denied",personalization_storage:"denied",security_storage:"granted",wait_for_update:500,region:[...I]});let e=r.adStorage?"granted":"denied";m("consent","default",{ad_storage:e,ad_user_data:e,ad_personalization:e,analytics_storage:"granted",functionality_storage:"granted",personalization_storage:"granted",security_storage:"granted"})}function we(){m("set","ads_data_redaction",!0),m("set","url_passthrough",!0)}function J(){return r.requiresOptIn&&!r.strictOptIn&&r.region==="other"}function X(){let e=c();D(e,e.analytics&&r.adStorage)}function D(e,t=e.marketing&&r.adStorage){let n=o=>o?"granted":"denied";m("consent","update",{analytics_storage:n(e.analytics),functionality_storage:n(e.functional),personalization_storage:n(e.functional),ad_storage:n(t),ad_user_data:n(t),ad_personalization:n(t)})}function Te(){let e=`${S}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Oe(o.slice(e.length))).filter(Boolean);return{saved:Ae(n),entryCount:t.length}}function Ie(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(i=>i.trim()).find(i=>i.startsWith(t))?.slice(t.length);return Y.includes(o)?o:null}function Oe(e){try{let t=JSON.parse(decodeURIComponent(e));return!t||typeof t!="object"?null:{essential:!0,analytics:t.analytics===!0,functional:t.functional===!0,marketing:t.marketing===!0,timestamp:t.timestamp??null}}catch{return null}}function Ae(e){if(e.length===0)return null;let t=e.map(o=>typeof o.timestamp=="string"?Date.parse(o.timestamp):Number.NaN);if(t.some(Number.isNaN))return e.at(-1);let n=0;for(let o=1;o<e.length;o++)t[o]>=t[n]&&(n=o);return e[n]}function Q(e){let t=typeof e.timestamp=="string"?Date.parse(e.timestamp):Number.NaN,n=(Number.isNaN(t)?Date.now():t)+r.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";r.cookieDomain&&K(`${S}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let i=r.cookieDomain?`;domain=${r.cookieDomain}`:"";K(`${S}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${i};SameSite=Lax${o}`)}function K(e){document.cookie=e}var w="webority_attribution",he=2160*60*60*1e3,De=200,N=500,Ne=Object.freeze({utm_source:"utmSource",utm_medium:"utmMedium",utm_campaign:"utmCampaign",utm_content:"utmContent",utm_term:"utmTerm",gclid:"gclid",gbraid:"gbraid",wbraid:"wbraid",fbclid:"fbclid",msclkid:"msclkid",li_fat_id:"liFatId"}),Z=!1;function Le(){ne("captureAttribution"),ve();let e=ke();if(!e)return;let t=v(L());te(L(),{firstTouch:t?.firstTouch??e,lastTouch:e}),be(e)}function be(e){let t={event:"acquisition_touch",acquisition_channel:p(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function R(){return ne("getAttribution"),v(L())}function ke(){let e=new URLSearchParams(window.location.search),t={};for(let[i,f]of Object.entries(Ne)){let d=y(e.get(i),De);d&&(t[f]=d)}let n=y(e.get("referrer"),N)||Re();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=T(t);return o&&(t.aiSource=o),t.landingPage=y(window.location.pathname,N),t.capturedDateTimeUtc=new Date().toISOString(),t}function Re(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":y(e,N)}catch{return""}}function ve(){Z||(Z=!0,g(e=>{let t=e.marketing?k():b(),n=e.marketing?b():k(),o=v(t);Ue(t),o&&te(n,o)}))}function L(){return c().marketing?b():k()}function b(){try{return window.localStorage}catch{return null}}function k(){try{return window.sessionStorage}catch{return null}}function v(e){try{let t=e?.getItem(w);if(!t)return null;let n=JSON.parse(t),o=ee(n?.firstTouch),i=ee(n?.lastTouch);return!o&&!i?(e.removeItem(w),null):{firstTouch:o??i,lastTouch:i??o}}catch{return null}}function te(e,t){try{e?.setItem(w,JSON.stringify(t))}catch{}}function Ue(e){try{e?.removeItem(w)}catch{}}function ee(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=he?e:null}function y(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ne(e){if(!E())throw new Error(`@webority/analytics: call initConsent before ${e}.`)}var a=Object.freeze({SIGNUP_STARTED:"signup_started",SIGNUP_COMPLETED:"signup_completed",LOGIN_SUCCEEDED:"login_succeeded",ONBOARDING_STARTED:"onboarding_started",ONBOARDING_STEP_COMPLETED:"onboarding_step_completed",ONBOARDING_COMPLETED:"onboarding_completed",SUBSCRIPTION_ACTIVATED:"subscription_activated",SUBSCRIPTION_CANCELLED:"subscription_cancelled",PAYMENT_SUCCEEDED:"payment_succeeded",PAYMENT_FAILED:"payment_failed",FEEDBACK_SUBMITTED:"feedback_submitted",LEAD_SUBMITTED:"lead_submitted",LEAD_QUALIFIED:"lead_qualified",WHATSAPP_CLICK:"whatsapp_click",CALCULATOR_USE:"calculator_use",PHONE_CLICK:"phone_click",DEMO_BOOKED:"demo_booked",CONTACT_SUBMITTED:"contact_submitted",TRIAL_START_CLICK:"trial_start_click",SAMPLE_REPORT_DOWNLOAD:"sample_report_download"}),Qe=Object.freeze({signupStarted:a.SIGNUP_STARTED,signupCompleted:a.SIGNUP_COMPLETED,loginSucceeded:a.LOGIN_SUCCEEDED,onboardingStarted:a.ONBOARDING_STARTED,onboardingStepCompleted:a.ONBOARDING_STEP_COMPLETED,onboardingCompleted:a.ONBOARDING_COMPLETED,subscriptionActivated:a.SUBSCRIPTION_ACTIVATED,subscriptionCancelled:a.SUBSCRIPTION_CANCELLED,paymentSucceeded:a.PAYMENT_SUCCEEDED,paymentFailed:a.PAYMENT_FAILED,feedbackSubmitted:a.FEEDBACK_SUBMITTED,leadSubmitted:a.LEAD_SUBMITTED,leadQualified:a.LEAD_QUALIFIED,whatsappClick:a.WHATSAPP_CLICK,calculatorUse:a.CALCULATOR_USE,phoneClick:a.PHONE_CLICK,demoBooked:a.DEMO_BOOKED,contactSubmitted:a.CONTACT_SUBMITTED,trialStartClick:a.TRIAL_START_CLICK,sampleReportDownload:a.SAMPLE_REPORT_DOWNLOAD}),Ze=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var xe=new Set(Object.values(a));function Me(e,t={}){if(!xe.has(e)||!c().analytics)return!1;let n=R(),o={...t,event:e};for(let[i,f]of[["first",n?.firstTouch],["last",n?.lastTouch]])f&&(o[`${i}_touch_channel`]=p(f),f.aiSource&&(o[`${i}_touch_ai_source`]=f.aiSource));return window.dataLayer=window.dataLayer||[],window.dataLayer.push(o),!0}var Ge=["scroll","mousemove","touchstart","keydown","pointerdown"],Pe="https://www.googletagmanager.com/gtm.js",oe=1500,Fe=3e3,ze=100,l={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Be(e={}){if(!E())throw new Error("@webority/analytics: call initConsent before loadTags.");if(l.loaded)return;l.loaded=!0;let{gtmId:t,gtmUrl:n=Pe,clarityId:o,ahrefsKey:i}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let f=W();if(i){let d=()=>x("https://analytics.ahrefs.com/analytics.js",{"data-key":i});f?re(C=>C.analytics,d):d()}if(t){let d=A(),C=P=>P.analytics||P.marketing&&d,ae=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),x(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},M=c(),se=M.decided&&C(M)?He:$e,G=()=>se(ae);f?re(C,G):G()}o&&(l.clarityId=o,c().analytics&&Ke(),g(d=>{d.analytics&&!l.clarityLoaded?U():l.clarityLoaded&&ie(d)}))}function re(e,t){if(e(c())){t();return}let n=g(o=>{e(o)&&(n(),t())})}function He(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function $e(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of Ge)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,oe):window.addEventListener("load",()=>setTimeout(n,oe),{once:!0})}function Ke(){let e=()=>{window.scrollY>ze&&U()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(U,Fe);l.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function U(){l.cancelClaritySchedule?.(),l.cancelClaritySchedule=null,!(l.clarityLoaded||!l.clarityId)&&(l.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},ie(c()),x(`https://www.clarity.ms/tag/${encodeURIComponent(l.clarityId)}`,{crossorigin:"anonymous"}))}function ie(e){window.clarity("consentv2",{ad_Storage:e.marketing&&A()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function x(e,t={}){let n=document.createElement("script");n.async=!0,n.src=e;for(let[o,i]of Object.entries(t))n.setAttribute(o,i);document.head.appendChild(n)}export{Ce as a,S as b,q as c,_e as d,Se as e,E as f,c as g,Ee as h,g as i,a as j,Qe as k,Ze as l,s as m,p as n,T as o,Le as p,R as q,Me as r,Be as s};
|