@webority/analytics 0.19.0 → 0.19.2

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