@webority/analytics 0.15.0 → 0.17.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 _e=["google","googleads","adwords","youtube"],Ce=["meta","facebook","fb","instagram","ig","messenger"],Ee=["linkedin","lnkd"],ye=["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"]]]),Se=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Ie=["google","yandex"],he=["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 I(e){if(!e)return u.DIRECT;let t=f(e.utmSource);if(t){let r=h(t);if(_e.includes(r))return u.GOOGLE;if(Ce.includes(r))return u.META;if(Ee.includes(r))return u.LINKEDIN;if(ye.includes(r))return u.MICROSOFT}if(f(e.fbclid))return u.META;if(f(e.gclid)||f(e.gbraid)||f(e.wbraid))return u.GOOGLE;if(f(e.liFatId))return u.LINKEDIN;if(f(e.msclkid))return u.MICROSOFT;if(V(t))return u.AI_ASSISTANT;if(t||f(e.utmMedium)||f(e.utmCampaign)||f(e.utmContent)||f(e.utmTerm))return u.OTHER;let o=J(e.referrer);return o?Y(o)?u.AI_ASSISTANT:we(o)?u.ORGANIC_SEARCH:he.some(r=>W(o,r))?u.ORGANIC_SOCIAL:u.REFERRAL:u.DIRECT}function N(e){if(!e)return"";let t=V(f(e.utmSource));if(t)return t;let n=J(e.referrer);return n?Y(n):""}function V(e){if(!e)return"";let t=h(e);for(let[n,o]of q)if(h(n)===t||o.some(r=>h(r)===t))return n;return""}function Y(e){for(let[t,n]of q)if(n.some(o=>W(e,o)))return t;return""}function we(e){return Se.includes(e)?!0:Ie.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 W(e,t){return e===t||e.endsWith(`.${t}`)}function J(e){let t=f(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 h(e){return String(e).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function f(e){return String(e??"").trim()}var k=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 Te(e){let t=typeof e=="string"?e.trim().toUpperCase():"";return t.length!==2||t==="XX"||t==="T1"?!0:k.includes(t)}var w="webority_cookie_consent",X="webority-consent-change",Z=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:Z,cookieDomain:null,regionCookie:null,region:null,saved:null},ee=["eea","other"],L=new Set;function Oe(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??Z,i.cookieDomain=e.cookieDomain?.trim()??null,i.regionCookie=e.regionCookie??null,i.region=i.regionCookie?De(i.regionCookie):null;let{saved:n,entryCount:o}=Le();i.saved=n,i.cookieDomain&&o>1&&n&&ie(n),Ne(),ke(),i.saved?v(i.saved):oe()&&re()}function Ae(e){if(R("setConsentRegion"),!ee.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||(re(),ne(n))}function C(){return i.initialized}function te(){return i.strictOptIn}function D(){return i.adStorage}function c(){R("getConsent");let e=i.saved;if(e)return{essential:!0,analytics:e.analytics,functional:e.functional,marketing:e.marketing,decided:!0};if(oe())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 be(e){R("saveConsent");let t={essential:!0,analytics:e?.analytics===!0,functional:e?.functional===!0,marketing:e?.marketing===!0,timestamp:new Date().toISOString()};ie(t),i.saved=t,v(t),ne(c())}function E(e){return L.add(e),()=>L.delete(e)}function ne(e){for(let t of L)try{t(e)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(X,{detail:e}))}function R(e){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${e}.`)}function S(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function Ne(){if(i.strictOptIn){S("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}S("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:[...k]});let e=i.adStorage?"granted":"denied";S("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(){S("set","ads_data_redaction",!0),S("set","url_passthrough",!0)}function oe(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function re(){let e=c();v(e,e.analytics&&i.adStorage)}function v(e,t=e.marketing&&i.adStorage){let n=o=>o?"granted":"denied";S("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 Le(){let e=`${w}=`,t=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(e)),n=t.map(o=>Re(o.slice(e.length))).filter(Boolean);return{saved:ve(n),entryCount:t.length}}function De(e){let t=`${e}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(t))?.slice(t.length);return ee.includes(o)?o:null}function Re(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 ve(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 ie(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&&Q(`${w}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";Q(`${w}=${encodeURIComponent(JSON.stringify(e))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function Q(e){document.cookie=e}var O="webority_attribution",xe=2160*60*60*1e3,Ue=200,x=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"}),ae=!1;function Me(){ue("captureAttribution"),ze();let e=Ge();if(!e)return;let t=G(U());ce(U(),{firstTouch:t?.firstTouch??e,lastTouch:e}),Fe(e)}function Fe(e){let t={event:"acquisition_touch",acquisition_channel:I(e)};e.aiSource&&(t.ai_source=e.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(t)}function F(){return ue("getAttribution"),G(U())}function Ge(){let e=new URLSearchParams(window.location.search),t={};for(let[r,l]of Object.entries(Pe)){let s=T(e.get(r),Ue);s&&(t[l]=s)}let n=T(e.get("referrer"),x)||$e();if(n&&(t.referrer=n),Object.keys(t).length===0)return null;let o=N(t);return o&&(t.aiSource=o),t.landingPage=T(window.location.pathname,x),t.capturedDateTimeUtc=new Date().toISOString(),t}function $e(){let e=document.referrer;if(!e)return"";try{return new URL(e).hostname===window.location.hostname?"":T(e,x)}catch{return""}}function ze(){ae||(ae=!0,E(e=>{let t=e.marketing?M():P(),n=e.marketing?P():M(),o=G(t);Be(t),o&&ce(n,o)}))}function U(){return c().marketing?P():M()}function P(){try{return window.localStorage}catch{return null}}function M(){try{return window.sessionStorage}catch{return null}}function G(e){try{let t=e?.getItem(O);if(!t)return null;let n=JSON.parse(t),o=se(n?.firstTouch),r=se(n?.lastTouch);return!o&&!r?(e.removeItem(O),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function ce(e,t){try{e?.setItem(O,JSON.stringify(t))}catch{}}function Be(e){try{e?.removeItem(O)}catch{}}function se(e){if(!e||typeof e!="object")return null;let t=Date.parse(e.capturedDateTimeUtc);return Number.isFinite(t)&&Date.now()-t<=xe?e:null}function T(e,t){let n=String(e??"").trim();return n?n.slice(0,t):""}function ue(e){if(!C())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",REPORT_VERIFIED:"report_verified"}),Ct=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}),Et=/^[a-z][a-z0-9]*(_[a-z0-9]+)*$/;var d={config:null,posthogInstance:null,posthogInitPromise:null,registeredEvents:new Set(Object.values(a)),warnedUnregisteredEvents:new Set,pendingIdentify:null},ht=50;function wt(e){d.config=e,d.posthogInstance=null,d.posthogInitPromise=null,d.pendingIdentify=null}function Ke(){let e=d.config;return e?!!(e.enabled&&e.clientKey&&e.environment!=="Local"):!1}function A(){return C()&&c().analytics}function Tt(){return Ke()&&A()}var He=new Set(["token","code","email","access_token","id_token","state","password"]),je=/(?:access_token|id_token|token|code|state|email|password)=/i,qe=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"];function b(e){if(typeof e!="string")return e;let t=e.indexOf("#"),n=t===-1?e:e.slice(0,t),o=t===-1||je.test(e.slice(t))?"":e.slice(t),r=n.indexOf("?");if(r===-1)return n+o;let l=n.slice(r+1).split("&"),s=l.filter(g=>!He.has(Ye(g)));if(s.length===l.length)return n+o;let _=n.slice(0,r),y=s.filter(g=>g!=="").join("&");return(y?`${_}?${y}`:_)+o}function le(e){if(!e||typeof e!="object")return e;let t=e.properties;for(let o of[t,e.$set,e.$set_once,t?.$set,t?.$set_once])Ve(o);let n=t?.$heatmap_data;if(n&&typeof n=="object"){let o={};for(let[r,l]of Object.entries(n)){let s=b(r);o[s]=o[s]?o[s].concat(l):l}t.$heatmap_data=o}return e}function Ve(e){if(!(!e||typeof e!="object"))for(let t of qe)typeof e[t]=="string"&&(e[t]=b(e[t]))}function Ye(e){let t=e.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(t).toLowerCase()}catch{return t.toLowerCase()}}async function kt(){if(d.posthogInstance)return d.posthogInstance;if(d.posthogInitPromise)return d.posthogInitPromise;let e=d.config;return d.posthogInitPromise=import("posthog-js").then(t=>{let n=t.default??t,o=$(z(e),A());return n.init(e.clientKey,o),n.register({product:e.product,surface:e.surface,environment:e.environment}),A()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),d.posthogInstance=n,n}).catch(t=>{throw d.posthogInitPromise=null,t}),d.posthogInitPromise}function $(e,t){return t?e:{...e,opt_out_capturing_by_default:!0}}function z(e){let t=e.sessionRecording??{enabled:!1},n={api_host:e.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:!t.enabled,enable_heatmaps:e.heatmaps===!0,capture_exceptions:e.captureExceptions===!0,disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!t.enabled,before_send:le};return t.enabled&&(n.session_recording={maskAllInputs:t.maskAllInputs??!0,...t.maskTextSelector?{maskTextSelector:t.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:b(o.name)})}),n}var We=()=>import("posthog-js"),p={config:null,posthog:null,loading:null,loadPosthog:We,stopFollowingConsent:null};function Je({host:e,clientKey:t,product:n,surface:o,environment:r,enabled:l=!0,sessionRecording:s,heatmaps:_=!1,captureExceptions:y=!1}={}){if(!C())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!l||!e||!t||r==="Local"||p.config||(p.config={host:e,clientKey:t,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:_,captureExceptions:y},p.stopFollowingConsent=E(g=>Xe(g.analytics)),p.loading=Promise.resolve().then(p.loadPosthog).then(g=>Qe(g.default??g)).catch(()=>{}))}function Qe(e){let t=p.config,n=c().analytics;e.init(t.clientKey,$(Ze(t),n)),e.register({product:t.product,surface:t.surface,environment:t.environment}),n?e.opt_in_capturing({captureEventName:!1}):e.opt_out_capturing(),p.posthog=e}function Xe(e){p.posthog&&(e?p.posthog.opt_in_capturing():p.posthog.opt_out_capturing())}function Ze(e){return{...z({host:e.host,sessionRecording:e.sessionRecording,heatmaps:e.heatmaps,captureExceptions:e.captureExceptions}),capture_pageview:!0}}function de(e,t){let n=p.config;if(!n)return;let o={...t,product:n.product,surface:n.surface,environment:n.environment};p.loading.then(()=>p.posthog?.capture(e,o)).catch(()=>{})}var et=new Set(Object.values(a));function tt(e,t={}){if(!et.has(e))return!1;let n=c().analytics,o=F(),r={...t};for(let[l,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${l}_touch_channel`]=I(s),s.aiSource&&(r[`${l}_touch_ai_source`]=s.aiSource));return de(e,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:e}),!0):!1}var nt=["scroll","mousemove","touchstart","keydown","pointerdown"],ot="https://www.googletagmanager.com/gtm.js",fe=1500,rt=3e3,it=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function at(e={}){if(!C())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:t,gtmUrl:n=ot,clarityId:o,ahrefsKey:r}=e;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let l=te();if(r){let s=()=>K("https://analytics.ahrefs.com/analytics.js",{"data-key":r});l?pe(_=>_.analytics,s):s()}if(t){let s=D(),_=j=>j.analytics||j.marketing&&s,y=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),K(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(t)}`)},g=c(),ge=g.decided&&_(g)?st:ct,H=()=>ge(y);l?pe(_,H):H()}o&&(m.clarityId=o,c().analytics&&ut(),E(s=>{s.analytics&&!m.clarityLoaded?B():m.clarityLoaded&&me(s)}))}function pe(e,t){if(e(c())){t();return}let n=E(o=>{e(o)&&(n(),t())})}function st(e){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",e,{once:!0}):e()}function ct(e){let t=!1,n=()=>{t||(t=!0,e())};for(let o of nt)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,fe):window.addEventListener("load",()=>setTimeout(n,fe),{once:!0})}function ut(){let e=()=>{window.scrollY>it&&B()};window.addEventListener("scroll",e,{passive:!0});let t=setTimeout(B,rt);m.cancelClaritySchedule=()=>{window.removeEventListener("scroll",e),clearTimeout(t)}}function B(){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)},me(c()),K(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function me(e){window.clarity("consentv2",{ad_Storage:e.marketing&&D()?"granted":"denied",analytics_Storage:e.analytics?"granted":"denied"})}function K(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)}export{Te as a,w as b,X as c,Oe as d,Ae as e,C as f,c as g,be as h,E as i,a as j,Ct as k,Et as l,d as m,ht as n,wt as o,Ke as p,A as q,Tt as r,kt as s,u as t,I as u,N as v,Me as w,F as x,Je as y,tt as z,at as A};
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{A as P,a as y,b as C,c as w,d as b,e as
|
|
1
|
+
import{A as P,a as y,b as C,c as w,d as b,e as x,f as l,g as _,h as A,i as c,j as k,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-MSTYS7FD.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},heatmaps:e.heatmaps??!1,captureExceptions:e.captureExceptions??!1}),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,k as events,S as getAttribution,_ 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,A as saveConsent,x as setConsentRegion,D as track,f as trackEvent,U as trackSiteEvent};
|
package/dist/react-native.js
CHANGED
|
@@ -1 +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"}),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}),
|
|
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 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-
|
|
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-MSTYS7FD.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 At=Object.getOwnPropertyDescriptor;var bt=Object.getOwnPropertyNames;var Dt=Object.prototype.hasOwnProperty;var Nt=(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)O(t,n,{get:e[n],enumerable:!0})},Lt=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of bt(e))!Dt.call(t,r)&&r!==n&&O(t,r,{get:()=>e[r],enumerable:!(o=At(e,r))||o.enumerable});return t};var kt=t=>Lt(O({},"__esModule",{value:!0}),t);var gt={};H(gt,{default:()=>ee});function te(){let t=[];t._i=[],t.__SV=1,t.people=[];for(let e of pt)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 pt,mt,ee,_t=Nt(()=>{pt=["capture","register","opt_in_capturing","opt_out_capturing"];mt={init(t,e){window.posthog||te(),window.posthog.init(t,e)}};for(let t of pt)mt[t]=(...e)=>window.posthog[t](...e);ee=mt});var me={};H(me,{CONSENT_CHANGE_EVENT:()=>D,CONSENT_COOKIE_NAME:()=>S,captureAttribution:()=>ct,channels:()=>c,events:()=>a,getAttribution:()=>T,getConsent:()=>u,initConsent:()=>X,initSiteAnalytics:()=>Ct,loadTags:()=>It,onConsentChange:()=>m,requiresOptIn:()=>W,resolveAiSource:()=>w,resolveChannel:()=>g,saveConsent:()=>et,setConsentRegion:()=>Z,trackSiteEvent:()=>yt});var Rt=["google","googleads","adwords","youtube"],vt=["meta","facebook","fb","instagram","ig","messenger"],xt=["linkedin","lnkd"],Ut=["bing","microsoft","microsoftads","msn"],$=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"]]]),Pt=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],Mt=["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 g(t){if(!t)return c.DIRECT;let e=l(t.utmSource);if(e){let r=E(e);if(Rt.includes(r))return c.GOOGLE;if(vt.includes(r))return c.META;if(xt.includes(r))return c.LINKEDIN;if(Ut.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(K(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?q(o)?c.AI_ASSISTANT:Ft(o)?c.ORGANIC_SEARCH:Gt.some(r=>j(o,r))?c.ORGANIC_SOCIAL:c.REFERRAL:c.DIRECT}function w(t){if(!t)return"";let e=K(l(t.utmSource));if(e)return e;let n=Y(t.referrer);return n?q(n):""}function K(t){if(!t)return"";let e=E(t);for(let[n,o]of $)if(E(n)===e||o.some(r=>E(r)===e))return n;return""}function q(t){for(let[e,n]of $)if(n.some(o=>j(t,o)))return e;return""}function Ft(t){return Pt.includes(t)?!0:Mt.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 j(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 E(t){return String(t).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function l(t){return String(t??"").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 W(t){let e=typeof t=="string"?t.trim().toUpperCase():"";return e.length!==2||e==="XX"||e==="T1"?!0:A.includes(e)}var S="webority_cookie_consent",D="webority-consent-change",Q=365,i={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:Q,cookieDomain:null,regionCookie:null,region:null,saved:null},J=["eea","other"],b=new Set;function X(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??Q,i.cookieDomain=t.cookieDomain?.trim()??null,i.regionCookie=t.regionCookie??null,i.region=i.regionCookie?$t(i.regionCookie):null;let{saved:n,entryCount:o}=Ht();i.saved=n,i.cookieDomain&&o>1&&n&&it(n),zt(),Bt(),i.saved?k(i.saved):ot()&&rt()}function Z(t){if(L("setConsentRegion"),!J.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||(rt(),nt(n))}function C(){return i.initialized}function tt(){return i.strictOptIn}function N(){return i.adStorage}function u(){L("getConsent");let t=i.saved;if(t)return{essential:!0,analytics:t.analytics,functional:t.functional,marketing:t.marketing,decided:!0};if(ot())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 et(t){L("saveConsent");let e={essential:!0,analytics:t?.analytics===!0,functional:t?.functional===!0,marketing:t?.marketing===!0,timestamp:new Date().toISOString()};it(e),i.saved=e,k(e),nt(u())}function m(t){return b.add(t),()=>b.delete(t)}function nt(t){for(let e of b)try{e(t)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(D,{detail:t}))}function L(t){if(!i.initialized)throw new Error(`@webority/analytics: call initConsent before ${t}.`)}function _(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function zt(){if(i.strictOptIn){_("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}_("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 t=i.adStorage?"granted":"denied";_("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(){_("set","ads_data_redaction",!0),_("set","url_passthrough",!0)}function ot(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function rt(){let t=u();k(t,t.analytics&&i.adStorage)}function k(t,e=t.marketing&&i.adStorage){let n=o=>o?"granted":"denied";_("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=>Kt(o.slice(t.length))).filter(Boolean);return{saved:qt(n),entryCount:e.length}}function $t(t){let e=`${t}=`,o=(document.cookie||"").split(";").map(r=>r.trim()).find(r=>r.startsWith(e))?.slice(e.length);return J.includes(o)?o:null}function Kt(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 qt(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 it(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&&V(`${S}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let r=i.cookieDomain?`;domain=${i.cookieDomain}`:"";V(`${S}=${encodeURIComponent(JSON.stringify(t))};expires=${new Date(n).toUTCString()};path=/${r};SameSite=Lax${o}`)}function V(t){document.cookie=t}var h="webority_attribution",jt=2160*60*60*1e3,Yt=200,R=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"}),at=!1;function ct(){lt("captureAttribution"),Xt();let t=Qt();if(!t)return;let e=P(v());ut(v(),{firstTouch:e?.firstTouch??t,lastTouch:t}),Vt(t)}function Vt(t){let e={event:"acquisition_touch",acquisition_channel:g(t)};t.aiSource&&(e.ai_source=t.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(e)}function T(){return lt("getAttribution"),P(v())}function Qt(){let t=new URLSearchParams(window.location.search),e={};for(let[r,p]of Object.entries(Wt)){let s=I(t.get(r),Yt);s&&(e[p]=s)}let n=I(t.get("referrer"),R)||Jt();if(n&&(e.referrer=n),Object.keys(e).length===0)return null;let o=w(e);return o&&(e.aiSource=o),e.landingPage=I(window.location.pathname,R),e.capturedDateTimeUtc=new Date().toISOString(),e}function Jt(){let t=document.referrer;if(!t)return"";try{return new URL(t).hostname===window.location.hostname?"":I(t,R)}catch{return""}}function Xt(){at||(at=!0,m(t=>{let e=t.marketing?U():x(),n=t.marketing?x():U(),o=P(e);Zt(e),o&&ut(n,o)}))}function v(){return u().marketing?x():U()}function x(){try{return window.localStorage}catch{return null}}function U(){try{return window.sessionStorage}catch{return null}}function P(t){try{let e=t?.getItem(h);if(!e)return null;let n=JSON.parse(e),o=st(n?.firstTouch),r=st(n?.lastTouch);return!o&&!r?(t.removeItem(h),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function ut(t,e){try{t?.setItem(h,JSON.stringify(e))}catch{}}function Zt(t){try{t?.removeItem(h)}catch{}}function st(t){if(!t||typeof t!="object")return null;let e=Date.parse(t.capturedDateTimeUtc);return Number.isFinite(e)&&Date.now()-e<=jt?t:null}function I(t,e){let n=String(t??"").trim();return n?n.slice(0,e):""}function lt(t){if(!C())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"}),he=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});function dt(t,e){return e?t:{...t,opt_out_capturing_by_default:!0}}function ft(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};return e.enabled&&(n.session_recording={maskAllInputs:e.maskAllInputs??!0,...e.maskTextSelector?{maskTextSelector:e.maskTextSelector}:{}}),n}var ne=()=>Promise.resolve().then(()=>(_t(),gt)),d={config:null,posthog:null,loading:null,loadPosthog:ne,stopFollowingConsent:null};function Ct({host:t,clientKey:e,product:n,surface:o,environment:r,enabled:p=!0}={}){if(!C())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!p||!t||!e||r==="Local"||d.config||(d.config={host:t,clientKey:e,product:n,surface:o,environment:r},d.stopFollowingConsent=m(s=>re(s.analytics)),d.loading=Promise.resolve().then(d.loadPosthog).then(s=>oe(s.default??s)).catch(()=>{}))}function oe(t){let e=d.config,n=u().analytics;t.init(e.clientKey,dt(ie(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 re(t){d.posthog&&(t?d.posthog.opt_in_capturing():d.posthog.opt_out_capturing())}function ie(t){return{...ft({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 ae=new Set(Object.values(a));function yt(t,e={}){if(!ae.has(t))return!1;let n=u().analytics,o=T(),r={...e};for(let[p,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${p}_touch_channel`]=g(s),s.aiSource&&(r[`${p}_touch_ai_source`]=s.aiSource));return St(t,r),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...r,event:t}),!0):!1}var se=["scroll","mousemove","touchstart","keydown","pointerdown"],ce="https://www.googletagmanager.com/gtm.js",Et=1500,ue=3e3,le=100,f={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function It(t={}){if(!C())throw new Error("@webority/analytics: call initConsent before loadTags.");if(f.loaded)return;f.loaded=!0;let{gtmId:e,gtmUrl:n=ce,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=()=>G("https://analytics.ahrefs.com/analytics.js",{"data-key":r});p?wt(y=>y.analytics,s):s()}if(e){let s=N(),y=B=>B.analytics||B.marketing&&s,Tt=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),G(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(e)}`)},F=u(),Ot=F.decided&&y(F)?de:fe,z=()=>Ot(Tt);p?wt(y,z):z()}o&&(f.clarityId=o,u().analytics&&pe(),m(s=>{s.analytics&&!f.clarityLoaded?M():f.clarityLoaded&&ht(s)}))}function wt(t,e){if(t(u())){e();return}let n=m(o=>{t(o)&&(n(),e())})}function de(t){document.readyState==="loading"?document.addEventListener("DOMContentLoaded",t,{once:!0}):t()}function fe(t){let e=!1,n=()=>{e||(e=!0,t())};for(let o of se)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,Et):window.addEventListener("load",()=>setTimeout(n,Et),{once:!0})}function pe(){let t=()=>{window.scrollY>le&&M()};window.addEventListener("scroll",t,{passive:!0});let e=setTimeout(M,ue);f.cancelClaritySchedule=()=>{window.removeEventListener("scroll",t),clearTimeout(e)}}function M(){f.cancelClaritySchedule?.(),f.cancelClaritySchedule=null,!(f.clarityLoaded||!f.clarityId)&&(f.clarityLoaded=!0,window.clarity=window.clarity||function(){window.clarity.q=window.clarity.q||[],window.clarity.q.push(arguments)},ht(u()),G(`https://www.clarity.ms/tag/${encodeURIComponent(f.clarityId)}`,{crossorigin:"anonymous"}))}function ht(t){window.clarity("consentv2",{ad_Storage:t.marketing&&N()?"granted":"denied",analytics_Storage:t.analytics?"granted":"denied"})}function G(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 kt(me);})();
|
|
1
|
+
var WeborityAnalytics=(()=>{var k=Object.defineProperty;var kt=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Dt=Object.prototype.hasOwnProperty;var Lt=(t,e,n)=>()=>{if(n)throw n[0];try{return t&&(e=t(t=0)),e}catch(o){throw n=[o],o}};var K=(t,e)=>{for(var n in e)k(t,n,{get:e[n],enumerable:!0})},Rt=(t,e,n,o)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Nt(e))!Dt.call(t,r)&&r!==n&&k(t,r,{get:()=>e[r],enumerable:!(o=kt(e,r))||o.enumerable});return t};var vt=t=>Rt(k({},"__esModule",{value:!0}),t);var yt={};K(yt,{default:()=>ce});function se(){let t=[];t._i=[],t.__SV=1,t.people=[];for(let e of _t)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 _t,Ct,ce,Et=Lt(()=>{_t=["capture","register","opt_in_capturing","opt_out_capturing"];Ct={init(t,e){window.posthog||se(),window.posthog.init(t,e)}};for(let t of _t)Ct[t]=(...e)=>window.posthog[t](...e);ce=Ct});var he={};K(he,{CONSENT_CHANGE_EVENT:()=>L,CONSENT_COOKIE_NAME:()=>h,captureAttribution:()=>lt,channels:()=>c,events:()=>a,getAttribution:()=>A,getConsent:()=>u,initConsent:()=>tt,initSiteAnalytics:()=>St,loadTags:()=>Ot,onConsentChange:()=>_,requiresOptIn:()=>Q,resolveAiSource:()=>w,resolveChannel:()=>y,saveConsent:()=>ot,setConsentRegion:()=>et,trackSiteEvent:()=>It});var xt=["google","googleads","adwords","youtube"],Ut=["meta","facebook","fb","instagram","ig","messenger"],Pt=["linkedin","lnkd"],Mt=["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"]]]),Ft=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],$t=["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 y(t){if(!t)return c.DIRECT;let e=d(t.utmSource);if(e){let r=I(e);if(xt.includes(r))return c.GOOGLE;if(Ut.includes(r))return c.META;if(Pt.includes(r))return c.LINKEDIN;if(Mt.includes(r))return c.MICROSOFT}if(d(t.fbclid))return c.META;if(d(t.gclid)||d(t.gbraid)||d(t.wbraid))return c.GOOGLE;if(d(t.liFatId))return c.LINKEDIN;if(d(t.msclkid))return c.MICROSOFT;if(j(e))return c.AI_ASSISTANT;if(e||d(t.utmMedium)||d(t.utmCampaign)||d(t.utmContent)||d(t.utmTerm))return c.OTHER;let o=W(t.referrer);return o?V(o)?c.AI_ASSISTANT:zt(o)?c.ORGANIC_SEARCH:Gt.some(r=>Y(o,r))?c.ORGANIC_SOCIAL:c.REFERRAL:c.DIRECT}function w(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=I(t);for(let[n,o]of q)if(I(n)===e||o.some(r=>I(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 zt(t){return Ft.includes(t)?!0:$t.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 I(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 Q(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",L="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"],D=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?qt(i.regionCookie):null;let{saved:n,entryCount:o}=Kt();i.saved=n,i.cookieDomain&&o>1&&n&&st(n),Bt(),Ht(),i.saved?x(i.saved):it()&&at()}function et(t){if(v("setConsentRegion"),!Z.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||(at(),rt(n))}function S(){return i.initialized}function nt(){return i.strictOptIn}function R(){return i.adStorage}function u(){v("getConsent");let t=i.saved;if(t)return{essential:!0,analytics:t.analytics,functional:t.functional,marketing:t.marketing,decided:!0};if(it())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 ot(t){v("saveConsent");let e={essential:!0,analytics:t?.analytics===!0,functional:t?.functional===!0,marketing:t?.marketing===!0,timestamp:new Date().toISOString()};st(e),i.saved=e,x(e),rt(u())}function _(t){return D.add(t),()=>D.delete(t)}function rt(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(L,{detail:t}))}function v(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 Ht(){E("set","ads_data_redaction",!0),E("set","url_passthrough",!0)}function it(){return i.requiresOptIn&&!i.strictOptIn&&i.region==="other"}function at(){let t=u();x(t,t.analytics&&i.adStorage)}function x(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 Kt(){let t=`${h}=`,e=(document.cookie||"").split(";").map(o=>o.trim()).filter(o=>o.startsWith(t)),n=e.map(o=>jt(o.slice(t.length))).filter(Boolean);return{saved:Vt(n),entryCount:e.length}}function qt(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 jt(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 Vt(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 st(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",Yt=2160*60*60*1e3,Wt=200,U=500,Qt=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"}),ct=!1;function lt(){ft("captureAttribution"),te();let t=Xt();if(!t)return;let e=$(P());dt(P(),{firstTouch:e?.firstTouch??t,lastTouch:t}),Jt(t)}function Jt(t){let e={event:"acquisition_touch",acquisition_channel:y(t)};t.aiSource&&(e.ai_source=t.aiSource),window.dataLayer=window.dataLayer||[],window.dataLayer.push(e)}function A(){return ft("getAttribution"),$(P())}function Xt(){let t=new URLSearchParams(window.location.search),e={};for(let[r,l]of Object.entries(Qt)){let s=T(t.get(r),Wt);s&&(e[l]=s)}let n=T(t.get("referrer"),U)||Zt();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,U),e.capturedDateTimeUtc=new Date().toISOString(),e}function Zt(){let t=document.referrer;if(!t)return"";try{return new URL(t).hostname===window.location.hostname?"":T(t,U)}catch{return""}}function te(){ct||(ct=!0,_(t=>{let e=t.marketing?F():M(),n=t.marketing?M():F(),o=$(e);ee(e),o&&dt(n,o)}))}function P(){return u().marketing?M():F()}function M(){try{return window.localStorage}catch{return null}}function F(){try{return window.sessionStorage}catch{return null}}function $(t){try{let e=t?.getItem(O);if(!e)return null;let n=JSON.parse(e),o=ut(n?.firstTouch),r=ut(n?.lastTouch);return!o&&!r?(t.removeItem(O),null):{firstTouch:o??r,lastTouch:r??o}}catch{return null}}function dt(t,e){try{t?.setItem(O,JSON.stringify(e))}catch{}}function ee(t){try{t?.removeItem(O)}catch{}}function ut(t){if(!t||typeof t!="object")return null;let e=Date.parse(t.capturedDateTimeUtc);return Number.isFinite(e)&&Date.now()-e<=Yt?t:null}function T(t,e){let n=String(t??"").trim();return n?n.slice(0,e):""}function ft(t){if(!S())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"}),De=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 ne=new Set(["token","code","email","access_token","id_token","state","password"]),oe=/(?:access_token|id_token|token|code|state|email|password)=/i,re=["$current_url","$referrer","$pathname","$initial_current_url","$initial_referrer","$initial_pathname","$session_entry_url","$session_entry_referrer","$session_entry_pathname"];function b(t){if(typeof t!="string")return t;let e=t.indexOf("#"),n=e===-1?t:t.slice(0,e),o=e===-1||oe.test(t.slice(e))?"":t.slice(e),r=n.indexOf("?");if(r===-1)return n+o;let l=n.slice(r+1).split("&"),s=l.filter(m=>!ne.has(ae(m)));if(s.length===l.length)return n+o;let g=n.slice(0,r),C=s.filter(m=>m!=="").join("&");return(C?`${g}?${C}`:g)+o}function pt(t){if(!t||typeof t!="object")return t;let e=t.properties;for(let o of[e,t.$set,t.$set_once,e?.$set,e?.$set_once])ie(o);let n=e?.$heatmap_data;if(n&&typeof n=="object"){let o={};for(let[r,l]of Object.entries(n)){let s=b(r);o[s]=o[s]?o[s].concat(l):l}e.$heatmap_data=o}return t}function ie(t){if(!(!t||typeof t!="object"))for(let e of re)typeof t[e]=="string"&&(t[e]=b(t[e]))}function ae(t){let e=t.split("=",1)[0].replace(/\+/g," ");try{return decodeURIComponent(e).toLowerCase()}catch{return e.toLowerCase()}}function mt(t,e){return e?t:{...t,opt_out_capturing_by_default:!0}}function gt(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,enable_heatmaps:t.heatmaps===!0,capture_exceptions:t.captureExceptions===!0,disable_surveys:!0,disable_product_tours:!0,disable_conversations:!0,advanced_disable_feature_flags:!e.enabled,before_send:pt};return e.enabled&&(n.session_recording={maskAllInputs:e.maskAllInputs??!0,...e.maskTextSelector?{maskTextSelector:e.maskTextSelector}:{},maskCapturedNetworkRequestFn:o=>({...o,name:b(o.name)})}),n}var ue=()=>Promise.resolve().then(()=>(Et(),yt)),f={config:null,posthog:null,loading:null,loadPosthog:ue,stopFollowingConsent:null};function St({host:t,clientKey:e,product:n,surface:o,environment:r,enabled:l=!0,sessionRecording:s,heatmaps:g=!1,captureExceptions:C=!1}={}){if(!S())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!l||!t||!e||r==="Local"||f.config||(f.config={host:t,clientKey:e,product:n,surface:o,environment:r,sessionRecording:s,heatmaps:g,captureExceptions:C},f.stopFollowingConsent=_(m=>de(m.analytics)),f.loading=Promise.resolve().then(f.loadPosthog).then(m=>le(m.default??m)).catch(()=>{}))}function le(t){let e=f.config,n=u().analytics;t.init(e.clientKey,mt(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(),f.posthog=t}function de(t){f.posthog&&(t?f.posthog.opt_in_capturing():f.posthog.opt_out_capturing())}function fe(t){return{...gt({host:t.host,sessionRecording:t.sessionRecording,heatmaps:t.heatmaps,captureExceptions:t.captureExceptions}),capture_pageview:!0}}function ht(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 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[l,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(r[`${l}_touch_channel`]=y(s),s.aiSource&&(r[`${l}_touch_ai_source`]=s.aiSource));return ht(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",wt=1500,_e=3e3,Ce=100,p={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Ot(t={}){if(!S())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 l=nt();if(r){let s=()=>z("https://analytics.ahrefs.com/analytics.js",{"data-key":r});l?Tt(g=>g.analytics,s):s()}if(e){let s=R(),g=H=>H.analytics||H.marketing&&s,C=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),z(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(e)}`)},m=u(),bt=m.decided&&g(m)?ye:Ee,B=()=>bt(C);l?Tt(g,B):B()}o&&(p.clarityId=o,u().analytics&&Se(),_(s=>{s.analytics&&!p.clarityLoaded?G():p.clarityLoaded&&At(s)}))}function Tt(t,e){if(t(u())){e();return}let n=_(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,wt):window.addEventListener("load",()=>setTimeout(n,wt),{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)},At(u()),z(`https://www.clarity.ms/tag/${encodeURIComponent(p.clarityId)}`,{crossorigin:"anonymous"}))}function At(t){window.clarity("consentv2",{ad_Storage:t.marketing&&R()?"granted":"denied",analytics_Storage:t.analytics?"granted":"denied"})}function z(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 vt(he);})();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webority/analytics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"lint": "biome lint ./src ./test",
|
|
23
23
|
"format": "biome format --write ./src ./test",
|
|
24
24
|
"check": "biome check ./src ./test",
|
|
25
|
-
"test": "node test/smoke.mjs && node test/site.mjs && node test/react-native.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"
|
|
26
26
|
},
|
|
27
27
|
"peerDependencies": {
|
|
28
28
|
"posthog-js": "^1.417.1",
|
package/dist/chunk-YDLURFRA.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var pt=["google","googleads","adwords","youtube"],gt=["meta","facebook","fb","instagram","ig","messenger"],_t=["linkedin","lnkd"],Ct=["bing","microsoft","microsoftads","msn"],$=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"]]]),St=["bing.com","duckduckgo.com","search.yahoo.com","ecosia.org","search.brave.com"],yt=["google","yandex"],Et=["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 i=E(e);if(pt.includes(i))return u.GOOGLE;if(gt.includes(i))return u.META;if(_t.includes(i))return u.LINKEDIN;if(Ct.includes(i))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(q(e))return u.AI_ASSISTANT;if(e||d(t.utmMedium)||d(t.utmCampaign)||d(t.utmContent)||d(t.utmTerm))return u.OTHER;let o=Y(t.referrer);return o?j(o)?u.AI_ASSISTANT:It(o)?u.ORGANIC_SEARCH:Et.some(i=>W(o,i))?u.ORGANIC_SOCIAL:u.REFERRAL:u.DIRECT}function O(t){if(!t)return"";let e=q(d(t.utmSource));if(e)return e;let n=Y(t.referrer);return n?j(n):""}function q(t){if(!t)return"";let e=E(t);for(let[n,o]of $)if(E(n)===e||o.some(i=>E(i)===e))return n;return""}function j(t){for(let[e,n]of $)if(n.some(o=>W(t,o)))return e;return""}function It(t){return St.includes(t)?!0:yt.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 W(t,e){return t===e||t.endsWith(`.${e}`)}function Y(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 E(t){return String(t).toLowerCase().replace(/[^\p{L}\p{N}]/gu,"")}function d(t){return String(t??"").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 wt(t){let e=typeof t=="string"?t.trim().toUpperCase():"";return e.length!==2||e==="XX"||e==="T1"?!0:A.includes(e)}var I="webority_cookie_consent",J="webority-consent-change",X=365,r={initialized:!1,requiresOptIn:!0,strictOptIn:!1,adStorage:!0,cookieDays:X,cookieDomain:null,regionCookie:null,region:null,saved:null},Q=["eea","other"],b=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.');r.initialized=!0,r.strictOptIn=e,r.requiresOptIn=e||t.requiresOptIn,r.adStorage=t.adStorage??!e,r.cookieDays=t.cookieDays??X,r.cookieDomain=t.cookieDomain?.trim()??null,r.regionCookie=t.regionCookie??null,r.region=r.regionCookie?Lt(r.regionCookie):null;let{saved:n,entryCount:o}=Nt();r.saved=n,r.cookieDomain&&o>1&&n&&ot(n),At(),bt(),r.saved?D(r.saved):et()&&nt()}function ht(t){if(L("setConsentRegion"),!Q.includes(t))throw new Error('@webority/analytics: setConsentRegion needs "eea" or "other".');let e=c();if(r.region=t,r.saved)return;let n=c();e.analytics===n.analytics&&e.functional===n.functional&&e.marketing===n.marketing||(nt(),tt(n))}function g(){return r.initialized}function Z(){return r.strictOptIn}function N(){return r.adStorage}function c(){L("getConsent");let t=r.saved;if(t)return{essential:!0,analytics:t.analytics,functional:t.functional,marketing:t.marketing,decided:!0};if(et())return{essential:!0,analytics:!0,functional:!0,marketing:!1,decided:!1};let e=!r.requiresOptIn;return{essential:!0,analytics:e,functional:e,marketing:e,decided:!1}}function Ot(t){L("saveConsent");let e={essential:!0,analytics:t?.analytics===!0,functional:t?.functional===!0,marketing:t?.marketing===!0,timestamp:new Date().toISOString()};ot(e),r.saved=e,D(e),tt(c())}function _(t){return b.add(t),()=>b.delete(t)}function tt(t){for(let e of b)try{e(t)}catch(n){queueMicrotask(()=>{throw n})}typeof window?.dispatchEvent=="function"&&typeof CustomEvent=="function"&&window.dispatchEvent(new CustomEvent(J,{detail:t}))}function L(t){if(!r.initialized)throw new Error(`@webority/analytics: call initConsent before ${t}.`)}function C(){window.dataLayer=window.dataLayer||[],window.dataLayer.push(arguments)}function At(){if(r.strictOptIn){C("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}C("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 t=r.adStorage?"granted":"denied";C("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(){C("set","ads_data_redaction",!0),C("set","url_passthrough",!0)}function et(){return r.requiresOptIn&&!r.strictOptIn&&r.region==="other"}function nt(){let t=c();D(t,t.analytics&&r.adStorage)}function D(t,e=t.marketing&&r.adStorage){let n=o=>o?"granted":"denied";C("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 Nt(){let t=`${I}=`,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:kt(n),entryCount:e.length}}function Lt(t){let e=`${t}=`,o=(document.cookie||"").split(";").map(i=>i.trim()).find(i=>i.startsWith(e))?.slice(e.length);return Q.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 kt(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 ot(t){let e=typeof t.timestamp=="string"?Date.parse(t.timestamp):Number.NaN,n=(Number.isNaN(e)?Date.now():e)+r.cookieDays*24*60*60*1e3,o=window.location?.protocol==="https:"?";Secure":"";r.cookieDomain&&V(`${I}=;expires=Thu, 01 Jan 1970 00:00:00 GMT;max-age=0;path=/;SameSite=Lax${o}`);let i=r.cookieDomain?`;domain=${r.cookieDomain}`:"";V(`${I}=${encodeURIComponent(JSON.stringify(t))};expires=${new Date(n).toUTCString()};path=/${i};SameSite=Lax${o}`)}function V(t){document.cookie=t}var T="webority_attribution",Rt=2160*60*60*1e3,vt=200,k=500,xt=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"}),rt=!1;function Ut(){st("captureAttribution"),Ft();let t=Mt();if(!t)return;let e=P(R());at(R(),{firstTouch:e?.firstTouch??t,lastTouch:t}),Pt(t)}function Pt(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 U(){return st("getAttribution"),P(R())}function Mt(){let t=new URLSearchParams(window.location.search),e={};for(let[i,p]of Object.entries(xt)){let s=w(t.get(i),vt);s&&(e[p]=s)}let n=w(t.get("referrer"),k)||Gt();if(n&&(e.referrer=n),Object.keys(e).length===0)return null;let o=O(e);return o&&(e.aiSource=o),e.landingPage=w(window.location.pathname,k),e.capturedDateTimeUtc=new Date().toISOString(),e}function Gt(){let t=document.referrer;if(!t)return"";try{return new URL(t).hostname===window.location.hostname?"":w(t,k)}catch{return""}}function Ft(){rt||(rt=!0,_(t=>{let e=t.marketing?x():v(),n=t.marketing?v():x(),o=P(e);zt(e),o&&at(n,o)}))}function R(){return c().marketing?v():x()}function v(){try{return window.localStorage}catch{return null}}function x(){try{return window.sessionStorage}catch{return null}}function P(t){try{let e=t?.getItem(T);if(!e)return null;let n=JSON.parse(e),o=it(n?.firstTouch),i=it(n?.lastTouch);return!o&&!i?(t.removeItem(T),null):{firstTouch:o??i,lastTouch:i??o}}catch{return null}}function at(t,e){try{t?.setItem(T,JSON.stringify(e))}catch{}}function zt(t){try{t?.removeItem(T)}catch{}}function it(t){if(!t||typeof t!="object")return null;let e=Date.parse(t.capturedDateTimeUtc);return Number.isFinite(e)&&Date.now()-e<=Rt?t:null}function w(t,e){let n=String(t??"").trim();return n?n.slice(0,e):""}function st(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"}),le=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}),de=/^[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},ge=50;function _e(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 h(){return g()&&c().analytics}function Ce(){return Bt()&&h()}async function Ee(){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=M(G(t),h());return n.init(t.clientKey,o),n.register({product:t.product,surface:t.surface,environment:t.environment}),h()?n.opt_in_capturing({captureEventName:!1}):n.opt_out_capturing(),l.posthogInstance=n,n}).catch(e=>{throw l.posthogInitPromise=null,e}),l.posthogInitPromise}function M(t,e){return e?t:{...t,opt_out_capturing_by_default:!0}}function G(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};return e.enabled&&(n.session_recording={maskAllInputs:e.maskAllInputs??!0,...e.maskTextSelector?{maskTextSelector:e.maskTextSelector}:{}}),n}var Ht=()=>import("posthog-js"),f={config:null,posthog:null,loading:null,loadPosthog:Ht,stopFollowingConsent:null};function Kt({host:t,clientKey:e,product:n,surface:o,environment:i,enabled:p=!0}={}){if(!g())throw new Error("@webority/analytics: call initConsent before initSiteAnalytics.");!p||!t||!e||i==="Local"||f.config||(f.config={host:t,clientKey:e,product:n,surface:o,environment:i},f.stopFollowingConsent=_(s=>qt(s.analytics)),f.loading=Promise.resolve().then(f.loadPosthog).then(s=>$t(s.default??s)).catch(()=>{}))}function $t(t){let e=f.config,n=c().analytics;t.init(e.clientKey,M(jt(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 qt(t){f.posthog&&(t?f.posthog.opt_in_capturing():f.posthog.opt_out_capturing())}function jt(t){return{...G({host:t.host}),capture_pageview:!0}}function ct(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 Wt=new Set(Object.values(a));function Yt(t,e={}){if(!Wt.has(t))return!1;let n=c().analytics,o=U(),i={...e};for(let[p,s]of[["first",o?.firstTouch],["last",o?.lastTouch]])s&&(i[`${p}_touch_channel`]=S(s),s.aiSource&&(i[`${p}_touch_ai_source`]=s.aiSource));return ct(t,i),n?(window.dataLayer=window.dataLayer||[],window.dataLayer.push({...i,event:t}),!0):!1}var Vt=["scroll","mousemove","touchstart","keydown","pointerdown"],Jt="https://www.googletagmanager.com/gtm.js",ut=1500,Xt=3e3,Qt=100,m={loaded:!1,clarityId:null,clarityLoaded:!1,cancelClaritySchedule:null};function Zt(t={}){if(!g())throw new Error("@webority/analytics: call initConsent before loadTags.");if(m.loaded)return;m.loaded=!0;let{gtmId:e,gtmUrl:n=Jt,clarityId:o,ahrefsKey:i}=t;if(typeof n!="string"||n.trim()==="")throw new Error("@webority/analytics: gtmUrl must be a non-empty string.");let p=Z();if(i){let s=()=>z("https://analytics.ahrefs.com/analytics.js",{"data-key":i});p?lt(y=>y.analytics,s):s()}if(e){let s=N(),y=K=>K.analytics||K.marketing&&s,ft=()=>{window.dataLayer=window.dataLayer||[],window.dataLayer.push({"gtm.start":Date.now(),event:"gtm.js"}),z(`${n}${n.includes("?")?"&":"?"}id=${encodeURIComponent(e)}`)},B=c(),mt=B.decided&&y(B)?te:ee,H=()=>mt(ft);p?lt(y,H):H()}o&&(m.clarityId=o,c().analytics&&ne(),_(s=>{s.analytics&&!m.clarityLoaded?F():m.clarityLoaded&&dt(s)}))}function lt(t,e){if(t(c())){e();return}let n=_(o=>{t(o)&&(n(),e())})}function te(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 Vt)window.addEventListener(o,n,{once:!0,passive:!0});document.readyState==="complete"?setTimeout(n,ut):window.addEventListener("load",()=>setTimeout(n,ut),{once:!0})}function ne(){let t=()=>{window.scrollY>Qt&&F()};window.addEventListener("scroll",t,{passive:!0});let e=setTimeout(F,Xt);m.cancelClaritySchedule=()=>{window.removeEventListener("scroll",t),clearTimeout(e)}}function F(){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)},dt(c()),z(`https://www.clarity.ms/tag/${encodeURIComponent(m.clarityId)}`,{crossorigin:"anonymous"}))}function dt(t){window.clarity("consentv2",{ad_Storage:t.marketing&&N()?"granted":"denied",analytics_Storage:t.analytics?"granted":"denied"})}function z(t,e={}){let n=document.createElement("script");n.async=!0,n.src=t;for(let[o,i]of Object.entries(e))n.setAttribute(o,i);document.head.appendChild(n)}export{wt as a,I as b,J as c,Tt as d,ht as e,g as f,c as g,Ot as h,_ as i,a as j,le as k,de as l,l as m,ge as n,_e as o,Bt as p,h as q,Ce as r,Ee as s,u as t,S as u,O as v,Ut as w,U as x,Kt as y,Yt as z,Zt as A};
|